Metadata-Version: 2.1
Name: calligraph
Version: 0.1.1.dev0
Summary: Visualisation tool for Calliope.
Author-email: Stefan Pfenninger <stefan@pfenninger.org>
Maintainer-email: Stefan Pfenninger <stefan@pfenninger.org>
License: Apache 2.0
Project-URL: website, https://www.callio.pe/
Project-URL: repository, https://github.com/calliope-project/calligraph
Project-URL: changelog, https://github.com/calliope-project/calligraph/CHANGELOG.md
Keywords: energy systems,visualisation
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: CITATION
Requires-Dist: calliope<0.8,>=0.7.0.dev3
Requires-Dist: panel<1.5,>=1.4.5
Requires-Dist: plotly<6,>=5
Requires-Dist: pyproj==3.6.1
Requires-Dist: click==8.1

# Calligraph: Calliope model result graphing and visualisation tool

`Calligraph` is a tool to interactively explore and visualise Calliope model results.

> [!IMPORTANT]
> Note that this is pre-release software and there are likely to bugs. Please [report issues and feedback on GitHub](https://github.com/calliope-project/calligraph)!

> [!CAUTION]
> Calligraph only works with Calliope 0.7 or higher. If you are running Calliope 0.6 or lower, use the built-in visualisation tools instead.

## Installation

`pip install calligraph`

## Use

Save a solved Calliope model to a NetCDF file with `model.to_netcdf()` or by using the appropriate settings with the Calliope command-line interface. Then run `calligraph` in the command line:

```shell
$ calligraph your_model_results.nc
```

This launches Calligraph's web interface in the default web browser on your system. To use a custom port, supply the `--port PORTNUMBER` option; if you do not want the default web browser to open, specify `-nb` or `--no-browser`.

To experiment with the built-in urban-scale model:

```python
import calliope
m = calliope.examples.urban_scale(time_subset=None)
m.run()
m.to_netcdf("urban_scale.nc")
```

Then:

```shell
$ calligraph urban_scale.nc
```
