A python package to manage your (scientific) model runs, input and output.
Version number: 0.7
Author: Michel Wortmann, Potsdam Institute of Climate Impact Research, Germany
A python package to create flexible APIs for (scientific) models.
Modelmanager itself has no dependencies, but some of its plugins do. They will
direct you two install them through
Python development dependencies are listed in
installing the any package (see below) consider setting up a virtual python
To install use pip:
$ pip install modelmanager
Or clone the repo:
$ git clone https://github.com/mwort/modelmanager.git $ python setup.py install
The model The modelmanager links with your model like illustrated in this file structure:
modeldir/ # your main model directory mm/ # the modelmanager resource directory settings.py # define or import here all variables, functions and plugins browser/ # this is a plugin directory, e.g. for the browser app modelexec # all your model resources input/ output/
With this setup you can either use your model interface through the commandline or through the python API (see Usage below).
Initialise project where in your model root directory:
cd home/mymodel modelmanager init
Add some variables, functions or plugins for your model in mm/settings.py and call them on the commandline like this:
modelmanager example_function --example_argument=2
Or use your new model api in a Python script like this:
import modelmanager as mm project = mm.Project() result = project.example_function()
Use the browser app by adding this line to your settings:
from modelmanager.plugins.browser import *
Then start the application on the commandline:
Navigate to localhost/admin in your browser.
Bug reports, ideas and feature requests welcome on Github.
Run test in tests/ like this:
make # runs all tests python test_project.py # just runs test_projects with call stats python -m unittest test_project.Settings # just run Settings tests make clean # clean any leftover test output
make should pass before submitting a pull/merge request.
- add entry in
- change version number in
README.md, tag and commit (
- build sdist and push to git and pypi (
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.