https://github.com/iiasa/ixmp4
A data warehouse for high-powered scenario analysis in the domain of integrated assessment of climate change and energy systems modeling
https://github.com/iiasa/ixmp4
database energy-systems iamc integrated-assessment modelling python scenario-analysis
Last synced: about 2 months ago
JSON representation
A data warehouse for high-powered scenario analysis in the domain of integrated assessment of climate change and energy systems modeling
- Host: GitHub
- URL: https://github.com/iiasa/ixmp4
- Owner: iiasa
- License: mit
- Created: 2023-04-18T10:07:18.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2026-01-12T22:08:01.000Z (about 2 months ago)
- Last Synced: 2026-01-13T02:41:47.730Z (about 2 months ago)
- Topics: database, energy-systems, iamc, integrated-assessment, modelling, python, scenario-analysis
- Language: Python
- Homepage: https://docs.ece.iiasa.ac.at/ixmp4
- Size: 34.8 MB
- Stars: 14
- Watchers: 5
- Forks: 7
- Open Issues: 43
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# The ixmp4 package for scenario data management
Copyright (c) 2023-2024 IIASA - Energy, Climate, and Environment Program (ECE)
[](https://github.com/iiasa/ixmp4/blob/main/LICENSE)
[](https://github.com/iiasa/ixmp4)
[](https://github.com/astral-sh/ruff)
[](https://mypy-lang.org/)
## Overview
The **ixmp4** package is a data warehouse for high-powered scenario analysis
in the domain of integrated assessment of climate change and energy systems modeling.
## License
The **ixmp4** package is released under
the [MIT license](https://github.com/iiasa/ixmp4/blob/main/LICENSE).
## Install from pypi
You can install ixmp4 using pip:
```console
pip install ixmp4
```
## Install from GitHub
For installing the latest version directly from GitHub do the following.
### Requirements
This project requires Python 3.10 (or higher) and poetry (>= 1.2).
### Setup
```bash
# Install Poetry, minimum version >=1.2 required
curl -sSL https://install.python-poetry.org | python -
# You may have to reinitialize your shell at this point.
source ~/.bashrc
# Activate in-project virtualenvs
poetry config virtualenvs.in-project true
# Add dynamic versioning plugin
poetry self add "poetry-dynamic-versioning[plugin]"
# Install dependencies
# (using "--with dev,docs,server" if dev and docs dependencies should be installed as well)
poetry install --with dev,docs,server
# Activate virtual environment, e.g. using Bash/Zsh/Csh
# See https://python-poetry.org/docs/managing-environments/#activating-the-environment
eval $(poetry env activate)
# Copy the template environment configuration
cp template.env .env
# Add a test platform
ixmp4 platforms add test
# Start the asgi server
ixmp4 server start
```
## CLI
```bash
ixmp4 --help
```
## Docs
Read [doc/README.md](doc/README.md) to build and serve the documentation locally.
## Docker Image
Check [docker/README.md](docker/README.md) to build and publish docker images.
## Developing
See [DEVELOPING.md](DEVELOPING.md) for guidance. When contributing to this project via
a Pull Request, add your name to the "authors" section in the `pyproject.toml` file.
## Compatibility
This project mainly targets postgres version 16 but we test version 15 continously also. Tests with pyarrow installed alongside are also run due to its effect on pandas etc.
| python | postgres | with pyarrow |
|--------|----------|--------------|
| 3.10 | 16 | true |
| 3.10 | 16 | false |
| 3.11 | 16 | true |
| 3.11 | 16 | false |
| 3.12 | 16 | true |
| 3.12 | 16 | false |
| 3.13 | 16 | true |
| 3.13 | 16 | false |
| 3.13 | 15 | false |
## Funding ackownledgement

The development of the **ixmp4** package was funded from the EU Horizon 2020 projects
[openENTRANCE](https://openentrance.eu) and [ECEMF](https://ecemf.eu)
as well as the BMBF Kopernikus project [ARIADNE](https://ariadneprojekt.de)
(FKZ 03SFK5A by the German Federal Ministry of Education and Research).
This project has received funding from the European Union’s Horizon
2020 research and innovation programme under grant agreement No. 835896 and 101022622.