Releases: IAMconsortium/pyam
Release v1.8.0
Release v1.8.0
Highlights
- Performance improvement at initialization and in internal operations
- Update the IIASA-Connection API in preparation of a new database backend
- Improve the tutorials
API changes
In anticipation of a change in the ixmp API, the argument default
in the IIASA-Connection methods was renamed to default_only
.
Individual updates
- #734 Validation for illegal column names in
data
- #733 Change IIASA-Connection argument to
default_only
- #732 Fix a few typos in tutorials
- #731 Add fast-path to initialization for sufficient multi-index
- #730 Refactor initialization code
- #729 Improve performance at initialization
- #723 Ensure correct order of
time
attribute
Release v1.7.0
Release v1.7.0
Highlights
- Add a feature to compute (weighted) quantiles for scenario data
- Implement a
require_data()
method for scenario validation - Remove 'xls' as by-default-supported file format to harmonize behavior with pandas
API changes
The method compute_bias()
was removed; please use compute.bias()
instead.
Dependency changes
Remove xlrd as a dependency; please install it explicitly for reading .xls
files.
Bump minimum version of pandas to v1.2.0 to support automatic engine selection.
Individual updates
- #715 Add a
require_data()
method - #713 Informative error when using lists for filter by level,
level
now a forbidden column. - #709 Hotfix ops to support
fillna=0
- #708 Remove 'xls' as by-default-supported file format
- #686 Add support for (weighted) quantile timeseries as
df.compute.quantiles()
with a tutorial
Release v1.6.0
Release v1.6.0
Highlights
- Improved performance for writing data to xlsx
- Support for filtering by model-scenario pairs with an
index
argument - Better integration with the IIASA Scenario Explorer database API
Dependency changes
PR #701 added xlsxwriter
as a dependency for better performance.
Individual updates
- #702 Migrate
compute_bias()
tocompute
module - #701 Add xlsxwriter as dependency to improve
to_excel()
performance - #699 Add filter options to IIASA API
index()
,meta()
andproperties()
methods - #697 Add warning if IIASA API returns empty result
- #696 Added ability to load preferentially from a local cache
- #695 Remove unused meta levels during initialization
- #688 Remove ixmp as optional dependency
- #684 Use new IIASA-manager API with token refresh
- #679
set_meta()
now supports pandas.DataFrame as an argument - #674 Support filtering data by model-scenario pairs with the
index
argument tofilter()
andslice()
Release v1.5.0
Release v1.5.0
Highlights
This release introduces an IamSlice class that allows faster filtering and inspection of an IamDataFrame.
Individual updates
Release v1.4.0
Release v1.4.0
Highlights
- Add colors used for IPCC AR6 WGIII scenario analysis
- Support scenario data with mixed 'year' and 'datetime' domain (beta)
- Add explicit support for Python 3.10
Dependency changes
Following a change of the UNFCCC data inventory API (see pik-primap/unfccc_di_api#39), PR #647 updated the dependencies to require unfccc-di-api>=3.0.1
.
API changes
PR #598 added support for mixed time-domains, i.e., where the time column has both integer
and datetime
items. As part of the changes, filtering an IamDataFrame with yearly data using arguments
that are only relevant for the datetime-domain (e.g., month, hour, time) returns an empty IamDataFrame. Previously, this raised an error.
Individual updates
Release v1.3.1
Release v1.3.1
This is a patch release to ensure compatibility with pandas v1.4.0.
Release v1.3.0
Release v1.3.0
Highlights
- Implement a
compute
module for derived timeseries indicators - Add a
diff()
method similar to the correspondingpandas.DataFrame.diff()
- Improve error reporting on IamDataFrame initialization
Individual updates
- #608 The method
assert_iamframe_equals()
passes if an all-nan-col is present - #604 Add an annualized-growth-rate method
- #602 Add a
compute
module/accessor and a learning-rate method - #600 Add a
diff()
method - #592 Fix for running in jupyter-lab notebooks
- #590 Update expected figures of plotting tests to use matplotlib 3.5
- #586 Improve error reporting for non-numeric data in any value column
Release v1.2.0
Release v1.2.0
Highlights
- Update the source code of the manuscript in Open Research Europe to reflect changes based on reviewer comments
- Increase the performance of the IamDataFrame initialization
- Add an experimental "profiler" module for performance benchmarking
Dependency changes
The dependencies were updated to require xlrd>=2.0
(previously <2.0
) and openpyxl
was added as a dependency.
Individual updates
- #585 Include revisions to the ORE manuscript source code following acceptance/publication
- #583 Add profiler module for performance benchmarking
- #579 Increase performance of IamDataFrame initialization
- #572 Unpinned the requirements for xlrd and added openpyxl as a requirement to ensure ongoing support of both
.xlsx
and.xls
files out of the box
Release v1.1.0
Release v1.1.0
Highlights
- Update pyam-colors to be consistent with IPCC AR6 palette
- Enable
colors
keyword argument as list inplot.pie()
- Fix compatibility with pandas v1.3
API changes
PR #559 marked the attribute _LONG_IDX
as deprecated. Please use dimensions
instead.
Individual updates
- #566 Updated AR6 default color pallet to final version used by WG1
- #564 Add an example with a secondary axis to the plotting gallery
- #563 Enable
colors
keyword argument as list inplot.pie()
- #562 Add
get_data_column()
, refactor filtering by the time domain - #560 Add a feature to
swap_year_for_time()
- #559 Add attribute
dimensions
, fix compatibility with pandas v1.3 - #557 Swap time for year keeping subannual resolution
- #556 Set explicit minimum numpy version (1.19.0)
Release v1.0.0
Release v1.0.0
This is the first major release of the pyam package.
The release coincides with the publication of a manuscript in Open Research Europe (doi: 10.12688/openreseurope.13633.1).
API changes compared to the latest previous release
As part of release 1.0, several features where removed that were marked as deprecated in previous releases:
- The setters
df.data
anddf[<col>]
were removed.
Please useIamDataFrame(<data>)
instead. - The methog
df.interpolate()
now returns a new IamDataFrame by default.
Please usedf.interpolate(inplace=True)
to retain the previous behavior. - It is no longer allowed to pass credentials to access an IIASA Scenario Explorer as a clear-text
creds
keyword argument
when callingpyam.iiasa.Connection()
orpyam.read_iiasa()
.
Please usepyam.iiasa.set_config(<user>, <password>)
to store credentials on your machine. - The methods
models()
,scenarios()
,regions()
andvariables()
were removed.
Please use the attributesmodel
,scenario
,region
,variable
,unit
andunit_mapping
instead. - All plotting functions following the notation
df.<plot-type>()
were removed.
Please usedf.plot.<type>()
instead.