<img src="./docs/images/logos/agentlib_logo/logo.svg" alt="drawing" height="150"/>
[](https://opensource.org/licenses/BSD-3-Clause)
[](https://rwth-ebc.github.io/AgentLib/main/coverage/)
[](https://rwth-ebc.github.io/AgentLib/main/pylint/pylint.html)
[](https://rwth-ebc.github.io/AgentLib/main/docs/index.html)
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](https://doi.org/10.1016/j.apenergy.2025.125496) and in the [documentation](https://rwth-ebc.github.io/AgentLib/main/docs/index.html).
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](https://github.com/sogno-platform/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:
- **[AgentLib_MPC](https://github.com/RWTH-EBC/AgentLib-MPC)**: Provides modules for model predictive control.
- **[AgentLib_FIWARE](https://github.com/RWTH-EBC/AgentLib-FIWARE)**: Provides communicators for the IoT Platform FIWARE.
## 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](https://www.sciencedirect.com/science/article/pii/S0306261925002260)
## Copyright and license
This project is licensed under the BSD 3 Clause License - see the [LICENSE](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.
<img src="./docs/images/logos/BMWK_logo.png" alt="BMWK" width="200"/>
Raw data
{
"_id": null,
"home_page": null,
"name": "agentlib",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "agents, modular, control, distributed, digital twin",
"author": null,
"author_email": "Associates of the AGENT project <AGENT.Projekt@eonerc.rwth-aachen.de>",
"download_url": "https://files.pythonhosted.org/packages/55/c5/54a8988a270f04c318adb75da6a5dbf1c3409e239d6fee9a382a33c5d0fd/agentlib-0.8.8.tar.gz",
"platform": null,
"description": "<img src=\"./docs/images/logos/agentlib_logo/logo.svg\" alt=\"drawing\" height=\"150\"/>\n\n\n[](https://opensource.org/licenses/BSD-3-Clause)\n[](https://rwth-ebc.github.io/AgentLib/main/coverage/)\n[](https://rwth-ebc.github.io/AgentLib/main/pylint/pylint.html)\n[](https://rwth-ebc.github.io/AgentLib/main/docs/index.html)\n\n\nThis is a collection of base classes for the implementation of agents in Python.\nThe 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.\nYou can find the motivation, core principles and several exemplary applications in the associated [journal paper](https://doi.org/10.1016/j.apenergy.2025.125496) and in the [documentation](https://rwth-ebc.github.io/AgentLib/main/docs/index.html).\n\nTo get started, please check out our examples.\n\n### Installation\n\nTo install the agentlib with minimal dependencies, run:\n\n```\npip install agentlib\n```\n\nTo install with full dependencies (recommended), run:\n```\npip install agentlib[full]\n```\n\nIf you want to work on the agentlib, first clone it, go its directory and then install it in editable mode:\n\n```\npip install -e .[full]\n```\n\n## Optional Dependencies\nAgentLib has a number of optional dependencies, ranging from additional features to performance improvements:\n \n - **fmu**: Support simulation of FMU models (https://fmi-standard.org/).\n - **scipy**: Support simulation of linear state space models, based on scipy.\n - **mqtt**: Support communication between agents through the mqtt protocol.\n - **plot**: Installs matplotlib, allows to plot the result of examples.\n - **orjson**: Faster json library, improves performance when using network communicators.\n - **fuzz**: Improves error messages when providing wrong configurations.\n\n**clonemap**: Support the execution of agents and their communication through [clonemap](https://github.com/sogno-platform/clonemap). As clonemapy is not available through PYPI, please install it from source, or through the AgentLib's ``requirements.txt`` .\n\n## Plugins\nAgentLib supports extension, especially in the form of additional modules through plugins.\nOfficial Plugins available are:\n - **[AgentLib_MPC](https://github.com/RWTH-EBC/AgentLib-MPC)**: Provides modules for model predictive control.\n - **[AgentLib_FIWARE](https://github.com/RWTH-EBC/AgentLib-FIWARE)**: Provides communicators for the IoT Platform FIWARE.\n\n## Referencing the AgentLib\n\nTo cite the AgentLib, please use the following paper:\n\n> Eser, Steffen and Storek, Thomas and W\u00fcllhorst, Fabian and D\u00e4hling, Stefan and Gall, Jan and Stoffel, Phillip and M\u00fcller, 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](https://www.sciencedirect.com/science/article/pii/S0306261925002260)\n\n## Copyright and license\n\nThis project is licensed under the BSD 3 Clause License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\nWe gratefully acknowledge the financial support by Federal Ministry \\\\ for Economic Affairs and Climate Action (BMWK), promotional references 03ET1495A and 03EN1006A.\n\n<img src=\"./docs/images/logos/BMWK_logo.png\" alt=\"BMWK\" width=\"200\"/>\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "Framework for development and execution of agents for control and simulation of energy systems.",
"version": "0.8.8",
"project_urls": null,
"split_keywords": [
"agents",
" modular",
" control",
" distributed",
" digital twin"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7b2908a191c4ae3e477ada215d8a473c74e4d3b238b65d262ea825eabcc935da",
"md5": "4fae4e85934c9249289eb7366446a124",
"sha256": "e3de7a5523ef149baf54da9c4f6a95fb7b7d703b3ce0a941f1f89213767fc526"
},
"downloads": -1,
"filename": "agentlib-0.8.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4fae4e85934c9249289eb7366446a124",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 93939,
"upload_time": "2025-07-21T13:44:31",
"upload_time_iso_8601": "2025-07-21T13:44:31.710625Z",
"url": "https://files.pythonhosted.org/packages/7b/29/08a191c4ae3e477ada215d8a473c74e4d3b238b65d262ea825eabcc935da/agentlib-0.8.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "55c554a8988a270f04c318adb75da6a5dbf1c3409e239d6fee9a382a33c5d0fd",
"md5": "3a4ed6e6605191addd13623f887e1d34",
"sha256": "7552b6212e96e17899c8dc2f0f82fc756fc39c1bdff7e47cd3971af3ea0280d5"
},
"downloads": -1,
"filename": "agentlib-0.8.8.tar.gz",
"has_sig": false,
"md5_digest": "3a4ed6e6605191addd13623f887e1d34",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 4880790,
"upload_time": "2025-07-21T13:44:36",
"upload_time_iso_8601": "2025-07-21T13:44:36.343783Z",
"url": "https://files.pythonhosted.org/packages/55/c5/54a8988a270f04c318adb75da6a5dbf1c3409e239d6fee9a382a33c5d0fd/agentlib-0.8.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-21 13:44:36",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "agentlib"
}