/AgentLib

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

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

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. If you use the AgentLib in your work which you plan to publish, please check back at a later date for a reference.

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 reference 03ET1495A.

BMWK