Changelog#
Versions follow Semantic Versioning (<major>.<minor>.<patch>).
Backward incompatible (breaking) changes will only be introduced in major versions with advance notice in the Deprecations section of releases.
Pandas-OpenSCM v0.9.2 (2026-05-26)#
🆕 Features#
- Updated the implementation to support pandas>=3.0 (#42)
🔧 Trivial/Internal Changes#
Pandas-OpenSCM v0.9.1 (2026-03-05)#
🎉 Improvements#
- Loosened the pin of attrs version (#40)
Pandas-OpenSCM v0.9.0 (2025-08-29)#
⚠️ Breaking Changes#
- Renamed
dftopobjin [pandas_openscm.index_manipulation.update_index_levels_func] and [pandas_openscm.index_manipulation.update_index_levels_from_other_func] (#39)
🆕 Features#
-
- pd.Index accessor [pandas_openscm.accessors.index.PandasIndexOpenSCMAccessor]
- ensure multiindex related functionality: [pandas_openscm.accessors.series.PandasSeriesOpenSCMAccessor.ensure_index_is_multiindex] and [pandas_openscm.accessors.index.PandasIndexOpenSCMAccessor.ensure_is_multiindex]
(#36) - More methods for [pandas_openscm.accessors.series.PandasSeriesOpenSCMAccessor], moving towards feature completeness (#25), specifically [pandas_openscm.accessors.series.PandasSeriesOpenSCMAccessor.fix_index_name_after_groupby_quantile], [pandas_openscm.accessors.series.PandasSeriesOpenSCMAccessor.groupby_except], [pandas_openscm.accessors.series.PandasSeriesOpenSCMAccessor.mi_loc] and [pandas_openscm.accessors.series.PandasSeriesOpenSCMAccessor.to_category_index] (#37) - More methods for [pandas_openscm.accessors.series.PandasSeriesOpenSCMAccessor] and [pandas_openscm.accessors.index.PandasIndexOpenSCMAccessor], leading to feature completeness (#25), specifically [pandas_openscm.accessors.series.PandasSeriesOpenSCMAccessor.update_index_levels], [pandas_openscm.accessors.series.PandasSeriesOpenSCMAccessor.update_index_levels_from_other], [pandas_openscm.accessors.index.PandasIndexOpenSCMAccessor.update_levels] and [pandas_openscm.accessors.index.PandasIndexOpenSCMAccessor.update_levels_from_other] (#39)
🔧 Trivial/Internal Changes#
Pandas-OpenSCM v0.8.3 (2025-08-09)#
🔧 Trivial/Internal Changes#
Pandas-OpenSCM v0.8.2 (2025-08-09)#
📚 Improved Documentation#
- Fixed up the issues related to the docs rendering (#29) and simplified the documentation of the accessors (#30)
🔧 Trivial/Internal Changes#
Pandas-OpenSCM v0.8.1 (2025-08-08)#
🎉 Improvements#
- pandas_openscm.index_manipulation.update_levels_from_other now supports updating levels based on multiple other levels from the index at once (see the docstring for examples). This update also propagates to pandas_openscm.index_manipulation.update_index_levels_from_other_func and pandas_openscm.accessors.dataframe.PandasDataFrameOpenSCMAccessor.update_index_levels_from_other. (#28)
Pandas-OpenSCM v0.8.0 (2025-08-05)#
⚠️ Breaking Changes#
-
- Renamed pandas_openscm.register_pandas_accessor to pandas_openscm.register_pandas_accessors (with a trailing 's') as accessors are now also registered for pandas Series
- Renamed pandas_openscm.accessors.DataFramePandasOpenSCMAccessor to
pandas_openscm.accessors.PandasDataFrameOpenSCMAccessor - Renamed
df_unit_leveltounit_levelinpandas_openscm.accessors.PandasDataFrameOpenSCMAccessor.convert_unit_like - Renamed
dftopobjin pandas_openscm.index_manipulation.set_index_levels_func, pandas_openscm.unit_conversion.convert_unit_from_target_series, pandas_openscm.unit_conversion.convert_unit and pandas_openscm.unit_conversion.convert_unit_like
(#24)
🆕 Features#
- Added some accessors for pandas Series via pandas_openscm.accessors.PandasSeriesOpenSCMAccessor. Note that this is not feature complete yet, tracking in #25 (#24)
🎉 Improvements#
- pandas_openscm.index_manipulation.set_index_levels_func, pandas_openscm.unit_conversion.convert_unit_from_target_series, pandas_openscm.unit_conversion.convert_unit and pandas_openscm.unit_conversion.convert_unit_like now explicitly support pd.Series (#24)
🔧 Trivial/Internal Changes#
Pandas-OpenSCM v0.7.0 (2025-07-24)#
🆕 Features#
-
- Added unit conversion APIs: [pandas_openscm.unit_conversion.convert_unit] and [pandas_openscm.unit_conversion.convert_unit_like] and the corresponding accessors
pandas_openscm.accessors.PandasDataFrameOpenSCMAccessor.convert_unitandpandas_openscm.accessors.PandasDataFrameOpenSCMAccessor.convert_unit_like
- Added unit conversion APIs: [pandas_openscm.unit_conversion.convert_unit] and [pandas_openscm.unit_conversion.convert_unit_like] and the corresponding accessors
- Added the helper: [pandas_openscm.index_manipulation.ensure_is_multiindex] and the corresponding accessors
pandas_openscm.accessors.PandasDataFrameOpenSCMAccessor.ensure_index_is_multiindexandpandas_openscm.accessors.PandasDataFrameOpenSCMAccessor.eiim
(#23)
Pandas-OpenSCM v0.6.0 (2025-07-16)#
⚠️ Breaking Changes#
- Updated minimum numpy version to 1.26.0, the earliest that is not in end-of-life. Fixed the numpy pin for Python 3.13 to >=2.1.0, the first numpy version which supported Python 3.13. (#21)
🔧 Trivial/Internal Changes#
Pandas-OpenSCM v0.5.1 (2025-05-23)#
🆕 Features#
- Added pandas_openscm.index_manipulation.set_levels and the corresponding accessor
pandas_openscm.accessors.PandasDataFrameOpenSCMAccessor.set_index_levels(#18)
Pandas-OpenSCM v0.5.0 (2025-05-10)#
⚠️ Breaking Changes#
-
- Required
db_dirto be passed when initialising pandas_openscm.db.reader.OpenSCMDBReader. This is required to support portable databases
- Required
- Renamed
out_column_typetoout_columns_typein pandas_openscm.io.load_timeseries_csv for consistency with the rest of the API - Bumped the minimum supported version of filelock to 3.12.3, as only this version handles automatic creation of directories for the lock
(#19)
🆕 Features#
-
- Made the database portable by only storing relative paths in the file map. This allows the database to be converted to an archive with pandas_openscm.db.OpenSCMDB.to_gzipped_tar_archive and then unpacked elsewhere with pandas_openscm.db.OpenSCMDB.from_gzipped_tar_archive
- Added pandas_openscm.db.path_handling to clarify how we handle paths internally to support portability
- Added support for specifying the name of the output columns via pandas_openscm.db.OpenSCMDB.load, pandas_openscm.db.reader.OpenSCMDBReader.load and pandas_openscm.io.load_timeseries_csv
(#19)
🎉 Improvements#
-
- Added the explicit pandas_openscm.db.backends module to handle the backends we support more clearly
- Added pandas_openscm.db.backends.DataBackendOptions.guess_backend and pandas_openscm.db.backends.IndexBackendOptions.guess_backend to allow for move convenient inference of the backend to use with different files
(#19)
🔧 Trivial/Internal Changes#
Pandas-OpenSCM v0.4.2 (2025-05-05)#
🆕 Features#
- Add compare_close function to compare two dataframes. (#16)
- Added pandas_openscm.index_manipulation.update_levels_from_other and the corresponding accessor
pandas_openscm.accessors.PandasDataFrameOpenSCMAccessor.update_index_levels_from_other(#17)
Pandas-OpenSCM v0.4.1 (2025-04-12)#
🐛 Bug Fixes#
- Fixed up pandas_openscm.index_manipulation.update_levels.
It now drops unused levels by default first, to avoid applying the updates to values that aren't being used.
The same fixes are propagated to
pandas_openscm.accessors.PandasDataFrameOpenSCMAccessor.update_index_levelsand pandas_openscm.index_manipulation.update_index_levels_func. (#14)
Pandas-OpenSCM v0.4.0 (2025-04-11)#
🆕 Features#
- Added pandas_openscm.index_manipulation.update_levels and the corresponding accessor
pandas_openscm.accessors.PandasDataFrameOpenSCMAccessor.update_index_levels(#13)
Pandas-OpenSCM v0.3.3 (2025-03-30)#
🆕 Features#
-
- Added a method for converting to long data, see
pandas_openscm.accessors.PandasDataFrameOpenSCMAccessor.to_long_data(#12)
- Added a method for converting to long data, see
Pandas-OpenSCM v0.3.2 (2025-03-27)#
🆕 Features#
- Added release of the package on conda (#9)
- Added a basic de-serialisation, i.e. IO, module pandas_openscm.io (#11)
🔧 Trivial/Internal Changes#
Pandas-OpenSCM v0.3.1 (2025-03-23)#
🔧 Trivial/Internal Changes#
Pandas-OpenSCM v0.3.0 (2025-03-23)#
🆕 Features#
-
- Added the plotting module, pandas_openscm.plotting and associated accessors.
- Added the grouping module, pandas_openscm.grouping and associated accessors.
(#7)
🐛 Bug Fixes#
- Added LICENCE (#5)
🔧 Trivial/Internal Changes#
Pandas-OpenSCM v0.2.0 (2025-03-17)#
🆕 Features#
- Added the database module, see pandas_openscm.db (#2)
Pandas-OpenSCM v0.1.0 (2025-02-09)#
No significant changes.