Skip to content

Releases: IAMconsortium/pyam

Release v3.0.0

19 Dec 13:40
44888a2
Compare
Choose a tag to compare

Release v3.0.0

Highlights

  • Implement reading and writing of netcdf files implemented by @LinhHo
  • Remove automated sorting of timeseries data for performance improvement
  • Add support Python 3.13

API changes

The internal object that holds the timeseries data is not automatically sorted any more, so the pd.DataFrame returned from IamDataFrame.data may change when upgrading to pyam v3.0. You can use the new method IamDataFrame.sort_data() to explicitly sort the timeseries data by the data dimensions.

Individual updates

  • #901 Add support for Python 3.13
  • #899 Add to_netcdf() method
  • #896 Add sort_data() method
  • #896 Sort columns of timeseries() with mixed time domain
  • #893 No sorting of timeseries data on initialization or append
  • #879 Add read_netcdf() function

New Contributors

Full Changelog: v2.3.0...v3.0.0

Release v2.3.0

03 Nov 15:21
fed9410
Compare
Choose a tag to compare

Release v2.3.0

Highlights

This release includes a new option to filter by variable depth.

Individual updates

  • #886 Implement filtering by variable depth
  • #880 Use pd.Series.iloc[pos] for forward-compatibility
  • #877 Support engine and other pd.ExcelFile keywords

New Contributors

Release v2.2.4

07 Aug 11:06
da98de0
Compare
Choose a tag to compare

Release v2.2.4

Support filtering by a measurand argument with tuples of variable and units and improve the filter() documentation.

Release v2.2.3

17 Jun 19:12
1f4942e
Compare
Choose a tag to compare

Release v2.2.3

Patch release to set minimum requirement of ixmp4 to latest version and pin numpy to <2.0.

Release v2.2.2

19 Apr 12:03
7b46e61
Compare
Choose a tag to compare

Release v2.2.2

Patch release to correctly handle regexp-characters ([]{}?^) in filter() and better handling of the logging-configuration.

Release v2.2.1

17 Apr 10:11
688f890
Compare
Choose a tag to compare

Release v2.2.1

Patch release to explicitly include the requests dependency, which was dropped from ixmp4 with release 0.8.1.

Release v2.2.0

21 Mar 12:27
Compare
Choose a tag to compare

Release v2.2.0

Highlights

  • Direct integration with ixmp4 platforms hosted by IIASA
  • More flexible and intuitive signature for data validation and categorization
  • Support for Python 3.12 and migrate to poetry & ruff

Dependency changes

  • Replace pandas-datareader by wbdata to query World Bank data sources
  • Bumped minimum version of pandas and numpy to fit ixmp4's requirements.

Individual updates

  • #838 Support filters when reading from an ixmp4 platform
  • #837 Support filters as direct keyword arguments for categorize() similar to validate() signature (see #804)
  • #832 Improve the test-suite for the ixmp4 integration
  • #827 Migrate to poetry for project management
  • #830 Implement more consistent logging behavior with ixmp4
  • #829 Add pyam.iiasa.platforms() for a list of available platforms
  • #826 Add read_ixmp4() function and extend integration test
  • #825 Add support for Python 3.12
  • #824 Update ixmp4 requirement to >=0.7.1
  • #821 Introduce ruff
  • #818 Use context manager for reading Excel file
  • #813 Fix a corner case in region-aggregation with missing data
  • #797 Add to_ixmp4() method to write to an ixmp4 platform

Release v2.1.0

15 Dec 12:13
bbab81f
Compare
Choose a tag to compare

Release v2.1.0

Highlights

  • More flexible and intuitive options for data validation
  • Improved support for region-aggregation with inconsistent data/weight index
  • Fix wrong color codes for AR6 Illustrative Pathways

Individual updates

  • #804 Support filters as direct keyword arguments for validate() method
  • #801 Support initializing with meta dataframe in long format
  • #796 Raise explicit error message if no connection to IIASA manager service
  • #794 Fix wrong color codes for AR6 Illustrative Pathways
  • #792 Support region-aggregation with weights-index >> data-index

Release v2.0.0

12 Sep 20:26
fd6d855
Compare
Choose a tag to compare

Release v2.0.0

Highlights

  • Use ixmp4 as dependency for better integration with the IIASA Scenario Explorer database infrastructure
  • Refactor the "exclude"-column for validation as own attribute (instead of a column in meta)
  • Implement a cleaner package structure and reduce exposure of internal methods/modules

Dependency changes

Support for Python 3.7-3.9 was removed due to an incompatible dependency.

PR #766 added the ixmp4 package for better integration with the IIASA scenario database infrastructure.

API changes

Credentials to access the IIASA scenario database infrastructure should now be managed using the ixmp4 package (see here).

The column exclude of the meta indicators was moved to a new attribute exclude. All validation methods are refactored such that the argument exclude_on_fail changes this new attribute (see PR #759).

The term "exclude" is now an illegal column for (timeseries) data and meta indicators. When importing an xlsx file created with pyam < 2.0, which has an "exclude" column in the "meta" sheet, the column is moved to the new exclude attribute with a log message.

PR #764 implemented a more restrictive approach to exposing pyam-internals at the package level, requiring a more explicit import of these methods. For example, use pyam.utils.to_list() instead of pyam.to_list().

PR #773 removed the map_regions() method. This feature is now implemented via the nomenclature.RegionProcessor class.

Individual updates

  • #773 Remove map_regions() and default mappings csv
  • #772 Show all missing rows for require_data()
  • #771 Refactor to start a separate validation module
  • #766 Use ixmp4 for credentials to access a Scenario Explorer database
  • #764 Clean-up exposing internal methods and attributes
  • #763 Implement a fix against carrying over unused levels when initializing from an indexed pandas object
  • #759 Excise "exclude" column from meta and add a own attribute
  • #747 Drop support for Python 3.7

Release v1.9.0

22 May 10:03
110bfa9
Compare
Choose a tag to compare

Release v1.9.0

Highlights

  • Ensure compatibility with pandas v2.0
  • Add Python 3.11 to supported versions
  • Fix an issue when concatenating a list of pd.DataFrame objects

Individual updates

  • #745 Add Python 3.11 to supported versions
  • #742 Fix an issue when concatenating only pd.DataFrame objects
  • #739 Ensure compatibility with pandas v2.0