Skip to main content

ODE modeling in Python.

Project description

PyGOM - Python Generic ODE Model

pypi version licence Github actions Jupyter Book Badge

A generic framework for Ordinary Differential Equation (ODE) models, especially compartmental type systems. This package provides a simple interface for users to construct ODE models backed by a comprehensive and easy to use tool–box implementing functions to easily perform common operations such as parameter estimation and solving for deterministic or stochastic time evolution. With both the algebraic and numeric calculations performed automatically (but still accessible), the end user is free to focus on model development. Full documentation for this package is avalible on the documentation page.

Installation

The easiest way to install a copy of PyGOM is via PyPI and pip

pip install pygom

Alternatively, you can download a local copy of the PyGOM source files from this GitHub repository:

git clone https://github.com/ukhsa-collaboration/pygom.git

Please be aware that there may be redundant files within the package as it is under active development.

[!NOTE] The latest fully reviewed version of PyGOM will be on the master branch and we generally recommend that users install this version. However, the latest version being prepared for release is hosted on the dev branch.

When running the following command line commands, ensure that your current working directory is the one where the PyGOM source files were downloaded to. This should be found from your home directory:

cd pygom

Activate the relevant branch for installation via Git Bash. for example if you want new release then this is the dev branch:

git checkout dev

Package dependencies can be found in the file, requirements.txt. An easy way to install these to create a new conda environment in Anaconda Prompt via:

conda env create -f conda-env.yml

which you should ensure is active for the installation process using

conda activate pygom

Alternatively, you may add dependencies to your own environment through conda:

conda install --file requirements.txt

or via pip:

pip install -r requirements.txt

The final prerequisites, if you are working on a Windows machine, is that you will also need to install:

You should now be able to install the PyGOM package via command line:

pip install .

and test that installation has completed successfully

python -m unittest discover --verbose --start-directory tests

This will run a few test cases and can take some minutes to complete.

Documentation

Documentation must be built locally and all necessary files can be found in the docs folder. Documentation is built from the command line by first installing the additional documentation requirements:

pip install -r docs/requirements.txt

and then building the documentation:

jupyter-book build docs

The html files will be saved in the local copy of your repository under:

docs/_build/html

You can view the documentation by opening the index file in your browser of choice:

docs/_build/html/index.html

[!NOTE] Building the documentation involves running many examples in python which can take up to 30 minutes. Subsequent builds with these examples unchanged are much quicker due to caching of the code outputs.

Please be aware that if the module tests fails, then the documentation for the package will not compile.

Contributors

Thomas Finnie (Thomas.Finnie@ukhsa.gov.uk)

Edwin Tye

Hannah Williams

Jonty Carruthers

Martin Grunnill

Joseph Gibson

Version

0.1.8 Updated and much better documentation.

0.1.7 Add Approximate Bayesian Computation (ABC) as a method of fitting to data

0.1.6 Bugfix scipy API, pickling, print to logging and simulation

0.1.5 Remove auto-simplification for much faster startup

0.1.4 Much faster Tau leap for stochastic simulations

0.1.3 Defaults to python built-in unittest and more in sync with conda

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

pygom-0.1.8.tar.gz (1.7 MB view details)

Uploaded Source

Built Distributions

pygom-0.1.8-cp312-cp312-win_amd64.whl (191.0 kB view details)

Uploaded CPython 3.12 Windows x86-64

pygom-0.1.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (730.0 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pygom-0.1.8-cp311-cp311-win_amd64.whl (190.4 kB view details)

Uploaded CPython 3.11 Windows x86-64

pygom-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (739.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pygom-0.1.8-cp310-cp310-win_amd64.whl (190.4 kB view details)

Uploaded CPython 3.10 Windows x86-64

pygom-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (701.8 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pygom-0.1.8-cp39-cp39-win_amd64.whl (190.9 kB view details)

Uploaded CPython 3.9 Windows x86-64

File details

Details for the file pygom-0.1.8.tar.gz.

File metadata

  • Download URL: pygom-0.1.8.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for pygom-0.1.8.tar.gz
Algorithm Hash digest
SHA256 f148e2c4390be3d29667653ba8bcb8196f8876ad0f43195e3bcbdbfcbb68a13f
MD5 13f273581a1345b8262988e8c7b11bef
BLAKE2b-256 65761f266e9ffba8def68fa420de5e27ac7765c70ae4198a084c39fc11a5c295

See more details on using hashes here.

File details

Details for the file pygom-0.1.8-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pygom-0.1.8-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 191.0 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for pygom-0.1.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b230c096d9bb1508b546485565a3078de05adcb04a1e54e0113305622c30df8d
MD5 ce46a661016524f280f3c6a006a5bca6
BLAKE2b-256 83b26e1dbfc44cbdf257ce78d34ad3aaec9e2e7cdb1a207363d367646d4a83af

See more details on using hashes here.

File details

Details for the file pygom-0.1.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygom-0.1.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2730322599d380cdfd4849ae507cdb87ee1921fc3d11dd8293502680c884d3c6
MD5 0e04d80ee911a2ec2effb864853db329
BLAKE2b-256 a46b71e3358056dd70b6a51a08b090093fbbb06690a62e1d25d9ed69840c0342

See more details on using hashes here.

File details

Details for the file pygom-0.1.8-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pygom-0.1.8-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 190.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for pygom-0.1.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9ea60553f4637a0a9a909e9b9281d9d4ef49e24c1cf8e52c9fa7539ecf47cf58
MD5 dd63bdb94ebd8b1afdeb2ccc32b06419
BLAKE2b-256 be7ac8eed6a26de7aac3480737cd855663a02297cfb6cc63b283b6a0a55958b3

See more details on using hashes here.

File details

Details for the file pygom-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygom-0.1.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dc0dc7226a32cebaa360d0f0aa5926b1e2629f0d743aafa6bcab8359a3563447
MD5 85888379c2ee9abcd2ed54311e574ec7
BLAKE2b-256 9edea4d7ee401aaf220ed516daa8ca5668eea4b1c7cfac0eb723df115bc811cb

See more details on using hashes here.

File details

Details for the file pygom-0.1.8-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pygom-0.1.8-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 190.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for pygom-0.1.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 021ca2eba769a28a36bde0e64a4bfeea48b89685dc7b780b2f41daa7e06336e2
MD5 679eeaa9b4e2da51ff7943a45ff9bac6
BLAKE2b-256 d1878c89bdfb398b899c0177c7f6e012b66a660fc8b7bd462be1338bf1a0c561

See more details on using hashes here.

File details

Details for the file pygom-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pygom-0.1.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e1d10d50469723366c78e5735abf83097b200b0571b150ef827a2ce0d0127351
MD5 4b141433c1f32444a130dc3cd412277f
BLAKE2b-256 8ea13417bf8ef4f94a3ca337b7606525cc2eea8cae846cc82ed5bcfa5cd4a113

See more details on using hashes here.

File details

Details for the file pygom-0.1.8-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pygom-0.1.8-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 190.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for pygom-0.1.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 131a19a0c29aae5fca5915166821484547bf621f00d07f0dffc9e9315366ab91
MD5 4bad2b32a11c0dbbbb910c96760bd411
BLAKE2b-256 84bcda8ff59c6f081de6c760b363ebb8ca43bff3bfe38909c98fa64265526b4b

See more details on using hashes here.

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