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

Uploaded Source

Built Distribution

agentlib-0.8.4-py3-none-any.whl (92.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agentlib-0.8.4.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.4.tar.gz
Algorithm Hash digest
SHA256 6c7c573e0cbf3ba7de6422240d4560711ff6e4341879559bb2ac357aca758a1b
MD5 69b21036d62f5d5b02d7a0a30c72b00e
BLAKE2b-256 7f1bf90c54d0643bd552fe5868844db375b0977a53def075cbf896d912828dde

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentlib-0.8.4-py3-none-any.whl
  • Upload date:
  • Size: 92.3 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6a38d4caf9cfa1b0d33e04336542a6482abfa90f04c38f45748a826e8725b25c
MD5 20f41ad749df5f0f38106569d4ff87ab
BLAKE2b-256 41b902258431f9923675cb119ab276fc8ec7b31a0840eedff2702f406189246a

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