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. You can find the motivation, core principles and several exemplary applications in the associated journal paper and in the documentation.

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

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 .

Plugins

AgentLib supports extension, especially in the form of additional modules through plugins. Official Plugins available are:

Referencing the AgentLib

To cite the AgentLib, please use the following paper:

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://doi.org/10.1016/j.apenergy.2025.1254969

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.7.tar.gz (4.9 MB view details)

Uploaded Source

Built Distribution

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

agentlib-0.8.7-py3-none-any.whl (93.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for agentlib-0.8.7.tar.gz
Algorithm Hash digest
SHA256 7a8eba6523c282a436a179a90a24d5fb984e1bcb007cd061266b8df611c90882
MD5 5e7cc9eb2de60a7ba66e44f966d235b4
BLAKE2b-256 6e38bcfdddd4e4231c2036c5cfed598931dfb4468a6c39701677b48888c67d57

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentlib-0.8.7-py3-none-any.whl
  • Upload date:
  • Size: 93.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for agentlib-0.8.7-py3-none-any.whl
Algorithm Hash digest
SHA256 03ce85436e870ce60c22802006a67356ee415dd36f4c33d73a8f96555577a53a
MD5 d76c2499d6c286a8c755675e884f42de
BLAKE2b-256 d5b1a7e7a45ca075926c462c76e48ac3c957af4d1633a8cc881ae52b800fad90

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