Mosaik 3.1.0 released
The mosaik team is proud to announce the release of mosaik 3.1.
Mosaik now uses a loguru to log its output instead of simply writing it to stdout.
The output of the simulation progress is now handled by tqdm which provides a nice progress bar. By setting print_progress='individual' on your world.run call, you can get individual progress bars for your simulators.
We are also working towards more principled semantics for connecting simulators. To this effect, two features of mosaik have been deprecated:
- The concept of async_requests and set_data calls has been scheduled for removal in mosaik 4. We believe that simulations can be set up more cleanly by using time_shifted and weak connections. If you have a setup where asynchronous requests are needed, please get in touch via the mailing list or our GitLab issues.
- Direct connections between persistent outputs and trigger inputs and between non-persistent outputs and non-trigger inputs will no longer be supported in a future version of mosaik. Instead, we will provide adapters that encode the desired semantics more cleanly. If you’re currently using these types of connections, please get in touch via the mailing list or our GitLab issues so that we can learn about your requirements for these adapters.
Internally, mosaik now uses Python type annotations. These can improve your editor’s autocompletion and inline documentation. (See here if your type checker complains about the type of your SIM_CONFIG.)
Last but not least, the new release contains some bug fixes related to lazy stepping, negative max_advance values in same time loop, missing intial data in hybrid simulators, and None value in particular connection structure. An overview of all changes, can be found in the issues in GitLab.