Skip to main content

Toolbox for compartment-based dynamic systems with costing and optimization

Project description

Atomica

Build Status Documentation Status

Atomica is a simulation engine for compartmental models. It can be used to simulate disease epidemics, health care cascades, and many other things.

Atomica is still under development; please check back regularly for updates.

Installation

Atomica is available for Python 3 only. Because we develop using Python 3.7, it is possible that dictionary order is relevant (although we endeavour to use ordered dictionaries via Sciris in places where order matters). Therefore, we only officially support Python 3.7, as this is the first Python release that guarantees ordering of all dictionaries.

Git installation

Use the Git installation method if you plan to make changes to the Atomica source code. First, you will need a Python environment containing the numpy, scipy and matplotlib. In theory these can be installed automatically as dependencies for atomica, but in practice, these packages can require system-level setup so it is usually easiest to install them separately beforehand.

We recommend installing via Anaconda, which facilitates getting the binaries and dependencies like QT installed in a platform-agnostic manner. We also recommend working within an Anaconda environment.

You may also wish to install mkl first, before installing numpy etc. to improve performance. So for example:

conda install mkl
conda install numpy scipy matplotlib

Then, you can install Atomica into the environment using:

git clone https://github.com/atomicateam/atomica.git
cd atomica
python setup.py develop
cd atomica/tests
python testworkflow.py

Troubleshooting

Installation fails due to missing numpy

If running python setup.py develop in a new environment, numpy must be installed prior to scipy. In some cases, installing numpy may fail due to missing compiler options. In that case, you may wish to install numpy via Anaconda (by installing Python through Anaconda, and using conda install numpy scipy matplotlib). In general, our experience has been that it is easier to set up the C binaries for numpy and the QT dependencies for matplotlib via Anaconda rather than doing this via the system, which involves different steps on every platform.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atomica-1.0.21.tar.gz (1.1 MB view hashes)

Uploaded Source

Built Distribution

atomica-1.0.21-py3-none-any.whl (1.2 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page