Calliope
A framework to develop energy system models, with a focus on flexibility, high spatial and temporal resolution, the ability to execute many runs based on the same base model, and a clear separation of framework and model.
https://github.com/calliope-project/calliope
Category: Energy Systems
Sub Category: Energy System Modeling Frameworks
Keywords
energy energy-system optimisation pyomo python
Keywords from Contributors
research conda europe renewable-energy calliope-models archiving measur observation transforms projection
Last synced: about 6 hours ago
JSON representation
Repository metadata
A multi-scale energy systems modelling framework
- Host: GitHub
- URL: https://github.com/calliope-project/calliope
- Owner: calliope-project
- License: apache-2.0
- Created: 2013-09-18T17:58:41.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2025-04-07T21:00:22.000Z (23 days ago)
- Last Synced: 2025-04-29T15:05:25.657Z (1 day ago)
- Topics: energy, energy-system, optimisation, pyomo, python
- Language: Python
- Homepage: https://www.callio.pe
- Size: 63.5 MB
- Stars: 320
- Watchers: 17
- Forks: 95
- Open Issues: 71
- Releases: 29
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION
- Authors: AUTHORS
README.md
A multi-scale energy systems modelling framework | www.callio.pe
Contents
About
Calliope is a framework to develop energy system models, with a focus on flexibility, high spatial and temporal resolution, the ability to execute many runs based on the same base model, and a clear separation of framework (code) and model (data). Its primary focus is on planning energy systems at scales ranging from urban districts to entire continents. In an optional operational it can also test a pre-defined system under different operational conditions.
A Calliope model consists of a collection of text files (in YAML and CSV formats) that fully define a model, with details on technologies, locations, resource potentials, etc. Calliope takes these files, constructs an optimization problem, solves it, and reports back results. Results can be saved to CSV or NetCDF files for further processing, or analysed directly in Python through Python's extensive scientific data processing capabilities provided by libraries like Pandas and xarray.
Calliope comes with several built-in analysis and visualisation tools. Having some knowledge of the Python programming language helps when running Calliope and using these tools, but is not a prerequisite.
Quick start
Calliope can run on Windows, macOS and Linux. Installing it is quickest with the mamba
package manager by running a single command: mamba create -n calliope -c conda-forge conda-forge/label/calliope_dev::calliope
.
See the documentation for more information on installing.
Several easy to understand example models are included with Calliope and accessible through the calliope.examples
submodule.
The tutorials in the documentation run through these examples. A good place to start is to look at these tutorials to get a feel for how Calliope works, and then to read the "Introduction", "Building a model", "Running a model", and "Analysing a model" sections in the online documentation.
More fully-featured examples that have been used in peer-reviewed scientific publications are available in our model gallery.
Documentation
Documentation is available on Read the Docs.
Contributing
See our documentation for more on how to contribute to Calliope.
What's new
See changes made in recent versions in the changelog.
Citing Calliope
If you use Calliope for academic work please cite:
Stefan Pfenninger and Bryn Pickering (2018). Calliope: a multi-scale energy systems modelling framework. Journal of Open Source Software, 3(29), 825. doi: 10.21105/joss.00825
License
Copyright since 2013 Calliope contributors listed in AUTHORS
Licensed under the Apache License, Version 2.0 (the "License"); you
may not use this file except in compliance with the License. You may
obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Citation (CITATION)
Stefan Pfenninger and Bryn Pickering (2018). Calliope: a multi-scale energy systems modelling framework. Journal of Open Source Software, 3(29), 825. https://doi.org/10.21105/joss.00825
Owner metadata
- Name: Calliope
- Login: calliope-project
- Email:
- Kind: organization
- Description: A multi-scale energy systems modelling framework
- Website: https://www.callio.pe/
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/10073020?v=4
- Repositories: 14
- Last ynced at: 2024-03-27T12:10:54.060Z
- Profile URL: https://github.com/calliope-project
GitHub Events
Total
- Create event: 25
- Release event: 2
- Issues event: 43
- Watch event: 24
- Delete event: 27
- Issue comment event: 140
- Push event: 127
- Pull request review comment event: 141
- Pull request review event: 169
- Pull request event: 42
- Fork event: 5
Last Year
- Create event: 25
- Release event: 2
- Issues event: 43
- Watch event: 24
- Delete event: 27
- Issue comment event: 140
- Push event: 127
- Pull request review comment event: 141
- Pull request review event: 169
- Pull request event: 42
- Fork event: 5
Committers metadata
Last synced: 8 days ago
Total Commits: 1,251
Total Committers: 22
Avg Commits per committer: 56.864
Development Distribution Score (DDS): 0.396
Commits in past year: 66
Committers in past year: 7
Avg Commits per committer in past year: 9.429
Development Distribution Score (DDS) in past year: 0.424
Name | Commits | |
---|---|---|
Stefan Pfenninger | s****n@p****g | 756 |
brynpickering | b****g@g****m | 369 |
brynpickering | b****g@u****h | 53 |
Tim Tröndle | t****e@u****h | 20 |
pre-commit-ci[bot] | 6****] | 11 |
Ivan Ruiz Manuel | 7****e | 9 |
Francesco Lombardi | f****i@p****t | 4 |
Bryn Pickering | b****g@u****h | 4 |
Francesco Lombardi | f****i@o****m | 4 |
jnnr | 3****r | 4 |
graeme | g****e@l****m | 3 |
Adriaan Hilbers | 3****s | 2 |
Suvayu Ali | f****x@g****m | 2 |
Francesco Sanvito | 6****t | 2 |
Graeme Hawker | g****r@s****k | 1 |
Katrin Leinweber | k****i@p****e | 1 |
Martial G | m****y@g****m | 1 |
Stefan Strömer | 8****r | 1 |
Stefan Pfenninger | s****n@u****h | 1 |
brmanuel | m****n@h****m | 1 |
dependabot[bot] | 4****] | 1 |
pmmeyourmodel | 4****l | 1 |
Committer domains:
- usys.ethz.ch: 3
- uwis-cx-dock-11-276.ethz.ch: 1
- posteo.de: 1
- strath.ac.uk: 1
- lutralutra.com: 1
- polimi.it: 1
- pfenninger.org: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 377
Total pull requests: 390
Average time to close issues: 10 months
Average time to close pull requests: 27 days
Total issue authors: 58
Total pull request authors: 19
Average comments per issue: 2.41
Average comments per pull request: 2.17
Merged pull request: 340
Bot issues: 0
Bot pull requests: 14
Past year issues: 92
Past year pull requests: 85
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 14 days
Past year issue authors: 18
Past year pull request authors: 8
Past year average comments per issue: 2.55
Past year average comments per pull request: 2.68
Past year merged pull request: 70
Past year bot issues: 0
Past year bot pull requests: 11
Top Issue Authors
- brynpickering (103)
- sjpfenninger (62)
- irm-codebase (41)
- timtroendle (38)
- FLomb (16)
- arnaud-leroy (13)
- jmorrisnrel (10)
- jnnr (9)
- sstroemer (9)
- mohammadamint (4)
- lblabr (4)
- yiqiaowang-arch (4)
- ramaroesilva (3)
- FraSanvit (3)
- GraemeHawker (3)
Top Pull Request Authors
- brynpickering (239)
- sjpfenninger (51)
- timtroendle (21)
- irm-codebase (20)
- FLomb (14)
- pre-commit-ci[bot] (13)
- jnnr (8)
- ahilbers (4)
- GraemeHawker (4)
- FraSanvit (4)
- suvayu (3)
- sstroemer (2)
- mlgarchery (1)
- dependabot[bot] (1)
- FebinKa (1)
Top Issue Labels
- bug (87)
- documentation (63)
- v0.7 (50)
- enhancement (45)
- discussion (21)
- has-workaround (19)
- priority (19)
- v0.6 (16)
- help wanted (15)
- constraint (13)
- good first issue (11)
- possibly-revisit (8)
- wontfix (7)
- visualisation (5)
- timeseries (4)
- question (4)
- chore (2)
- duplicate (1)
- pyomo-bug (1)
Top Pull Request Labels
- v0.7 (8)
- dependencies (1)
- github_actions (1)
- enhancement (1)
Package metadata
- Total packages: 3
-
Total downloads:
- pypi: 938 last-month
- Total dependent packages: 2 (may contain duplicates)
- Total dependent repositories: 5 (may contain duplicates)
- Total versions: 79
- Total maintainers: 2
proxy.golang.org: github.com/calliope-project/calliope
- Homepage:
- Documentation: https://pkg.go.dev/github.com/calliope-project/calliope#section-documentation
- Licenses: apache-2.0
- Latest release: v0.6.10 (published over 2 years ago)
- Last Synced: 2025-04-29T15:05:26.445Z (1 day ago)
- Versions: 30
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 6.999%
- Average: 8.173%
- Dependent repos count: 9.346%
pypi.org: calliope
A multi-scale energy systems modelling framework
- Homepage: https://www.callio.pe/
- Documentation: https://calliope.readthedocs.io/
- Licenses: Apache 2.0
- Latest release: 0.6.10 (published over 2 years ago)
- Last Synced: 2025-04-29T15:05:26.174Z (1 day ago)
- Versions: 32
- Dependent Packages: 2
- Dependent Repositories: 4
- Downloads: 938 Last month
-
Rankings:
- Dependent packages count: 3.155%
- Dependent repos count: 7.506%
- Average: 10.039%
- Downloads: 19.458%
- Maintainers (2)
conda-forge.org: calliope
Calliope is a framework to develop energy system models, with a focus on flexibility, high spatial and temporal resolution, the ability to execute many runs based on the same base model, and a clear separation of framework (code) and model (data).
- Homepage: https://www.callio.pe/
- Licenses: Apache-2.0
- Latest release: 0.6.8 (published about 3 years ago)
- Last Synced: 2025-04-01T02:09:06.907Z (30 days ago)
- Versions: 17
- Dependent Packages: 0
- Dependent Repositories: 1
-
Rankings:
- Forks count: 20.814%
- Dependent repos count: 24.103%
- Stargazers count: 25.685%
- Average: 30.535%
- Dependent packages count: 51.54%
Dependencies
- actions/checkout v3 composite
- codecov/codecov-action v3 composite
- mamba-org/setup-micromamba v1 composite
- actions/checkout v3 composite
- gaurav-nelson/github-action-markdown-link-check 1.0.15 composite
- actions/checkout v3 composite
- codecov/codecov-action v3 composite
- mamba-org/setup-micromamba v1 composite
- bottleneck >=1,<2
- click >=8,<9
- geographiclib >=2,<3
- hdf5 <2
- ipdb >=0.13,<0.14
- ipykernel <7
- jinja2 >=3,<4
- jsonschema >=4,<5
- libnetcdf <5
- natsort >=8,<9
- netcdf4 >=1.2,<1.7
- numpy >=1,<2
- pandas >=2.1.3,<2.2
- pyomo >=6.5,<7
- pyparsing >=3.0,<3.1
- ruamel.yaml >=0.17,<0.18
- xarray >=2023.10,<2024.3
- glpk ==5.0 development
- pre-commit <4 development
- pytest <8 development
- pytest-cov <5 development
- pytest-order <2 development
- pytest-xdist <4 development
- dawidd6/action-download-artifact v2 composite
- pypa/gh-action-pypi-publish release/v1 composite
Score: 15.91304910652976