Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

ISPyPSA

Continuous Integration and Deployment codecov pre-commit.ci status UV

An open-source capacity expansion modelling tool based on the methodology and assumptions used by the Australian Energy Market Operator (AEMO) to produce their Integrated System Plan (ISP). Built on PyPSA.

This README is a quick reference. For detailed instructions, tutorials, and API documentation, see the full documentation:

Installation

pip install ispypsa

Or with uv:

uv add ispypsa

Quick Start

  1. Download the example config and edit paths for your environment
  2. Run:
# Download ISP workbook and trace data
ispypsa config=ispypsa_config.yaml download_workbook
ispypsa config=ispypsa_config.yaml download_trace_data

# Run complete workflow (capacity expansion + operational model)
ispypsa config=ispypsa_config.yaml

CLI Reference

Task Description
download_workbook Download IASR Excel workbook
download_trace_data Download wind/solar/demand traces
cache_required_iasr_workbook_tables Extract workbook data to CSV cache
create_ispypsa_inputs Generate ISPyPSA input tables
create_pypsa_friendly_inputs Convert to PyPSA format
create_and_run_capacity_expansion_model Build and solve capacity expansion
create_and_run_operational_model Build and solve operational model
create_capacity_expansion_plots Generate result plots
create_operational_plots Generate operational plots
list Show available tasks

Common Options

# Override config values on command line
ispypsa config=config.yaml create_plots=True create_and_run_capacity_expansion_model

# Skip optimisation (build network only)
ispypsa config=config.yaml run_optimisation=False create_and_run_capacity_expansion_model

# Force re-run even if up-to-date
ispypsa config=config.yaml -a create_ispypsa_inputs

Output Structure

<run_directory>/
└── <ispypsa_run_name>/
   ├── ispypsa_inputs/
   │   ├── build_costs.csv
   │   └── ...
   ├── pypsa_friendly/
   │   ├── buses.csv
   │   ├── ...
   │   ├── capacity_expansion_timeseries/
   │   │   ├── demand_traces/
   │   │   │   ├── CNSW.parquet
   │   │   │   └── ...
   │   │   ├── solar_traces/
   │   │   │   ├── Bomen Solar Farm.parquet
   │   │   │   └── ...
   │   │   └── wind_traces/
   │   │       ├── Ararat Wind Farm.parquet
   │   │       └── ...
   │   └── operational_timeseries/
   │       └── (same structure as capacity_expansion_timeseries)
   └── outputs/
       ├── capacity_expansion.nc
       ├── capacity_expansion_results_viewer.html
       ├── capacity_expansion_tables
       │   └── ...
       ├── capacity_expansion_plots
       │   └── ...
       ├── operational.nc
       ├── operational_results_viewer.html
       ├── operational_tables
       │   └── ...
       └── operational_plots
           └── ...

Related Projects

Contributing

Interested in contributing to the source code or adding table configurations? Check out the contributing instructions, which also includes steps to install ispypsa for development.

Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.

License

ispypsa was created as a part of the OpenISP project. It is licensed under the terms of GNU GPL-3.0-or-later licences.

Metadata

Release files for ISPyPSA 0.1.3b1

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

Source distribution (sdist)

Source distribution for ISPyPSA 0.1.3b1
File Size Uploaded
ispypsa-0.1.3b1.tar.gz 134.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ISPyPSA 0.1.3b1
File Interpreter ABI Platform
ispypsa-0.1.3b1-py3-none-any.whl Python 3 none any Details

Total release size: 301.8 kB

Release files / ispypsa-0.1.3b1.tar.gz

Download URL ispypsa-0.1.3b1.tar.gz
Size 134.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bdc238f8a539202ba1dce9919b6a2284eaa1417c4e2dfd04a97d5d3bdadf60f5
BLAKE2b-256 checksum
How to use checksums
c102519d8dcf299fde128fed2e902363679e722d41836658893b3b2f99b17049
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 26, 2026.

Transparency log

Release files / ispypsa-0.1.3b1-py3-none-any.whl

Download URL ispypsa-0.1.3b1-py3-none-any.whl
Size 167.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
07708ae7e59d8394a519d5dfbb9841fd01ca98931e20a694dfb049d5186ff047
BLAKE2b-256 checksum
How to use checksums
45804c14d43f04d5d0dc99fdb238507c18eae4e4ea20a750dbec7d57a4ca88aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 26, 2026.

Transparency log
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