Skip to main content

PyPI conda-forge Tests Python coverage Web coverage

Calliope Studio

Calliope Studio is a web-based user interface for the Calliope energy system modelling framework. It lets you define, edit, validate, run, and analyse Calliope models, all in a single tool. It runs in a browser directly on your computer.

The results view on an example model.

Installation

With uv:

# One-time setup for uv on macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# One-time setup for uv on Windows
#   powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

uv tool install calliope-studio

Or with conda/mamba:

conda create -n calliope-studio -c conda-forge calliope-studio
conda activate calliope-studio

Then:

calliope-studio my-model      # a model folder containing model.yaml or a solved results .nc
calliope-studio               # no argument opens Calliope Studio with a model picker

To quit Calliope Studio, close its terminal window or press Ctrl+C inside it.

Development builds

To install a development build based on the latest main branch commit:

uv tool install --reinstall --prerelease allow \
  --find-links https://github.com/sjpfenninger/calliope-studio/releases/expanded_assets/dev \
  calliope-studio

The same command updates an existing install to the newest development build. To go back to the stable (released) version:

uv tool install --reinstall calliope-studio

FAQ

  • Why does "Run" fail with a solver error? Calliope needs a solver to run a model. Calliope 0.7 bundles the HiGHS solver, but some models may refer to other solvers such as CBC or Gurobi. Refer to the Calliope documentation for the different solver options.
  • Why is the list of models wrong or outdated? The list of models you have opened lives in a small registry file, separate from the models themselves. Its location is reported as registry_path by http://127.0.0.1:8000/api/health while Calliope Studio is running. Deleting it resets the list without actually touching any of your models.
  • Where are model results stored? When running a model from inside Calliope Studio, results are saved in a calliope-studio/ folder next to the model.yaml file. This folder is created automatically when running a model for the first time and comes with its own .gitignore file.

Development

Requires pixi. Try pixi task list to see all the available development tasks.

pixi run serve      # API on port 8000 with auto-reload
pixi run web-dev    # Vite dev server, proxying /api to port 8000

serve opens ./example-model, scaffolding it from Calliope's national_scale template on first use.

The frontend tests run from web/:

cd web
pnpm test

Pixi is configured with a gurobi environment to test with Gurobi (needs a license):

pixi run -e gurobi calliope-studio my-model   # Gurobi available as a solver

Release

Pushing a v* tag builds the wheel and sdist and publishes them:

git tag v0.2.0 && git push --tags

A release tag with exactly three numeric components (v0.2.0) goes to PyPI. Anything else (e.g. v0.2.0rc1 or a typo) goes to TestPyPI instead.

On release, the conda-forge autotick bot should open a pull request on the feedstock.

Architecture

The frontend is a Vue 3 single-page TypeScript app served by a FastAPI backend.

The backend consists of four Python packages with a one-way import rule: server may import the others, while they import neither server nor each other:

  • server: FastAPI app and HTTP routes
  • modeldef: YAML and CSV model definitions on disk
  • runs: Builds and solves models in a separate process
  • results: Reads .nc files and streams them as Apache Arrow batches for charts and tables

License

AGPL-3.0-or-later. See LICENSE.

Download files

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

Source Distribution

calliope_studio-0.2.0.tar.gz (5.2 MB view details)

Uploaded Source

Built Distribution

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

calliope_studio-0.2.0-py3-none-any.whl (4.3 MB view details)

Uploaded Python 3

File details

Details for the file calliope_studio-0.2.0.tar.gz.

File metadata

  • Download URL: calliope_studio-0.2.0.tar.gz
  • Upload date:
  • Size: 5.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for calliope_studio-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5568bdb4002c2f8417e773a82fc2ddb2886cdb63f55e537b29e191bb4fc4debe
MD5 04c13b8a7946528f87b40b99f99be715
BLAKE2b-256 8a5eb91bb5dc245f04709972d347ff6fb7f366cfb0d680166e09dac286a3ddfc

See more details on using hashes here.

Provenance

The following attestation bundles were made for calliope_studio-0.2.0.tar.gz:

Publisher: release.yml on sjpfenninger/calliope-studio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file calliope_studio-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for calliope_studio-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a66aa67998c13de538fd25c83bf2331b8d6aee41449fd3158c7f12a9a11ac8d5
MD5 842683327df1ac4bd0cd02177554f3b3
BLAKE2b-256 1b66260936fb411252fa66168e1b2e559f461be21c0e79dd0b56936f6986c008

See more details on using hashes here.

Provenance

The following attestation bundles were made for calliope_studio-0.2.0-py3-none-any.whl:

Publisher: release.yml on sjpfenninger/calliope-studio

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

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