A spatial optimization library for covering problems. Full documentation is available here
- Clone the repo
git clone git@github.com:apulverizer/allagash.git
- Create the conda environment
conda env create --file environment.yml
- Activate the new environment
conda activate allagash
- Install allagash locally
pip install -e ./src --no-deps
- Install a solver that is supported by Pulp
- Launch jupyter notebook
jupyter notebook
You should now be able to run the example notebooks.
You can install Allagash using pip
but may need to manually configure certain dependencies if using Windows.
- Run
pip install allagash
- Run tests
pytest --nbval
- From the repo directory run
sphinx-build -b html ./src-doc ./docs -a
This will deploy html documentation to the docs folder.
You can build the local docker image that includes Allagash, Python, Jupyter, GLPK, and COIN-OR CBC.
- Builder the docker image
docker build . -t apulverizer/allagash:latest
- Launch Jupyter notebook
docker run -i -t --user=allagash -p 8888:8888 apulverizer/allagash:latest /bin/bash -c "jupyter notebook --ip='*' --port=8888 --no-browser"
You should now be able to run the example notebooks.
You can test the notebooks as well by running docker run --user=allagash apulverizer/allagash:latest /bin/bash -c "py.test --nbval"
If you'd like to mount a directory of local data/files into the container, you can add -v <your-local-dir>:/home/allagash/<dir-name>
when running docker run
You can build a docker container that will run the tests (mounted into the container)
docker build . --file build.Dockerfile --tag apulverizer/allagash:build
docker run --user=allagash -v $PWD/tests:/home/allagash/tests -v $PWD/src-doc:/home/allagash/src-doc apulverizer/allagash:build /bin/bash -c "py.test --nbval"