Skip to content

Releases: openscm/scmdata

v0.19.0

01 Jun 16:43

Choose a tag to compare

scmdata v0.19.0 (2026-06-01)

Features

  • Added {func}scmdata.groupby.RunGroupby.apply_parallel to perform parallelise large groupby operations (#262)

Bug Fixes

  • Restored compatibility with pandas 3.0 and xarray 2025+ by patching four places where the older APIs are no longer accepted:

    • RunGroupBy.__init__ previously called numpy.issubdtype(col.dtype, numpy.number) to detect numeric meta columns, which raises TypeError on pandas.StringDtype (the new default for inferred string columns). Routed through pandas.api.types.is_numeric_dtype.
    • _xarray._many_to_one ended with Series[0] positional indexing, which pandas 3 has removed. Replaced with .iloc[0].
    • ScmRun.convert_unit, _binary_op and _unary_op wrote results via self._df.values[:] = .... pandas 3 makes DataFrame.values return a read-only array, so the in-place write raises ValueError. Switched to self._df.iloc[:, :] = ...; the binary/unary op sites additionally cast their right-hand side to float so that comparison ops (lt, eq, ne, ...) which return bool arrays continue to land as float64 in the underlying numeric block, preserving the prior silent-cast behaviour.
    • _read_nc passed use_cftime=True to xarray.load_dataset, which xarray 2025+ deprecates in favour of decode_times=xr.coders.CFDatetimeCoder(use_cftime=True). The deprecation otherwise fires a FutureWarning on every ScmRun.from_nc() call. Routes through the new API where available and falls back to the bare kwarg on xarray older than 2024.09.

    The previously-failing ScmRun.groupby, ScmRun.to_xarray, ScmRun.convert_unit, ScmRun.to_nc / ScmRun.from_nc, and the arithmetic and comparison operators on ScmRun now all run on both pandas 2 and pandas 3.

    (#321)

v0.18.0

30 Apr 15:43

Choose a tag to compare

Announcements

  • Fixed incompatibility with the latest xarray version(s)

Changes

v0.17.0

29 Jan 07:29

Choose a tag to compare

Announcements

  • We have fixed up our API to handle deprecated APIs in pandas and seaborn, you should no longer receive a million deprecation warnings when using scmdata 🎉

Changes

  • Change 1
  • 112f969 bump: version 0.16.1 -> 0.17.0
  • ea5bcb5 Apply seaborn pin
  • 8643ec3 Fix yet another deprecation warning
  • fd48c82 More info on failure
  • b546fb8 Add missing comment
  • 7798045 Fix up tests
  • 55836b5 CHANGELOG
  • b22baa5 Remove seaborn misuse too
  • dfbc9fb Workaround new pandas behaviour
  • 3b61470 chore: Update pre-commit version
  • 7c72a4e chore: Update precommit hook version
  • b1ff87b chore(deps-dev): update ruff requirement from 0.1.1 to 0.1.6
  • fb79b7c chore(deps-dev): update black requirement from 23.9.1 to 23.11.0
  • 4163759 chore: Remove unused import
  • 8381349 chore(deps-dev): update ruff requirement from 0.0.288 to 0.1.1

v0.16.1

18 Oct 15:16

Choose a tag to compare

Announcements

Hot fix release to fix an error in the CI that occurred when releasing v0.16.0. Announcements are unchanged and repeated below.

Breaking Changes

  • Dropped support for Python 3.8 and relaxed requirements of pint and pyam-iamc

    This has led to a number of follow up issues:

    • documentation of our supported dependency versions (#277)
    • moving to NEP29 (#276)
    • a full review of dependencies (#278)
    • need to test against development versions of upstream repositories (#279)

    (#275)

Improvements

  • Added support for {func}scmdata.run_append to append {class}pd.DataFrame objects

    This provides some performance benefits when performing large groupby operations in certain circumstances by
    reducing the number of required append operations. (#262)

Trivial/Internal Changes

Changes

v0.16.0

18 Oct 14:37

Choose a tag to compare

Announcements

Breaking Changes

  • Dropped support for Python 3.8 and relaxed requirements of pint and pyam-iamc

    This has led to a number of follow up issues:

    • documentation of our supported dependency versions (#277)
    • moving to NEP29 (#276)
    • a full review of dependencies (#278)
    • need to test against development versions of upstream repositories (#279)

    (#275)

Improvements

  • Added support for {func}scmdata.run_append to append {class}pd.DataFrame objects

    This provides some performance benefits when performing large groupby operations in certain circumstances by
    reducing the number of required append operations. (#262)

Trivial/Internal Changes

Changes

v0.15.3

18 Oct 08:32

Choose a tag to compare

Announcements

  • Pandas requirement has been updated to allow anything >=1.1

Changes

  • 4f9c3ea bump: version 0.15.2 -> 0.15.3
  • 4a63fb6 Add installation steps to bump
  • 97c3f17 Fix CI
  • 64a60c2 Fix tests
  • 5533020 Update pandas requirement from <2,>=1.1 to >=1.1,<3
  • 500aa22 chore: Allow mypy job to fail until resolved
  • 099b2db chore: Add Mika to the author list
  • 44a0c19 chore: Fix easy doctests
  • 9982914 chore: Remove optional group from install
  • 8143c64 chore: Fix tests
  • 4ccdd59 chore: Fix docs
  • 3c00053 chore: Fix ruff checks
  • 279bdb1 chore: Cleanup readme
  • 95544ea chore: Bumping versions for numpy and black
  • bf08733 chore: Initial migration