Installation
ModelManager.jl is the base layer of a simulator ecosystem. How you install it depends on whether you are using a backend or building one.
Using a backend
If you just want to run simulations, you do not install ModelManager directly — you install a simulator package that depends on it, such as PhysiCellModelManager.jl. Installing that package pulls in ModelManager automatically. Follow that package's own installation instructions.
Building a backend
If you are developing a new simulator package on top of ModelManager:
1. Add the registry
ModelManager and its sibling packages are published in the BergmanLabRegistry. Add it once:
pkg> registry add https://github.com/drbergman-lab/BergmanLabRegistry2. Add ModelManager as a dependency
From within your package's environment:
pkg> add ModelManager3. Define your simulator and register globals
using ModelManager
mutable struct MySimulator <: AbstractSimulator
dir::String
# ...simulator-specific fields
end
function __init__()
ModelManager.mm_globals_ref[] = ModelManagerGlobals(simulator = MySimulator("/path"))
endThen implement the required interface methods and call initializeModelManager from your package's own initialization entry point. The full walkthrough is in Building a Simulator Backend.
Julia version and environment
ModelManager targets a recent stable Julia release; see the [compat] section of Project.toml for the supported range. As always, work inside a project environment rather than the global one:
julia --project=.Contributing to ModelManager itself
Clone the repository and develop it in a fresh environment:
pkg> dev https://github.com/drbergman-lab/ModelManager.jlRun the test suite with:
julia --project=. -e 'using Pkg; Pkg.test()'