Skip to main content

⚡️ 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.

Metadata

Release files for supplyforge 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for supplyforge 0.1.5
File Interpreter ABI Platform
supplyforge-0.1.5-py3-none-any.whl Python 3 none any Details

Release files / supplyforge-0.1.5-py3-none-any.whl

Download URL supplyforge-0.1.5-py3-none-any.whl
Size 43.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3ba37c107322a325a2353c50e96ec637e416bd2e480b0186c0124a73d21be341
BLAKE2b-256 checksum
How to use checksums
8e5280439356aee5794d9893cf8c921114756ca3844ff3b9adedcd807ac77857
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.19

Release history Release notifications | RSS feed

This release

0.1.5 This release

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page