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.9.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.9-py3-none-any.whl (96.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for agentlib-0.8.9.tar.gz
Algorithm Hash digest
SHA256 c138b7f08d485b5ca2a6043e5e0b5de4fd6d12ad095e4a414b7665c11db82e74
MD5 8c402d5ca93d1156b5f974c7b8dcb6c2
BLAKE2b-256 9cfce8e8707044ba04ade8a029a3f96bd1b190b750ca03f4837c7ea9c3fa3fe9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentlib-0.8.9-py3-none-any.whl
  • Upload date:
  • Size: 96.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for agentlib-0.8.9-py3-none-any.whl
Algorithm Hash digest
SHA256 589b58b9881df26ba6bf31ce4f8347386b494be032ac92c90620df98d1d2d39d
MD5 2c21ad7c1496f66e7d8b0509434b642c
BLAKE2b-256 d9d7a75ca83a97505526c7df789394faba9981d4ffd6c417c87184d92e7dfd79

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