A spatial optimization library for covering problems. Full documentation is available here
To install with geopandas run:
conda install -c conda-forge allagash geopandas
To install with arcgis run:
conda install -c conda-forge -c esri allagash arcgis
To install without a spatial library run:
conda install -c conda-forge allagash
To install with geopandas run:
pip install allagash[geopandas]
To install with arcgis run:
pip install allagash[arcgis]
To install without a spatial library run:
pip install allagash
- 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 pre-commit hooks
pre-commit install
- Install allagash locally
pip install -e . --no-deps
- Launch jupyter notebook
jupyter notebook
You should now be able to run the example notebooks.
You can choose to install and use another solver that is supported by Pulp:
- GLPK (included in conda environment)
- COIN-OR CBC
- CPLEX
- Gurobi
- 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"