epispot nightly
A Python package for the mathematical modeling of infectious diseases via
compartmental models. Originally designed for epidemiologists, epispot can
be adapted for almost any type of modeling scenario.
This is a nightly version of epispot and may contain possibly unstable code.
Please see usage instructions prior to adding this project as a dependency
If you prefer to use the stable version of epispot, please see
the project on PyPI
Installation
The epispot package can be installed from PyPI, Anaconda, or be built from the
source. However, as epispot's nightly versions cannot be released per-commit to
the conda packaging registry, using Anaconda means that epispot will have to be
installed via the built-in pip
installer. Instructions for each platform are listed
below.
PyPI
This is the easiest way to install epispot nightly. Fire up a terminal and type:
pip install epispot-nightly
Pip will ask you to install numpy
and matplotlib
as dependencies if you
haven't already. Additionally, it may require you to install fire
for the CLI.
These can be installed beforehand with:
pip install numpy
pip install matplotlib
pip install fire
Update the package regularly with:
pip install epispot-nightly --upgrade
Anaconda
Please note that the nightly
version is not available on the conda
package registry. However, it is still possible to install on conda
-based
systems with
pip install epispot-nightly
which uses pip
from Anaconda to install it. All dependencies are available
on the conda package registry, but you may prefer to install them via pip
to
avoid cross-referencing packages installed on different registries.
Update the package regularly with:
pip install epispot-nightly --upgrade
If you installed the dependencies on conda instead of pip
you may have to update
them too after major releases. You can do that with:
conda update numpy
conda update matplotlib
conda update fire
Building from the source
This is the hardest way to install epispot-nightly
but it can be particularly
useful if you plan on helping out with the development process. The main downside
of this approach is that you will have to continuously run git pull
and then
rerun the steps listed below to get the latest version.
Clone the repository with:
git clone https://github.com/epispot/epispot # clone epispot/epispot
cd epispot # open project
pip install -r requirements.txt # install package requirements
pip install -r bin/requirements.txt # Install CLI requirements
Then, build the nightly version with:
python setup-nightly.py install
If you're working on a patch, you may find it helpful to use
python setup-nightly.py develop
instead because it will greatly simplify the constant reinstallation of the package.
Usage
It is important to note that this package was designed specifically
for getting releases out as soon as possible when modeling is important.
During the COVID-19 pandemic, this strategy has allowed epispot to
distribute versions quickly on PyPI, however, this package may be idle for long
periods of time when there is no need for this kind of rapid distribution.
Please also note that security updates are not provided on previous nightly versions.
To make sure that your version has no vulnerabilities, upgrade to the latest published
version regularly. The latest version of the nightly package is the one that is
maintained by our development team.
Getting Started
Make sure you are already familiar with epispot.
If not, you can find epispot's auto-generated documentation
here. Additionally, we highly recommend reading
the epispot manual to get a better understanding of
the documentation and how to use epispot.
Statuses
Pipeline | Status |
---|
Travis CI | |
CodeCov | |
PyPI main | |
PyPI nightly | |
Security | |
Contributing
Contributions are always welcome!
See CONTRIBUTING.md for instructions on how to get started,
including environment setup and instructions to build from the source.
Please note also that epispot has many guides dedicated to certain types of
contributions. Please see
Thank you to all contributors!