Skip to content

Commit abb52ac

Browse files
authored
0.2.1 release (#21)
* doc fix * Update issue templates * link to reference doc * add .gitattributes files * add support for using spatially enabled dataframes (arcgis) * add notebook * update notebook * updates * bump version * fix bug where coverage may not have demand_col when used in MCLP (#16) * Fix build badge * pin all python dependencies for CI (#17) * Update dependencies (#20) * fix empty geometry issue * update dependencies * bump version * bump arcgis version
1 parent a6800c8 commit abb52ac

14 files changed

+272
-57
lines changed

Dockerfile

+4-3
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,11 @@ RUN apt-get update -y && apt-get install -y \
2424
USER allagash
2525
WORKDIR $HOME
2626

27+
# Copy in environment file
28+
COPY --chown=allagash:allagash ci-environment.yml ci-environment.yml
29+
2730
# Configure conda env
28-
RUN conda create -n allagash python=3.7 \
29-
&& conda install -c esri --name allagash -y geopandas=0.4.1 jupyter=1.0.0 matplotlib=3.1.1 pytest=5.0.1 arcgis=1.6.2 shapely=1.6.4 \
30-
&& /opt/conda/envs/allagash/bin/pip install pulp==1.6.10 nbval==0.9.2 \
31+
RUN conda env create -f ci-environment.yml \
3132
&& /opt/conda/envs/allagash/bin/pip install allagash --no-deps \
3233
&& conda clean -a -f -y
3334

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Allagash [![build status](https://github.com/apulverizer/allagash/workflows/build/badge.svg)](https://github.com/apulverizer/allagash/actions)
1+
# Allagash [![build status](https://github.com/apulverizer/allagash/workflows/Build/badge.svg)](https://github.com/apulverizer/allagash/actions)
22
A spatial optimization library for covering problems. Full documentation is available [here](https://apulverizer.github.io/allagash)
33

44
### Running Locally
@@ -45,4 +45,4 @@ If you'd like to mount a directory of local data/files into the container, you c
4545
You can build a docker container that will run the tests (mounted into the container)
4646

4747
1. `docker build . --file build.Dockerfile --tag apulverizer/allagash:build`
48-
2. `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"`
48+
2. `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"`

build.Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ RUN apt-get update -y && apt-get install -y \
2424
USER allagash
2525
WORKDIR $HOME
2626

27-
COPY --chown=allagash:allagash environment.yml environment.yml
27+
COPY --chown=allagash:allagash ci-environment.yml ci-environment.yml
2828
COPY --chown=allagash:allagash src src
2929

3030
# Configure conda env
31-
RUN conda env create -f environment.yml \
31+
RUN conda env create -f ci-environment.yml \
3232
&& cd src \
3333
&& /opt/conda/envs/allagash/bin/python setup.py sdist bdist_wheel \
3434
&& /opt/conda/envs/allagash/bin/pip install allagash --no-deps --find-links dist \

ci-environment.yml

+216
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
1+
name: allagash
2+
channels:
3+
- esri
4+
- defaults
5+
dependencies:
6+
- _libgcc_mutex=0.1
7+
- alabaster=0.7.12
8+
- arcgis=1.8.2
9+
- argon2-cffi=20.1.0
10+
- attrs=20.1.0
11+
- babel=2.8.0
12+
- backcall=0.2.0
13+
- blas=1.0
14+
- bleach=3.1.5
15+
- blinker=1.4
16+
- brotlipy=0.7.0
17+
- bzip2=1.0.8
18+
- ca-certificates=2020.7.22
19+
- cairo=1.14.12
20+
- certifi=2020.6.20
21+
- cffi=1.14.2
22+
- cfitsio=3.470
23+
- chardet=3.0.4
24+
- click=7.1.2
25+
- click-plugins=1.1.1
26+
- cligj=0.5.0
27+
- cmarkgfm=0.4.2
28+
- cryptography=3.0
29+
- curl=7.67.0
30+
- cycler=0.10.0
31+
- dbus=1.13.16
32+
- decorator=4.4.2
33+
- defusedxml=0.6.0
34+
- descartes=1.1.0
35+
- docutils=0.16
36+
- entrypoints=0.3
37+
- expat=2.2.9
38+
- fiona=1.8.13.post1
39+
- fontconfig=2.13.0
40+
- freetype=2.10.2
41+
- freexl=1.0.5
42+
- future=0.18.2
43+
- gdal=3.0.2
44+
- geopandas=0.8.1
45+
- geos=3.8.0
46+
- geotiff=1.5.1
47+
- giflib=5.1.4
48+
- glib=2.65.0
49+
- gst-plugins-base=1.14.0
50+
- gstreamer=1.14.0
51+
- hdf4=4.2.13
52+
- hdf5=1.10.4
53+
- icu=58.2
54+
- idna=2.10
55+
- imagesize=1.2.0
56+
- importlib-metadata=1.7.0
57+
- importlib_metadata=1.7.0
58+
- iniconfig=1.0.1
59+
- intel-openmp=2020.2
60+
- ipykernel=5.3.4
61+
- ipython=7.17.0
62+
- ipython_genutils=0.2.0
63+
- ipywidgets=7.5.1
64+
- jedi=0.17.2
65+
- jeepney=0.4.3
66+
- jinja2=2.11.2
67+
- jpeg=9b
68+
- json-c=0.13.1
69+
- jsonschema=3.2.0
70+
- jupyter=1.0.0
71+
- jupyter_client=6.1.6
72+
- jupyter_console=6.1.0
73+
- jupyter_core=4.6.3
74+
- kealib=1.4.7
75+
- keyring=21.3.1
76+
- kiwisolver=1.2.0
77+
- krb5=1.16.4
78+
- lcms2=2.11
79+
- ld_impl_linux-64=2.33.1
80+
- lerc=2.2
81+
- libboost=1.67.0
82+
- libcurl=7.67.0
83+
- libdap4=3.19.1
84+
- libedit=3.1.20191231
85+
- libffi=3.3
86+
- libgcc-ng=9.1.0
87+
- libgdal=3.0.2
88+
- libgfortran-ng=7.3.0
89+
- libkml=1.3.0
90+
- libnetcdf=4.6.1
91+
- libpng=1.6.37
92+
- libpq=11.5
93+
- libsodium=1.0.18
94+
- libspatialindex=1.9.3
95+
- libspatialite=4.3.0a
96+
- libssh2=1.9.0
97+
- libstdcxx-ng=9.1.0
98+
- libtiff=4.1.0
99+
- libuuid=1.0.3
100+
- libxcb=1.14
101+
- libxml2=2.9.10
102+
- lz4-c=1.8.1.2
103+
- markupsafe=1.1.1
104+
- matplotlib=3.3.1
105+
- matplotlib-base=3.3.1
106+
- mistune=0.8.4
107+
- mkl=2020.2
108+
- mkl-service=2.3.0
109+
- mkl_fft=1.1.0
110+
- mkl_random=1.1.1
111+
- more-itertools=8.4.0
112+
- munch=2.5.0
113+
- nbconvert=5.6.1
114+
- nbformat=5.0.7
115+
- conda-forge::nbsphinx=0.7.1
116+
- ncurses=6.2
117+
- notebook=6.1.1
118+
- ntlm-auth=1.5.0
119+
- numpy=1.19.1
120+
- numpy-base=1.19.1
121+
- oauthlib=3.1.0
122+
- olefile=0.46
123+
- openjpeg=2.3.0
124+
- openssl=1.1.1g
125+
- packaging=20.4
126+
- pandas=1.1.1
127+
- pandoc=2.10.1
128+
- pandocfilters=1.4.2
129+
- parso=0.7.0
130+
- pcre=8.44
131+
- pexpect=4.8.0
132+
- pickleshare=0.7.5
133+
- pillow=7.2.0
134+
- pip=20.2.2
135+
- pixman=0.40.0
136+
- pkginfo=1.5.0.1
137+
- pluggy=0.13.1
138+
- poppler=0.65.0
139+
- poppler-data=0.4.9
140+
- postgresql=11.5
141+
- proj=6.2.1
142+
- prometheus_client=0.8.0
143+
- prompt-toolkit=3.0.6
144+
- prompt_toolkit=3.0.6
145+
- ptyprocess=0.6.0
146+
- py=1.9.0
147+
- pycparser=2.20
148+
- pygments=2.6.1
149+
- pyjwt=1.7.1
150+
- pykerberos=1.2.1
151+
- pyopenssl=19.1.0
152+
- pyparsing=2.4.7
153+
- pyproj=2.6.1.post1
154+
- pyqt=5.9.2
155+
- pyrsistent=0.16.0
156+
- pyshp=2.1.0
157+
- pysocks=1.7.1
158+
- pytest=6.0.1
159+
- python=3.7.7
160+
- python-dateutil=2.8.1
161+
- pytz=2020.1
162+
- pyzmq=19.0.1
163+
- qt=5.9.7
164+
- qtconsole=4.7.6
165+
- qtpy=1.9.0
166+
- readline=8.0
167+
- readme_renderer=24.0
168+
- requests=2.24.0
169+
- requests-kerberos=0.12.0
170+
- requests-oauthlib=1.3.0
171+
- requests-toolbelt=0.9.1
172+
- requests_ntlm=1.1.0
173+
- rtree=0.9.4
174+
- secretstorage=3.1.2
175+
- send2trash=1.5.0
176+
- setuptools=41.0.1
177+
- shapely=1.6.4
178+
- sip=4.19.8
179+
- six=1.15.0
180+
- snowballstemmer=2.0.0
181+
- sphinx=3.2.1
182+
- sphinxcontrib-applehelp=1.0.2
183+
- sphinxcontrib-devhelp=1.0.2
184+
- sphinxcontrib-htmlhelp=1.0.3
185+
- sphinxcontrib-jsmath=1.0.1
186+
- sphinxcontrib-qthelp=1.0.3
187+
- sphinxcontrib-serializinghtml=1.1.4
188+
- sqlite=3.33.0
189+
- tbb=2018.0.5
190+
- terminado=0.8.3
191+
- testpath=0.4.4
192+
- tiledb=1.6.3
193+
- tk=8.6.10
194+
- toml=0.10.1
195+
- tornado=6.0.4
196+
- tqdm=4.48.2
197+
- traitlets=4.3.3
198+
- twine=2.0.0
199+
- tzcode=2020a
200+
- urllib3=1.25.10
201+
- wcwidth=0.2.5
202+
- webencodings=0.5.1
203+
- wheel=0.35.1
204+
- widgetsnbextension=3.5.1
205+
- xerces-c=3.2.2
206+
- xz=5.2.5
207+
- zeromq=4.3.2
208+
- zipp=3.1.0
209+
- zlib=1.2.11
210+
- zstd=1.3.7
211+
- pip:
212+
- amply==0.1.2
213+
- coverage==5.2.1
214+
- nbval==0.9.6
215+
- pulp==2.3
216+
- sphinx-rtd-theme==0.4.3

environment.yml

+15-13
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
name: allagash
22
channels:
3-
- defaults
43
- esri
4+
- defaults
55
dependencies:
6-
- arcgis=1.6.2
7-
- shapely=1.6.4
8-
- geopandas=0.4.1
9-
- jupyter=1.0.0
10-
- pip>=19.1.1
11-
- pytest>=5.0.1
12-
- python=3.7.4
13-
- sphinx>=2.1
6+
- arcgis>=1.8.2
7+
- descartes>=1.1.0
8+
- shapely==1.6.4
9+
- geopandas>=0.8.1
10+
- jupyter>=1.0.0
11+
- pandoc>=2.2.3.2
12+
- pip>=20.0.2
13+
- pytest>=5.4.2
14+
- python>=3.7
15+
- sphinx>=3.0.3
1416
- conda-forge::nbsphinx>=0.4.2
15-
- twine>=1.13.0
16-
- conda-forge::setuptools>=41.2.0
17+
- twine>=2.0.0
18+
- setuptools>=41.0.1
1719
- pip:
18-
- pulp==1.6.10
20+
- pulp~=2.1
1921
- sphinx-rtd-theme~=0.4.3
20-
- nbval~=0.9.2
22+
- nbval~=0.9.5

src-doc/examples/LSCP.ipynb

+3-10
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
"metadata": {},
2121
"outputs": [],
2222
"source": [
23+
"import warnings\n",
24+
"warnings.filterwarnings('ignore')\n",
2325
"import geopandas\n",
2426
"import matplotlib.pyplot as plt\n",
2527
"import pulp\n",
@@ -206,17 +208,8 @@
206208
"nbconvert_exporter": "python",
207209
"pygments_lexer": "ipython3",
208210
"version": "3.7.4"
209-
},
210-
"pycharm": {
211-
"stem_cell": {
212-
"cell_type": "raw",
213-
"metadata": {
214-
"collapsed": false
215-
},
216-
"source": []
217-
}
218211
}
219212
},
220213
"nbformat": 4,
221214
"nbformat_minor": 2
222-
}
215+
}

src-doc/examples/MCLP.ipynb

+3-10
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
"metadata": {},
2121
"outputs": [],
2222
"source": [
23+
"import warnings\n",
24+
"warnings.filterwarnings('ignore')\n",
2325
"import geopandas\n",
2426
"import matplotlib.pyplot as plt\n",
2527
"import pulp\n",
@@ -206,17 +208,8 @@
206208
"nbconvert_exporter": "python",
207209
"pygments_lexer": "ipython3",
208210
"version": "3.7.4"
209-
},
210-
"pycharm": {
211-
"stem_cell": {
212-
"cell_type": "raw",
213-
"metadata": {
214-
"collapsed": false
215-
},
216-
"source": []
217-
}
218211
}
219212
},
220213
"nbformat": 4,
221214
"nbformat_minor": 2
222-
}
215+
}

src-doc/examples/Using ArcGIS.ipynb

+3-10
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
"metadata": {},
2121
"outputs": [],
2222
"source": [
23+
"import warnings\n",
24+
"warnings.filterwarnings('ignore')\n",
2325
"from arcgis.features import GeoAccessor\n",
2426
"from arcgis.gis import GIS\n",
2527
"import pulp\n",
@@ -208,17 +210,8 @@
208210
"nbconvert_exporter": "python",
209211
"pygments_lexer": "ipython3",
210212
"version": "3.7.4"
211-
},
212-
"pycharm": {
213-
"stem_cell": {
214-
"cell_type": "raw",
215-
"metadata": {
216-
"collapsed": false
217-
},
218-
"source": []
219-
}
220213
}
221214
},
222215
"nbformat": 4,
223216
"nbformat_minor": 2
224-
}
217+
}

src/allagash/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
from .problem import Problem, UnboundedException, UndefinedException, InfeasibleException, NotSolvedException
22
from .coverage import Coverage
33

4-
__version__ = "0.2.0"
4+
__version__ = "0.2.1"

0 commit comments

Comments
 (0)