{"id":13949047,"url":"https://github.com/IAMconsortium/pyam","last_synced_at":"2025-07-20T11:30:42.104Z","repository":{"id":29178176,"uuid":"113359260","full_name":"IAMconsortium/pyam","owner":"IAMconsortium","description":"Analysis \u0026 visualization of energy \u0026 climate scenarios","archived":false,"fork":false,"pushed_at":"2025-07-17T13:07:46.000Z","size":61161,"stargazers_count":260,"open_issues_count":96,"forks_count":126,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-07-18T16:35:18.497Z","etag":null,"topics":["analysis","energy-systems","iamc-format","integrated-assessment","integrated-assessment-scenarios","macro-energy","modeling","pyam","scenario","scenario-data","timeseries-format","visualization"],"latest_commit_sha":null,"homepage":"https://pyam-iamc.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IAMconsortium.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.rst","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-12-06T19:35:45.000Z","updated_at":"2025-07-17T13:07:50.000Z","dependencies_parsed_at":"2023-09-21T19:33:04.700Z","dependency_job_id":"f06ecc76-87b6-4f1f-afc4-4eb92e187985","html_url":"https://github.com/IAMconsortium/pyam","commit_stats":{"total_commits":645,"total_committers":31,"mean_commits":"20.806451612903224","dds":"0.33488372093023255","last_synced_commit":"735c243724a14ed4fde389ecc3f3cde304c1ce6f"},"previous_names":[],"tags_count":65,"template":false,"template_full_name":null,"purl":"pkg:github/IAMconsortium/pyam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IAMconsortium%2Fpyam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IAMconsortium%2Fpyam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IAMconsortium%2Fpyam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IAMconsortium%2Fpyam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IAMconsortium","download_url":"https://codeload.github.com/IAMconsortium/pyam/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IAMconsortium%2Fpyam/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265846870,"owners_count":23838160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["analysis","energy-systems","iamc-format","integrated-assessment","integrated-assessment-scenarios","macro-energy","modeling","pyam","scenario","scenario-data","timeseries-format","visualization"],"created_at":"2024-08-08T05:01:36.965Z","updated_at":"2025-07-20T11:30:42.096Z","avatar_url":"https://github.com/IAMconsortium.png","language":"Python","funding_links":[],"categories":["Integrated Assessment Models","Climate Change"],"sub_categories":["Integrated Assessment and Climate Policy"],"readme":"pyam: analysis \u0026 visualization \u003cbr /\u003e 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\u0026label=last%20release)](https://github.com/IAMconsortium/pyam/releases)\n\n\u003c!-- replace python version by dynamic reference to pypi once Python versions are configured there --\u003e\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-≥3.10,\u003c3.14-blue?logo=python\u0026logoColor=white)](https://github.com/IAMconsortium/pyam)\n[![pytest](https://img.shields.io/github/actions/workflow/status/iamconsortium/pyam/pytest.yml?logo=GitHub\u0026label=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 \u0026 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 \u0026 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°C 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\u003e [!WARNING]\n\u003e 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 \u0026 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 \u0026 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\u003e Daniel Huppmann, Matthew Gidden, Zebedee Nicholls, Jonas Hörsch, 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\u003e 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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIAMconsortium%2Fpyam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FIAMconsortium%2Fpyam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIAMconsortium%2Fpyam/lists"}