Skip to main content

Framework for development and execution of agents for control and simulation of energy systems.

Project description

drawing

License Coverage pylint documentation

This is a collection of base classes for the implementation of agents in Python. The original purpose of this library is the execution of distributed simulations and controllers for energy systems, however it is not limited to any specific field. To get started, please check out our examples.

Installation

To install the agentlib with minimal dependencies, run:

pip install agentlib

To install with full dependencies (recommended), run:

pip install agentlib[full]

If you want to work on the agentlib, first clone it, go its directory and then install it in editable mode:

pip install -e .[full]

Optional Dependencies

The AgentLib has a number of optional dependencies, ranging from additional features to performance improvements:

  • fmu: Support simulation of FMU models (https://fmi-standard.org/).
  • scipy: Support simulation of linear state space models, based on scipy.
  • mqtt: Support communication between agents through the mqtt protocol.
  • plot: Installs matplotlib, allows to plot the result of examples.
  • orjson: Faster json library, improves performance when using network communicators.
  • fuzz: Improves error messages when providing wrong configurations.

clonemap: Support the execution of agents and their communication through clonemap. As clonemapy is not available through PYPI, please install it from source, or through the AgentLib's requirements.txt .

Referencing the AgentLib

A publication regarding the AgentLib is currently in the work. A preprint is available under http://dx.doi.org/10.2139/ssrn.4884846 and can be cited as:

Eser, Steffen and Storek, Thomas and Wüllhorst, Fabian and Dähling, Stefan and Gall, Jan and Stoffel, Phillip and Müller, Dirk, A Modular Python Framework for Rapid Development of Advanced Control Algorithms for Energy Systems. Available at SSRN: https://ssrn.com/abstract=4884846 or http://dx.doi.org/10.2139/ssrn.4884846

Copyright and license

This project is licensed under the BSD 3 Clause License - see the LICENSE file for details.

Acknowledgments

We gratefully acknowledge the financial support by Federal Ministry \ for Economic Affairs and Climate Action (BMWK), promotional references 03ET1495A and 03EN1006A.

BMWK

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

agentlib-0.8.5.tar.gz (4.9 MB view details)

Uploaded Source

Built Distribution

agentlib-0.8.5-py3-none-any.whl (92.5 kB view details)

Uploaded Python 3

File details

Details for the file agentlib-0.8.5.tar.gz.

File metadata

  • Download URL: agentlib-0.8.5.tar.gz
  • Upload date:
  • Size: 4.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for agentlib-0.8.5.tar.gz
Algorithm Hash digest
SHA256 de2918b430f28fb1d1a804fc15dd1509c5d9eb8cc398c6c9b788f4223b86458d
MD5 b99904332be555b9b02f34203ed52225
BLAKE2b-256 1d0b8b9b413910d3a6afba058465b18e6314b04fee1610eb36c3a8bbb0415cb6

See more details on using hashes here.

File details

Details for the file agentlib-0.8.5-py3-none-any.whl.

File metadata

  • Download URL: agentlib-0.8.5-py3-none-any.whl
  • Upload date:
  • Size: 92.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for agentlib-0.8.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2c28afd481c7e98fa2bdf753aad4e9c3c2c64e09cc25c039915b45abb5ea86f9
MD5 6b88182b7ab1abab03f197972b5a086b
BLAKE2b-256 e326ae41ec259408d9be64eded526852ad41ede88d87155f6ad7204e3bf3c3bb

See more details on using hashes here.

Supported by

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