Skip to main content

pyam: analysis & visualization
of integrated-assessment and macro-energy scenarios

Copyright 2017-2026 IIASA and the pyam developer team
Licensed under the Apache License, Version 2.0; see LICENSE and NOTICE for details.

license pypi conda last-release

Code style: ruff python pytest ReadTheDocs codecov

doi ORE joss groups.io slack


Overview and scope

The open-source Python package pyam provides a suite of tools and functions for analyzing and visualizing input data (i.e., assumptions/parametrization) and results (model output) of integrated-assessment models, macro-energy scenarios, energy systems analysis, and sectoral studies.

The comprehensive documentation is hosted on Read the Docs!

Key features

  • Simple analysis of scenario timeseries data with an interface similar in feel & style to the widely used pandas.DataFrame
  • Advanced visualization and plotting functions (see the gallery)
  • Scripted validation and processing of scenario data and results

Timeseries types & data formats

Yearly data

The pyam package was initially developed to work with the IAMC template, a timeseries format for yearly data developed and used by the Integrated Assessment Modeling Consortium (IAMC).

model scenario region variable unit 2005 2010 2015
MESSAGE CD-LINKS 400 World Primary Energy EJ/y 462.5 500.7 ...
... ... ... ... ... ... ... ...

An illustration of the IAMC template using a scenario from the CD-LINKS project
via the The IAMC 1.5°C Scenario Explorer

Subannual time resolution

The package also supports timeseries data with a sub-annual time resolution:

  • Continuous-time data using the Python datetime format
  • "Representative timeslices" (e.g., "winter-night", "summer-day") using the pyam extra-columns feature

Read the docs for more information about the pyam data model or look at the data-table tutorial to see how to cast from a variety of timeseries formats to a pyam.IamDataFrame.

Installation

pip

[!WARNING] The pyam package is distributed on https://pypi.org under the name pyam-iamc.

https://pypi.org/project/pyam-iamc/

Please install using

pip install pyam-iamc

conda

https://anaconda.org/conda-forge/pyam

Please install using

conda install pyam

install from source

To install from source (including all dependencies) after cloning this repository, run

pip install --editable .[tests,optional_io_formats,tutorials]

To check that the package was installed correctly, run

pytest tests

Tutorials

An introduction to the basic functions is shown in the "first-steps" notebook.

All tutorials are available in rendered format (i.e., with output) as part of the online documentation. The source code of the tutorials notebooks is available in the folder docs/tutorials of this repository.

Documentation

The comprehensive documentation is hosted on Read the Docs.

The documentation pages can be built locally, refer to the instruction in docs/README.

Authors & Contributors

This package was initiated and is currently maintained by Matthew Gidden (@gidden) and Daniel Huppmann (@danielhuppmann). See the complete list of contributors.

The core maintenance of the package is done by the Scenario Services & Scientific Software research theme at the IIASA Energy, Climate, and Enviroment program. Visit https://software.ece.iiasa.ac.at for more information.

Scientific publications

The following manuscripts describe the pyam package at specific stages of development.

The source documents are available in the manuscripts folder of the GitHub repository.

Release v1.0 (June 2021)

Published to mark the first major release of the pyam package.

Daniel Huppmann, Matthew Gidden, Zebedee Nicholls, Jonas Hörsch, Robin Lamboll, Paul Natsuo Kishimoto, Thorsten Burandt, Oliver Fricko, Edward Byers, Jarmo Kikstra, Maarten Brinkerink, Maik Budzinski, Florian Maczek, Sebastian Zwickl-Bernhard, Lara Welder, Erik Francisco Alvarez Quispe, and Christopher J. Smith. pyam: Analysis and visualisation of integrated assessment and macro-energy scenarios. Open Research Europe, 2021. doi: 10.12688/openreseurope.13633.2

Release v0.1.2 (November 2018)

Published following the successful application of pyam in the IPCC SR15 and the Horizon 2020 CRESCENDO project.

Matthew Gidden and Daniel Huppmann. pyam: a Python package for the analysis and visualization of models of the interaction of climate, human, and environmental systems. Journal of Open Source Software (JOSS), 4(33):1095, 2019. doi: 10.21105/joss.01095.

Metadata

Release files for pyam-iamc 3.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyam-iamc 3.5.0
File Size Uploaded
pyam_iamc-3.5.0.tar.gz 92.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyam-iamc 3.5.0
File Interpreter ABI Platform
pyam_iamc-3.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 194.9 kB

Release files / pyam_iamc-3.5.0.tar.gz

Download URL pyam_iamc-3.5.0.tar.gz
Size 92.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6b1229cbd92802f0eacd4110f6f93212740607453ced8fa61efd50a58bfc53d1
BLAKE2b-256 checksum
How to use checksums
7d1d7f4b5f2caead3dcec90234d530132b0a3a1c1f183a288d3edbc069bc7555
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.

Transparency log

Release files / pyam_iamc-3.5.0-py3-none-any.whl

Download URL pyam_iamc-3.5.0-py3-none-any.whl
Size 102.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cf9f66d6fa66c89ffbb204d14b5e6f99ee443bd5572523e71ebe6563bf798f81
BLAKE2b-256 checksum
How to use checksums
2a2bc04c3a3c764505cae147f92defce5faaa489881ec70d666f4c2bcd972479
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.5.0 This release

2 release files

3.4.0

2 release files

3.3.2

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.3.0

2 release files

2.2.4

2 release files

2.2.3

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

1 release file

1.0.0

1 release file

0.13.0

1 release file

0.12.0

1 release file

0.11.0

1 release file

0.10.0

1 release file

0.9.0

1 release file

0.8.0

1 release file

0.7.0

1 release file

0.6.0

1 release file

0.5.0

1 release file

0.4.1

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.2

2 release files

0.1.1

3 release files

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page