Skip to main content

Python interpreter for GEMS: modelling and simulation of complex energy systems under uncertainty

Project description

GemsPy, a Python interpreter for GEMS

CI PyPI version Python versions License: MPL-2.0 Documentation Code style: black

GemsPy is an open-source tool, developed in Python, for the modelling and the simulation of complex energy systems under uncertainty. This is a generic interpreter for the GEMS modelling framework.

Description

Online GemsPy documentation: gemspy.readthedocs.io.

The GEMS framework

The rationale behind GEMS

GEMS introduces a novel approach to model and simulate energy systems, centered around a simple principle: getting models out of the code.

To develop and test new models of energy system components, writing software code should not be a prerequisite. This is where the Gems framework excels, offering users a "no-code" modelling experience with unparalleled versatility.

Gems = a high-level modelling language + a data structure

The Gems framework consists of a high-level modelling language, close to mathematical syntax, and a data structure for describing energy systems.

The GemsPy package

This Python package features a generic interpreter of Gems capable of generating optimisation problems from any study case that adhere to the modelling language syntax. It then employs off-the-shelf optimisation solvers to solve these problems. The Python API facilitates reading case studies stored in YAML format, modifying them, or creating new ones from scratch by scripting.

The Getting started page of the online documentation introduce you to the Gems input file format and the basics of the GemsPy API.

Link with Antares Simulator software

The GemsPy package forms part of the Antares project, but its implementation is completely independent of that of the AntaresSimulator software. Although it was initially designed to prototype the next features of the Antares software (for more information, see Antares Simulator documentation, its structuring and development practices have resulted in high-quality, self-supporting code. It is currently maintained to offer the flexibility of the designed modelling language and interpreter to Python users and to continue exploring its potential.

Project details


Download files

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

Source Distribution

gemspy-0.1.0.tar.gz (78.9 kB view details)

Uploaded Source

Built Distribution

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

gemspy-0.1.0-py3-none-any.whl (104.6 kB view details)

Uploaded Python 3

File details

Details for the file gemspy-0.1.0.tar.gz.

File metadata

  • Download URL: gemspy-0.1.0.tar.gz
  • Upload date:
  • Size: 78.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gemspy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b8f7f6728fcfc0474c34228b5500448a270be841fe01f90b0694e8f577f69264
MD5 830a00d854606304afeddf8e33004ea1
BLAKE2b-256 cc1680608c6c3243ad3e994503c999cac036c9f2ae9052b20138741568bf5f39

See more details on using hashes here.

File details

Details for the file gemspy-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: gemspy-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 104.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gemspy-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a999845d3cf2f522d43cdbbf511c874003c0ef0e9cf611abb2cffe4ecac542dc
MD5 a8350af240ed351901f257081730fb46
BLAKE2b-256 bffe1ddae1fd3419a69d43aad6233d63aa3c93462b262a16ea091de9751929c7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page