Manage multiple mosaik projects with using common tooling.
Project description
mosaik.Multi-Project
Tooling for setting up and maintaining multiple (mosaik) projects.
Motivation
mosaik scenarios often contain multiple simulators. Sometimes, additional packages need to be developed alongside of them. Managing such a set of loosely coupled projects becomes laborious easily. This project provides tooling for some common operations on projects. These operations range from cloning the repository to building a docker image. Operations can be run in parallel on projects, enabling quite some automation.
Status
Maturity
The code of this project was largely in operation in the Designetz project. There, it was used to maintain and develop components of the AI-powered power grid control room "System-Cockpit". The System-Cockpit consisted of about 12 mosaik simulators as well as about 18 support and infrastructure projects.
One-line Execution
mosaik.Multi-Project can be run as a container directly from GitLab.com:
docker run registry.gitlab.com/offis.energy/mosaik/mosaik.multi-project:latest --help
Prerequisites
- Python 3.6+
- git
Downloading
git clone git@gitlab.com:offis.energy/mosaik/mosaik.multi-project.git
Virtual Environment
python3 -m venv venv
Tox
venv/bin/python -m pip install -r requirements.d/venv.txt
venv/bin/python -m tox -e py39
Running
PYTHONPATH=. \
.tox_py38_bin_python mosaik_multi_project/multi_project/cli/main.py \
--help
Use Cases
Setup all projects in the config and update their requirements in parallel:
PYTHONPATH=. \
.tox_py38_bin_python mosaik_multi_project/multi_project/cli/main.py
Setup one project in the config and update its requirements:
PYTHONPATH=. \
.tox_py38_bin_python mosaik_multi_project/multi_project/cli/main.py \
--parallel False --project mosaik.EId --operation ALL
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for mosaik.Multi_Project-0.1.0rc20210617001021-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f2839fe8cd63144c086d790ec039124dc7c434b4e8ca2fa45bd9835eec095a8 |
|
MD5 | 097b05792d511f03ac7ff4436eddbf61 |
|
BLAKE2b-256 | 6878b948f58cb5b15839b86964a7c2bd936819b739c8c6aaee5c23679f345180 |