pyam: analysis & visualization <br /> of integrated-assessment and macro-energy scenarios
=========================================================================================
[![license](https://img.shields.io/badge/license-Apache%202.0-black)](https://github.com/IAMconsortium/pyam/blob/main/LICENSE)
[![pypi](https://img.shields.io/pypi/v/pyam-iamc.svg)](https://pypi.python.org/pypi/pyam-iamc/)
[![conda](https://img.shields.io/conda/vn/conda-forge/pyam?logo=anaconda)](https://anaconda.org/conda-forge/pyam)
[![last-release](https://img.shields.io/github/release-date/iamconsortium/pyam?logo=github&label=last%20release)](https://github.com/IAMconsortium/pyam/releases)
<!-- replace python version by dynamic reference to pypi once Python versions are configured there -->
[![Code style: ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![python](https://img.shields.io/badge/python-≥3.10,<3.14-blue?logo=python&logoColor=white)](https://github.com/IAMconsortium/pyam)
[![pytest](https://img.shields.io/github/actions/workflow/status/iamconsortium/pyam/pytest.yml?logo=GitHub&label=pytest)](https://github.com/IAMconsortium/pyam/actions/workflows/pytest.yml)
[![ReadTheDocs](https://readthedocs.org/projects/pyam-iamc/badge/?version=latest)](https://pyam-iamc.readthedocs.io/en/latest/?badge=latest)
[![codecov](https://codecov.io/gh/IAMconsortium/pyam/branch/main/graph/badge.svg)](https://codecov.io/gh/IAMconsortium/pyam)
[![doi](https://zenodo.org/badge/113359260.svg)](https://doi.org/10.5281/zenodo.1470400)
[![ORE](https://img.shields.io/badge/ORE-10.12688/openreseurope.13633.2-blue)](https://doi.org/10.12688/openreseurope.13633.2)
[![joss](https://joss.theoj.org/papers/10.21105/joss.01095/status.svg)](https://joss.theoj.org/papers/10.21105/joss.01095)
[![groups.io](https://img.shields.io/badge/mail-groups.io-blue)](https://pyam.groups.io/g/forum)
[![slack](https://img.shields.io/badge/chat-Slack-orange)](https://pyam-iamc.slack.com)
****
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](https://pyam-iamc.readthedocs.io)!
### 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
### 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](https://www.iamconsortium.org) (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](https://www.cd-links.org) project*
*via the The [IAMC 1.5°C Scenario Explorer](https://data.ece.iiasa.ac.at/iamc-1.5c-explorer)*
#### Subannual time resolution
The package also supports timeseries data with a *sub-annual time resolution*:
- Continuous-time data using the Python [datetime format](https://docs.python.org/3/library/datetime.html)
- "Representative timeslices" (e.g., "winter-night", "summer-day")
using the pyam *extra-columns* feature
[Read the docs](https://pyam-iamc.readthedocs.io/en/stable/data.html)
for more information about the pyam data model
or look at the [data-table tutorial](https://pyam-iamc.readthedocs.io/en/stable/tutorials/data_table_formats.html)
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](docs/tutorials/pyam_first_steps.ipynb).
All tutorials are available in rendered format (i.e., with output) as part of
the [online documentation](https://pyam-iamc.readthedocs.io/en/stable/tutorials.html).
The source code of the tutorials notebooks is available
in the folder [docs/tutorials](docs/tutorials) of this repository.
Documentation
-------------
The comprehensive documentation is hosted on [Read the Docs](https://pyam-iamc.readthedocs.io).
The documentation pages can be built locally,
refer to the instruction in [docs/README](docs/README.md).
Authors & Contributors
----------------------
This package was initiated and is currently maintained
by Matthew Gidden ([@gidden](https://github.com/gidden))
and Daniel Huppmann ([@danielhuppmann](https://github.com/danielhuppmann/)).
See the complete [list of contributors](AUTHORS.rst).
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](https://github.com/IAMconsortium/pyam/tree/main/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](https://doi.org/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](https://doi.org/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](LICENSE) and [NOTICE](NOTICE.md) for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/IAMconsortium/pyam",
"name": "pyam-iamc",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.14,>=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Matthew Gidden",
"author_email": "gidden@iiasa.ac.at",
"download_url": "https://files.pythonhosted.org/packages/da/8d/9598f38cceed935f83778b53c7368408b5c293e84d33734b3a34c1a54ffe/pyam_iamc-3.0.0.tar.gz",
"platform": null,
"description": "pyam: analysis & visualization <br /> of integrated-assessment and macro-energy scenarios\n=========================================================================================\n\n[![license](https://img.shields.io/badge/license-Apache%202.0-black)](https://github.com/IAMconsortium/pyam/blob/main/LICENSE)\n[![pypi](https://img.shields.io/pypi/v/pyam-iamc.svg)](https://pypi.python.org/pypi/pyam-iamc/)\n[![conda](https://img.shields.io/conda/vn/conda-forge/pyam?logo=anaconda)](https://anaconda.org/conda-forge/pyam)\n[![last-release](https://img.shields.io/github/release-date/iamconsortium/pyam?logo=github&label=last%20release)](https://github.com/IAMconsortium/pyam/releases)\n\n<!-- replace python version by dynamic reference to pypi once Python versions are configured there -->\n[![Code style: ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![python](https://img.shields.io/badge/python-\u22653.10,<3.14-blue?logo=python&logoColor=white)](https://github.com/IAMconsortium/pyam)\n[![pytest](https://img.shields.io/github/actions/workflow/status/iamconsortium/pyam/pytest.yml?logo=GitHub&label=pytest)](https://github.com/IAMconsortium/pyam/actions/workflows/pytest.yml)\n[![ReadTheDocs](https://readthedocs.org/projects/pyam-iamc/badge/?version=latest)](https://pyam-iamc.readthedocs.io/en/latest/?badge=latest)\n[![codecov](https://codecov.io/gh/IAMconsortium/pyam/branch/main/graph/badge.svg)](https://codecov.io/gh/IAMconsortium/pyam)\n\n[![doi](https://zenodo.org/badge/113359260.svg)](https://doi.org/10.5281/zenodo.1470400)\n[![ORE](https://img.shields.io/badge/ORE-10.12688/openreseurope.13633.2-blue)](https://doi.org/10.12688/openreseurope.13633.2)\n[![joss](https://joss.theoj.org/papers/10.21105/joss.01095/status.svg)](https://joss.theoj.org/papers/10.21105/joss.01095)\n[![groups.io](https://img.shields.io/badge/mail-groups.io-blue)](https://pyam.groups.io/g/forum)\n[![slack](https://img.shields.io/badge/chat-Slack-orange)](https://pyam-iamc.slack.com)\n\n****\n\nOverview and scope\n------------------\n\nThe open-source Python package **pyam** provides a suite of tools and functions\nfor analyzing and visualizing input data (i.e., assumptions/parametrization) \nand results (model output) of integrated-assessment models,\nmacro-energy scenarios, energy systems analysis, and sectoral studies.\n\nThe comprehensive **documentation** is hosted on [Read the Docs](https://pyam-iamc.readthedocs.io)!\n\n### Key features\n\n - Simple analysis of scenario timeseries data with an interface similar in feel & style\n to the widely used [pandas.DataFrame](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html)\n - Advanced visualization and plotting functions\n (see the [gallery](https://pyam-iamc.readthedocs.io/en/stable/gallery/index.html))\n - Scripted validation and processing of scenario data and results\n\n### Timeseries types & data formats\n\n#### Yearly data\n\nThe pyam package was initially developed to work with the *IAMC template*,\na timeseries format for *yearly data* developed and used by the\n[Integrated Assessment Modeling Consortium](https://www.iamconsortium.org) (IAMC).\n\n| **model** | **scenario** | **region** | **variable** | **unit** | **2005** | **2010** | **2015** |\n|-----------|--------------|------------|----------------|----------|----------|----------|----------|\n| MESSAGE | CD-LINKS 400 | World | Primary Energy | EJ/y | 462.5 | 500.7 | ... |\n| ... | ... | ... | ... | ... | ... | ... | ... |\n\n*An illustration of the IAMC template using a scenario\nfrom the [CD-LINKS](https://www.cd-links.org) project* \n*via the The [IAMC 1.5\u00b0C Scenario Explorer](https://data.ece.iiasa.ac.at/iamc-1.5c-explorer)*\n\n#### Subannual time resolution\n\nThe package also supports timeseries data with a *sub-annual time resolution*:\n - Continuous-time data using the Python [datetime format](https://docs.python.org/3/library/datetime.html)\n - \"Representative timeslices\" (e.g., \"winter-night\", \"summer-day\")\n using the pyam *extra-columns* feature \n \n\n[Read the docs](https://pyam-iamc.readthedocs.io/en/stable/data.html)\nfor more information about the pyam data model\nor look at the [data-table tutorial](https://pyam-iamc.readthedocs.io/en/stable/tutorials/data_table_formats.html)\nto see how to cast from a variety of timeseries formats to a **pyam.IamDataFrame**.\n\nInstallation\n------------\n\n### pip\n\n> [!WARNING]\n> The **pyam** package is distributed on https://pypi.org under the name **pyam-iamc**.\n\nhttps://pypi.org/project/pyam-iamc/\n\nPlease install using\n```\npip install pyam-iamc\n```\n\n### conda\n\nhttps://anaconda.org/conda-forge/pyam\n\nPlease install using\n```\nconda install pyam\n```\n\n### install from source\n\nTo install from source (including all dependencies) after cloning this repository, run\n\n```\npip install --editable .[tests,optional_io_formats,tutorials]\n```\n\nTo check that the package was installed correctly, run\n\n```\npytest tests\n```\n\nTutorials\n---------\n\nAn introduction to the basic functions is shown\nin [the \"first-steps\" notebook](docs/tutorials/pyam_first_steps.ipynb).\n\nAll tutorials are available in rendered format (i.e., with output) as part of\nthe [online documentation](https://pyam-iamc.readthedocs.io/en/stable/tutorials.html).\nThe source code of the tutorials notebooks is available\nin the folder [docs/tutorials](docs/tutorials) of this repository.\n\nDocumentation\n-------------\n\nThe comprehensive documentation is hosted on [Read the Docs](https://pyam-iamc.readthedocs.io).\n\nThe documentation pages can be built locally,\nrefer to the instruction in [docs/README](docs/README.md).\n\nAuthors & Contributors\n----------------------\n\nThis package was initiated and is currently maintained\nby Matthew Gidden ([@gidden](https://github.com/gidden))\nand Daniel Huppmann ([@danielhuppmann](https://github.com/danielhuppmann/)).\nSee the complete [list of contributors](AUTHORS.rst).\n\nThe core maintenance of the package is done by \nthe *Scenario Services & Scientific Software* research theme\nat the IIASA Energy, Climate, and Enviroment program.\nVisit https://software.ece.iiasa.ac.at for more information.\n\nScientific publications\n-----------------------\n\nThe following manuscripts describe the **pyam** package\nat specific stages of development.\n\nThe source documents are available in\nthe [manuscripts](https://github.com/IAMconsortium/pyam/tree/main/manuscripts) folder\nof the GitHub repository.\n\n### Release v1.0 (June 2021)\n\nPublished to mark the first major release of the **pyam** package.\n\n> Daniel Huppmann, Matthew Gidden, Zebedee Nicholls, Jonas H\u00f6rsch, Robin Lamboll,\nPaul Natsuo Kishimoto, Thorsten Burandt, Oliver Fricko, Edward Byers, Jarmo Kikstra,\nMaarten Brinkerink, Maik Budzinski, Florian Maczek, Sebastian Zwickl-Bernhard,\nLara Welder, Erik Francisco Alvarez Quispe, and Christopher J. Smith.\n*pyam: Analysis and visualisation of integrated assessment and macro-energy scenarios.*\n**Open Research Europe**, 2021.\ndoi: [10.12688/openreseurope.13633.2](https://doi.org/10.12688/openreseurope.13633.2)\n\n### Release v0.1.2 (November 2018)\n\nPublished following the successful application of **pyam**\nin the IPCC SR15 and the Horizon 2020 CRESCENDO project.\n\n> Matthew Gidden and Daniel Huppmann.\n*pyam: a Python package for the analysis and visualization of models of the interaction\nof climate, human, and environmental systems.*\n**Journal of Open Source Software (JOSS)**, 4(33):1095, 2019.\ndoi: [10.21105/joss.01095](https://doi.org/10.21105/joss.01095).\n\nLicense\n-------\n\nCopyright 2017-2024 IIASA and the pyam developer team\n\nThe **pyam** package is licensed\nunder the Apache License, Version 2.0 (the \"License\"); \nsee [LICENSE](LICENSE) and [NOTICE](NOTICE.md) for details.\n\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Analysis & visualization of integrated-assessment scenarios",
"version": "3.0.0",
"project_urls": {
"Documentation": "https://pyam-iamc.readthedocs.io",
"Homepage": "https://github.com/IAMconsortium/pyam",
"Repository": "https://github.com/IAMconsortium/pyam"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9ba910d819bad953f2a83b01e602c1f64cb3c3b3ad0366f3198b995be76910c3",
"md5": "e21a4d2f48b5c19685604ee10726eb39",
"sha256": "54f2b79b286e8c78083184c3b275bd8de7f8107bf6c0694ce4e1f1c9ad561378"
},
"downloads": -1,
"filename": "pyam_iamc-3.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e21a4d2f48b5c19685604ee10726eb39",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.14,>=3.10",
"size": 99422,
"upload_time": "2024-12-19T13:40:49",
"upload_time_iso_8601": "2024-12-19T13:40:49.564906Z",
"url": "https://files.pythonhosted.org/packages/9b/a9/10d819bad953f2a83b01e602c1f64cb3c3b3ad0366f3198b995be76910c3/pyam_iamc-3.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "da8d9598f38cceed935f83778b53c7368408b5c293e84d33734b3a34c1a54ffe",
"md5": "5c54adacf67769bf508f3796d9760ea6",
"sha256": "ef333da4d239e66516ff31801879cac38384e8ebed70fe7705eec77af1305530"
},
"downloads": -1,
"filename": "pyam_iamc-3.0.0.tar.gz",
"has_sig": false,
"md5_digest": "5c54adacf67769bf508f3796d9760ea6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.14,>=3.10",
"size": 91089,
"upload_time": "2024-12-19T13:40:52",
"upload_time_iso_8601": "2024-12-19T13:40:52.289522Z",
"url": "https://files.pythonhosted.org/packages/da/8d/9598f38cceed935f83778b53c7368408b5c293e84d33734b3a34c1a54ffe/pyam_iamc-3.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-19 13:40:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "IAMconsortium",
"github_project": "pyam",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyam-iamc"
}