Skip to main content

A Snakemake workflow to generate country-level electricity supply datasets.

Project description

⚡️ supplyforge

supplyforge is a Python package that implements a reproducible Snakemake workflow to generate country-level datasets describing the electricity supply side for power system analysis and planning.
It is the companion package to demandforge, which focuses on demand projection.


🌍 Overview

The goal of supplyforge is to build a consistent and transparent data foundation describing the generation infrastructure and resources of European electricity systems.

The workflow integrates data obtained primarily from ENTSO-E (the European Network of Transmission System Operators for Electricity), including:

  • 🏭 Installed capacity by technology (nuclear, gas, hydro, wind, solar, etc.)
  • ⚙️ Availability profiles by technology and country
  • 💧 Hydro inflows and reservoir information
  • 🌦️ Renewable resource time series (when available)
  • 📊 Aggregated country-level summaries ready for power system modeling tools

🧩 Features

  • Automated data retrieval from ENTSO-E public APIs and datasets
  • Harmonized technology classification across countries
  • Computation of availability and inflow time series for each technology
  • Generation of validated, ready-to-use datasets for scenario analysis and planning models
  • Full traceability and reproducibility via Snakemake

🔗 Relation to demandforge

Package Focus Description
demandforge Demand Creates projected electricity load curves for future scenarios
supplyforge Supply Builds datasets describing generation capacity, availability, and inflows

Together, these tools provide a complete data pipeline for future electricity system modeling at the national scale.


⚙️ Workflow

supplyforge uses a modular Snakemake workflow with well-defined stages:

  1. Download — fetch data from ENTSO-E and other sources
  2. Preprocess — clean and align generation technology data
  3. Compute — derive availability, inflow, and capacity time series
  4. Aggregate — generate standardized outputs for modeling tools

Each rule is designed for transparency, reproducibility, and easy extension to new datasets.


🧱 Outputs

Typical outputs include:

Output file Description
installed_capacity.csv Installed capacity by country and technology
availability_profiles.parquet Hourly availability by technology
hydro_inflows.parquet Hourly inflow series for hydro reservoirs
metadata.yaml Documentation of data sources and processing steps

📦 Installation

pip install supplyforge

or from source:

git clone https://git.persee.minesparis.psl.eu/energy-alternatives/supplyforge.git
cd supplyforge
pip install -e .

🚀 Usage

You can run the Snakemake workflow with:

snakemake --cores all

This will download raw data, process it, and generate the final datasets under the output/ directory.


📚 Data Sources

  • ENTSO-E Transparency Platform — generation, availability, and inflows
  • ENTSO-E Statistical Factsheets — installed capacities
  • Optional integration with renewable resource datasets for solar/wind availability

All datasets are open or publicly accessible, and sources are documented in the workflow metadata.


🧑‍💻 Contributing

Contributions are welcome!
You can:

  • Add support for additional data sources or countries
  • Improve technology mappings or validation checks
  • Extend workflow outputs for specific modeling frameworks

📄 License

Licensed under the MIT License.


✉️ Contact

For questions, suggestions, or collaboration opportunities, please contact:
[Your Name] – [your.email@domain]
or open an issue on the Gitlab repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

supplyforge-0.1.1-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

Details for the file supplyforge-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: supplyforge-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 15.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for supplyforge-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d9e9b57d51f238db991975b06238d475adb63d97fc08d4458946b7aee757c34b
MD5 144262955ad2404233c9c0014ec966ef
BLAKE2b-256 04a9080e32b1016804b074e7f1d0b61e9240f5ec904dafa5ffd3723ee5ce36c9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page