This project manages a joint docker file with selected versions of different PMC tools and libraries, a jupyter server, and a collection of python files that help to ensure that are mutually compatible.
Is created from the docker file, released to github daily via CI. On the container, you find
- a version of storm (with UMB support),
- a version of prism (with UMB support),
- the umbi python library.
- the contents of this repo, in particular, the umbtest library.
- A jupyter notebook that is running.
You can build the docker container yourself or obtain it by:
docker pull ghcr.io/pmc-tools/umb-observatory:main
Then, to start it, we recommend:
docker run --name pmcdocker -d -p 8000:8000 ghcr.io/pmc-tools/umb-observatory:main
The exposed port helps you connect to the notebooks. If port 8000 is already occupied locally,
you can change it to -p 8001:8000, or something like that.
First, run
docker exec pmcdocker jupyter server list
The link in there will typically not work. However, you can find a token as part of the listed url. Copy this token.
You can connect to localhost:8000 (or another port, if you changed it) in your browser.
The notebook will ask for a token. Paste the token you just copied.
You are now in a jupyter notebook.
You can go to getting_started.ipynb to get started with some opportunities that UMB offers.
Umbtest is a set python files that check that UMB support is aligned.
The best place to get started is probably in tests/test_toolchains.py.
Roughly umbtest/benchmarks.py collects files we use for testing,
while umbtest/tools.py provides a thin layer around the available tools.
You can use umbtest in different ways. The preferred way is via the docker, which ensures that you have the right tools installed in known locations.
This is possible in two ways: via a notebook and via the command line.
As explained in the notebook, to which you can connect as explained above.
In particular, you can run:
docker exec pmcdocker python -m pytest
UMBTest is currently not available as a standalone package. However, you can run the scrips directly on your local machine.
- Update the
tools.tomlfile with your local location of the tools. pip install umbi-
- You can run
python -m pytest teststo run all kind of tests - Run
python main.pyfor a simple script - Or run the python notebook on your local jupyterserver (see above for details)
- You can run
This repo is hosted on github, where continuous integration runs Umbtests: https://github.com/pmc-tools/umb-observatory/actions/workflows/test.yml