Skip to content

cube_diffs table output is not working with pandas 2.0

With pandas 2.0 the following error is raised when two datasets can not be combined:

Traceback (most recent call last):
  File "/home/sm_joalo/.conda/envs/climix-test/bin/climix", line 8, in <module>
    sys.exit(main())
  File "/home/sm_joalo/dev/repos/climix/climix/main.py", line 353, in main
    do_main(
  File "/home/sm_joalo/dev/repos/climix/climix/main.py", line 316, in do_main
    input_data = prepare_input_data(datafiles, climix_config)
  File "/home/sm_joalo/dev/repos/climix/climix/datahandling.py", line 266, in prepare_input_data
    find_cube_differences(
  File "/home/sm_joalo/dev/repos/climix/climix/util/cube_diffs.py", line 330, in find_cube_differences
    print_dataframe(dataframe, var_name)
  File "/home/sm_joalo/dev/repos/climix/climix/util/cube_diffs.py", line 296, in print_dataframe
    with pd.option_context('display.max_colwidth', MAX_COL_WIDTH,
  File "/home/sm_joalo/.conda/envs/climix-test/lib/python3.10/site-packages/pandas/_config/config.py", line 441, in __enter__
    self.undo = [(pat, _get_option(pat, silent=True)) for pat, val in self.ops]
  File "/home/sm_joalo/.conda/envs/climix-test/lib/python3.10/site-packages/pandas/_config/config.py", line 441, in <listcomp>
    self.undo = [(pat, _get_option(pat, silent=True)) for pat, val in self.ops]
  File "/home/sm_joalo/.conda/envs/climix-test/lib/python3.10/site-packages/pandas/_config/config.py", line 135, in _get_option
    key = _get_single_key(pat, silent)
  File "/home/sm_joalo/.conda/envs/climix-test/lib/python3.10/site-packages/pandas/_config/config.py", line 121, in _get_single_key
    raise OptionError(f"No such keys(s): {repr(pat)}")
pandas._config.config.OptionError: No such keys(s): 'display.column_space'

Expected output would be the table of cube differences.

It seems the display.column_space option, used in print_dataframe(...), has been deprecated and removed in pandas 2.0 (I believe we have used pandas 1.5.x before).