pyam
A Python package for data-wrangling, analysis and visualization of integrated-assessment scenarios and energy systems modeling results.
https://github.com/iamconsortium/pyam
Category: Climate Change
Sub Category: Integrated Assessment and Climate Policy
Keywords
analysis energy-systems iamc-format integrated-assessment integrated-assessment-scenarios macro-energy modeling pyam scenario scenario-data timeseries-format visualization
Keywords from Contributors
energy-system gams strategic-planning integrated-assessment-model transformations climate measuring units language-model parallel
Last synced: about 12 hours ago
JSON representation
Repository metadata
Analysis & visualization of energy & climate scenarios
- Host: GitHub
- URL: https://github.com/iamconsortium/pyam
- Owner: IAMconsortium
- License: apache-2.0
- Created: 2017-12-06T19:35:45.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2025-04-17T15:10:50.000Z (9 days ago)
- Last Synced: 2025-04-22T08:43:33.606Z (5 days ago)
- Topics: analysis, energy-systems, iamc-format, integrated-assessment, integrated-assessment-scenarios, macro-energy, modeling, pyam, scenario, scenario-data, timeseries-format, visualization
- Language: Python
- Homepage: https://pyam-iamc.readthedocs.io/
- Size: 58.5 MB
- Stars: 251
- Watchers: 12
- Forks: 124
- Open Issues: 93
- Releases: 36
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Citation: CITATION.cff
- Authors: AUTHORS.rst
README.md
pyam: analysis & visualization of integrated-assessment and macro-energy scenarios
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.
License
Copyright 2017-2024 IIASA and the pyam developer team
The pyam package is licensed
under the Apache License, Version 2.0 (the "License");
see LICENSE and NOTICE for details.
Citation (CITATION.cff)
cff-version: 1.1.0 message: "If you use this package, please cite the corresponding manuscript in Open Research Europe." title: "pyam: analysis and visualization of integrated-assessment and macro-energy scenarios" repository: https://github.com/iamconsortium/pyam version: 1.0 license: Apache-2.0 journal: Open Research Europe doi: 10.12688/openreseurope.13633.2 authors: - family-names: Huppmann given-names: Daniel orcid: https://orcid.org/0000-0002-7729-7389 - family-names: Gidden given-names: Matthew J. orcid: https://orcid.org/0000-0003-0687-414X - family-names: Nicholls given-names: Zebedee orcid: https://orcid.org/0000-0002-4767-2723 - family-names: Hörsch given-names: Jonas orcid: https://orcid.org/0000-0001-9438-767X - family-names: Lamboll given-names: Robin D. orcid: https://orcid.org/0000-0002-8410-037X - family-names: Kishimoto given-names: Paul Natsuo - family-names: Burandt given-names: Thorsten - family-names: Fricko given-names: Oliver - family-names: Byers given-names: Edward - family-names: Kikstra given-names: Jarmo S. orcid: https://orcid.org/0000-0001-9405-1228 - family-names: Brinkerink given-names: Maarten - family-names: Budzinski given-names: Maik orcid: https://orcid.org/0000-0003-2879-1193 - family-names: Maczek given-names: Florian - family-names: Zwickl-Bernhard given-names: Sebastian - family-names: Welder given-names: Lara - family-names: Alvarez Quispe given-names: Erik Francisco orcid: https://orcid.org/0000-0003-3862-9747 - family-names: Smith given-names: Christopher J. keywords: - integrated assessment - energy systems - macro-energy - modelling - scenario analysis - data visualisation - Python package
Owner metadata
- Name: Integrated Assessment Modeling Consortium (IAMC)
- Login: IAMconsortium
- Email:
- Kind: organization
- Description:
- Website: https://www.iamconsortium.org
- Location:
- Twitter: IAMConsortium
- Company:
- Icon url: https://avatars.githubusercontent.com/u/19565808?v=4
- Repositories: 4
- Last ynced at: 2023-02-28T22:35:22.613Z
- Profile URL: https://github.com/IAMconsortium
GitHub Events
Total
- Create event: 9
- Release event: 2
- Issues event: 6
- Watch event: 21
- Delete event: 4
- Issue comment event: 45
- Push event: 21
- Pull request review comment event: 33
- Pull request review event: 27
- Pull request event: 41
- Fork event: 6
Last Year
- Create event: 9
- Release event: 2
- Issues event: 6
- Watch event: 21
- Delete event: 4
- Issue comment event: 45
- Push event: 21
- Pull request review comment event: 33
- Pull request review event: 27
- Pull request event: 41
- Fork event: 6
Committers metadata
Last synced: 6 days ago
Total Commits: 659
Total Committers: 33
Avg Commits per committer: 19.97
Development Distribution Score (DDS): 0.334
Commits in past year: 32
Committers in past year: 7
Avg Commits per committer in past year: 4.571
Development Distribution Score (DDS) in past year: 0.281
Name | Commits | |
---|---|---|
Daniel Huppmann | dh@d****t | 439 |
Matthew Gidden | m****n@g****m | 113 |
Zeb Nicholls | z****s@c****g | 21 |
Jonas Hörsch | j****h@c****g | 17 |
Rlamboll | r****l@h****k | 8 |
Nikolay Kushin | z****h@g****m | 7 |
Fridolin Glatter | 8****2 | 5 |
Philip Hackstock | p****k@g****t | 5 |
OFR-IIASA | f****o@i****t | 4 |
pjuergens | 7****s | 3 |
dependabot[bot] | 4****] | 3 |
Pietro Monticone | 3****e | 3 |
Maik Budzinski | 5****z | 3 |
Jarmo Kikstra | 4****a | 3 |
Edward Byers | b****s@i****t | 3 |
David Almeida | 5****a | 2 |
Mathias Hauser | m****e | 2 |
Paul Natsuo Kishimoto | m****l@p****e | 2 |
dependabot-preview[bot] | 2****] | 2 |
rossursino | 4****o | 1 |
lumbric | l****c@g****m | 1 |
Thorsten Burandt | 2****t | 1 |
Suvayu Ali | s****u | 1 |
Philipp S. Sommer | C****p | 1 |
Michael Pimmer | b****b@f****t | 1 |
Linh Ho | 4****o | 1 |
Laura Wienpahl | 5****n | 1 |
Karthikeyan Singaravelan | t****i@g****m | 1 |
Kamil | 3****5 | 1 |
Jan Ivar Korsbakken | j****n@g****m | 1 |
and 3 more... |
Committer domains:
- iiasa.ac.at: 2
- fonfon.at: 1
- paul.kishimoto.name: 1
- gmx.at: 1
- hotmail.co.uk: 1
- climateanalytics.org: 1
- climate-energy-college.org: 1
- dergelbesalon.at: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 281
Total pull requests: 644
Average time to close issues: 4 months
Average time to close pull requests: 11 days
Total issue authors: 55
Total pull request authors: 37
Average comments per issue: 2.59
Average comments per pull request: 3.04
Merged pull request: 539
Bot issues: 0
Bot pull requests: 17
Past year issues: 15
Past year pull requests: 48
Past year average time to close issues: 6 days
Past year average time to close pull requests: 10 days
Past year issue authors: 10
Past year pull request authors: 9
Past year average comments per issue: 2.2
Past year average comments per pull request: 1.52
Past year merged pull request: 35
Past year bot issues: 0
Past year bot pull requests: 8
Top Issue Authors
- danielhuppmann (95)
- gidden (53)
- znicholls (19)
- Rlamboll (16)
- phackstock (12)
- byersiiasa (11)
- pjuergens (7)
- khaeru (6)
- stefaneidelloth (4)
- l-welder (3)
- glatterf42 (3)
- jkikstra (2)
- willu47 (2)
- lucyhager (2)
- maxtav (2)
Top Pull Request Authors
- danielhuppmann (384)
- gidden (102)
- znicholls (38)
- coroa (21)
- dependabot[bot] (10)
- Rlamboll (8)
- zikolach (8)
- phackstock (7)
- dependabot-preview[bot] (7)
- glatterf42 (7)
- quant12345 (4)
- pjuergens (4)
- OFR-IIASA (4)
- dc-almeida (3)
- byersiiasa (3)
Top Issue Labels
- enhancement (37)
- bug (36)
- plotting (13)
- good first issue (12)
- question (10)
- iiasa-api (9)
- datetime (5)
- dependencies (5)
- data-ops (5)
- tutorial (4)
- data back-end (4)
- help wanted (3)
- logging (3)
- next release (3)
- downscaling (1)
- extra-cols (1)
Top Pull Request Labels
- dependencies (31)
- enhancement (25)
- bug (18)
- plotting (18)
- data back-end (13)
- iiasa-api (11)
- data-ops (10)
- datetime (6)
- tutorial (5)
- generic-index-cols (3)
- extra-cols (2)
- logging (2)
- question (1)
- debiasing (1)
- R (1)
- downscaling (1)
- next release (1)
Package metadata
- Total packages: 4
-
Total downloads:
- pypi: 29,998 last-month
- Total docker downloads: 8
- Total dependent packages: 16 (may contain duplicates)
- Total dependent repositories: 27 (may contain duplicates)
- Total versions: 131
- Total maintainers: 2
pypi.org: pyam-iamc
Analysis & visualization of integrated-assessment scenarios
- Homepage: https://github.com/IAMconsortium/pyam
- Documentation: https://pyam-iamc.readthedocs.io
- Licenses: Apache-2.0
- Latest release: 3.0.0 (published 4 months ago)
- Last Synced: 2025-04-25T14:34:39.909Z (1 day ago)
- Versions: 36
- Dependent Packages: 13
- Dependent Repositories: 21
- Downloads: 29,998 Last month
- Docker Downloads: 8
-
Rankings:
- Dependent packages count: 0.938%
- Dependent repos count: 3.193%
- Downloads: 3.366%
- Average: 3.456%
- Docker downloads count: 3.836%
- Forks count: 4.542%
- Stargazers count: 4.859%
- Maintainers (2)
proxy.golang.org: github.com/iamconsortium/pyam
- Homepage:
- Documentation: https://pkg.go.dev/github.com/iamconsortium/pyam#section-documentation
- Licenses: apache-2.0
- Latest release: v3.0.0+incompatible (published 4 months ago)
- Last Synced: 2025-04-25T14:34:40.107Z (1 day ago)
- Versions: 36
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 1.622%
- Average: 4.057%
- Dependent packages count: 6.492%
proxy.golang.org: github.com/IAMconsortium/pyam
- Homepage:
- Documentation: https://pkg.go.dev/github.com/IAMconsortium/pyam#section-documentation
- Licenses:
- Latest release: v3.0.0+incompatible (published 4 months ago)
- Last Synced: 2025-04-25T14:34:40.271Z (1 day ago)
- Versions: 36
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.999%
- Average: 8.173%
- Dependent repos count: 9.346%
conda-forge.org: pyam
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. **Key features** - Simple analysis of scenario timeseries data with an interface similar in feel & style to the widely used [pandas.DataFrame](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html) - Advanced visualization and plotting functions (see the [gallery](https://pyam-iamc.readthedocs.io/en/stable/gallery/index.html)) - Scripted validation and processing of scenario data and results
- Homepage: https://pyam-iamc.readthedocs.io/
- Licenses: Apache-2.0
- Latest release: 1.6.0 (published over 2 years ago)
- Last Synced: 2025-04-01T02:12:24.810Z (26 days ago)
- Versions: 23
- Dependent Packages: 3
- Dependent Repositories: 6
-
Rankings:
- Dependent repos count: 13.836%
- Dependent packages count: 15.638%
- Forks count: 18.498%
- Average: 18.848%
- Stargazers count: 27.422%
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- r-lib/actions/setup-pandoc v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- r-lib/actions/setup-pandoc v1 composite
- actions/cache v2 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish v1.4.1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v1 composite
- actions/checkout v3 composite
- psf/black stable composite
Score: 19.64783371232893