Mosaik API for Python
Note that the mosaik-api package has been superceded by the mosaik-api-v3 package and is not updated anymore.
This is an implementation of the mosaik API for simulators written in Python. It hides all the messaging and networking related stuff and provides a simple base class that you can implement.
Installation
Just use pip to install it:
$ pip install mosaik-api
Documentation
Please refer to mosaik’s documentation of the API.
Example Simulator
This distribution contains an example simulator in the example_sim package.
It can be started via the pyexamplesim command; pyexamplesim --help shows you how to use it.
It can also be run in-process by importing and calling example_sim.mosaik.main().
Example MAS
This distribution contains an example “multi-agent system” that uses the asyncronous remote calls to mosaik (get_progress(), get_related_entities(), get_data(), set_data()).
It can be started via the pyexamplemas command; pyexamplemas --help shows you how to use it.
It can also be run in-process by importing and calling example_mas.mosaik.main().
Development setup
To setup a devleopment environment, create a virtualenv and install the packages from requirements.txt:
$ mkvirtualenv --python=/usr/bin/python3 mosaik-api-python
(mosaik-api-python)$ pip install -r requirements.txt
To run the tests for the Python version you are currently using, execute py.test. You should also add the test coverage check:
(mosaik-api-python)$ py.test --cov=example_mas --cov=example_sim --cov=mosaik_api
To run the tests for all supported Python versions, run tox:
(mosaik-api-python)$ tox
Mosaik’s documentation contains more details.
Changelog
3.0.6 - 2024-07-08
[CHANGE] Move deprecation warning up (so it is shown even when packages are missing)
3.0.5 - 2024-06-26
[CHANGE] Adjust stacklevel of deprecation warning
3.0.4 - 2024-06-26
[CHANGE] Add deprecation warning referring users to mosaik-api-v3.
3.0.3 - 2022-12-14
[NEW] Add datetime utility
3.0.2 - 2022-06-01
[CHANGE] Use internal mosaik-simpy-io>=0.2.4 instead of simpy.io
3.0.1 - 2022-04-22
[CHANGE] Set external events via highlevel function call
3.0.0 - 2021-05-02
[CHANGE] Added time_resolution to init function
[CHANGE] Added max_advance to step function
[NEW] Implemented set_events capability (external events)
2.4.2 - 2020-11-24
[FIX] Constrain simpy to version <4 due to simpy.io incompatibility
2.4 - 2019-02-05
[NEW] Simulator can now be started on a different node than mosaik, using the remote flag “-r” and the timeout flag “-t”. Mosaik can the integrate the simulator using the “connect” method of the simmanager.
2.3 – 2019-01-24
[BugFix] Bugfix Tests
2.2 – 2016-02-15
[NEW] API version 2.2: Added an optional “setup_done()” method.
[CHANGE] API version validation: The API version is no longer an integer but a “major.minor” string. The major part has to math with mosaiks major version. The minor part may be lower or equal to mosaik’s minor version.
[FIX] Various minor fixes and stability improvements.
2.1 – 2014-10-24
[NEW] Allow extra API methods to be called. See http://mosaik.readthedocs.org/en/2.0/mosaik-api/high-level.html#mosaik_api.Simulator
[CHANGE] The rel entry in the entity description returned by create() is now optional.
2.0 – 2014-09-22
Initial release of the mosaik 2 Sim API for Python.
Metadata
Release files for mosaik-api 3.0.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mosaik-api-3.0.6.tar.gz | 23.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mosaik_api-3.0.6-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 46.2 kB
Release files / mosaik-api-3.0.6.tar.gz
| Download URL | mosaik-api-3.0.6.tar.gz |
|---|---|
| Size | 23.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c4d1dd273068cf58e0b212d9c2d9cd6283cd93b27618d70e45b531e3c570ea86
|
|
BLAKE2b-256 checksum How to use checksums |
26b6b2f1410d52747994be679b3ce9a54a601d71f66d65f8ea54fffc0a3d13a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.13.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.66.4 CPython/3.8.10
|
Release files / mosaik_api-3.0.6-py2.py3-none-any.whl
| Download URL | mosaik_api-3.0.6-py2.py3-none-any.whl |
|---|---|
| Size | 22.7 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
697a6f802a18843ac82842eb6b6741d0709e6cd378a5d3e109cb1f9ace7e8868
|
|
BLAKE2b-256 checksum How to use checksums |
93e4eab41a6285f349c84c9b87606701fd493fff64e63dbf9154d2736c69b99c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.13.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.66.4 CPython/3.8.10
|