Skip to content

Commit d414461

Browse files
authored
Merge pull request #100 from earthlab/upgrade-to-3.9
Upgrade to 3.11
2 parents 2b98909 + f1b63a3 commit d414461

5 files changed

Lines changed: 94 additions & 59 deletions

File tree

.github/workflows/build-for-docker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on: workflow_dispatch
55
jobs:
66
runtests:
77
name: "Set up environment"
8-
runs-on: "ubuntu-latest"
8+
runs-on: "ubuntu-20.04"
99
defaults:
1010
run:
1111
shell: bash -l {0}

.github/workflows/build-push-image.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ jobs:
1010
steps:
1111
- name: Checkout
1212
uses: actions/checkout@v2
13+
with:
14+
ref: upgrade-to-3.9
1315

1416
- name: Login to DockerHub
1517
uses: docker/login-action@v1
@@ -19,12 +21,12 @@ jobs:
1921

2022
- name: Build and push image
2123
id: docker_build
22-
uses: docker/build-push-action@v2
24+
uses: docker/build-push-action@v5.1.0
2325
with:
2426
context: ./
2527
file: ./Dockerfile
2628
push: true
27-
tags: earthlab/earth-analytics-python-env:${GITHUB_REF##*/}
29+
tags: earthlab/earth-analytics-dev-env:latest
2830

2931
- name: Image digest
3032
run: echo ${{ steps.docker_build.outputs.digest }}

.github/workflows/build-test-envt.yml

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,24 @@ jobs:
99
strategy:
1010
fail-fast: false
1111
matrix:
12-
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
12+
os:
13+
- "ubuntu-latest"
14+
- "macos-13"
15+
- "macos-latest"
16+
- "windows-latest"
1317
defaults:
1418
run:
15-
shell: bash -l {0}
19+
shell: bash -el {0}
1620
steps:
17-
- uses: actions/checkout@v2
21+
- uses: actions/checkout@v4.1.7
22+
with:
23+
ref: ${{ github.head_ref || github.ref_name }}
1824
- uses: conda-incubator/setup-miniconda@v3.0.4
1925
with:
20-
miniconda-version: 'latest'
21-
channels: conda-forge
22-
channel-priority: true
23-
auto-update-conda: false
2426
auto-activate-base: false
2527
environment-file: environment.yml
2628
activate-environment: earth-analytics-python
2729
- run: conda list
2830
- run: python -c "import earthpy"
29-
- run: python -c "import rasterio"
31+
- run: python -c "import geopandas"
32+
- run: python -c "import rioxarray"

Dockerfile

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,32 @@
1-
FROM jupyter/minimal-notebook
1+
FROM jupyter/minimal-notebook:python-3.11
22

3-
MAINTAINER Leah Wasser <leah.wasser@colorado.edu>
3+
# Installing package for libmamba
4+
USER root
5+
RUN apt-get update && \
6+
apt-get install -y \
7+
libfmt-dev \
8+
libtiff5
49

5-
COPY environment.yml environment.yml
10+
USER jovyan
611

7-
RUN conda env update --name base --file environment.yml \
8-
&& conda info --envs \
9-
&& conda list \
10-
&& rm environment.yml
12+
# Set up conda
13+
RUN conda update conda
14+
RUN conda config --remove channels conda-forge
15+
RUN conda config --add channels conda-forge
16+
#RUN conda config --set channel_priority strict
17+
#RUN conda config --set solver classic
1118

12-
ENV PROJ_LIB $CONDA_DIR/share/proj
19+
# Create environment
20+
COPY environment.yml /home/jovyan/
21+
RUN conda env update -n base -f /home/jovyan/environment.yml
1322

14-
# Test imports
15-
RUN python -c "import rasterio"
16-
RUN python -c "import earthpy"
23+
# Activating environment
24+
RUN echo ". /opt/conda/etc/profile.d/conda.sh" >> /home/jovyan/.bash_profile && \
25+
echo "conda deactivate" >> /home/jovyan/.bash_profile && \
26+
echo "conda activate base" >> /home/jovyan/.bash_profile
27+
RUN . /opt/conda/etc/profile.d/conda.sh && conda activate base && python -m ipykernel install --user --name base
28+
# using ~/.bash_profile instead of ~/.bashrc for non-interactive tty (-it) containers
29+
RUN source /home/jovyan/.bash_profile
30+
31+
# Install dev version of Earthpy
32+
RUN pip install git+https://github.com/earthlab/earthpy@apppears

environment.yml

Lines changed: 51 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4,55 +4,69 @@ channels:
44
- defaults
55

66
dependencies:
7-
- python=3.8
7+
- python=3.11
88
- pip
9+
910
# Core scientific python
1011
- numpy
11-
- pyqt
12-
- tqdm
13-
- kiwisolver
14-
15-
# Plotting
16-
- matplotlib
17-
- plotly
18-
- seaborn
12+
- pandas
13+
- scipy
1914

20-
# Spatial packages
21-
- pysal
15+
# Geospatial libraries
16+
# Coordinates and CRSs
2217
- pyproj>=3.0
23-
- rasterstats
2418
- geopy
2519
- cartopy
26-
- descartes
27-
- contextily
28-
- earthpy
29-
- folium
20+
# Vector data
21+
- geopandas
3022
- geojson
31-
- mapboxgl
32-
- hydrofunctions
33-
- geocoder
34-
- tweepy
23+
- pyogrio
24+
# Raster data
3525
- xarray
36-
- rioxarray>=0.3.0
37-
- scipy
26+
- h5py
3827
- netcdf4
39-
- nc-time-axis
28+
- rioxarray>=0.3.0
29+
- xarray-spatial
4030
- regionmask
41-
42-
# Natural language processing
43-
- nltk
44-
- textblob
45-
46-
# Jupyter Environment
47-
- papermill
48-
- autopep8
31+
32+
# Interactive computing
33+
- ipython
4934
- jupyterlab
5035
- notebook
51-
- ipython
52-
- jupyter_contrib_nbextensions
53-
- nbclean
36+
- tqdm
5437
- nbresuse
38+
- papermill
39+
- nbclean
40+
41+
# ML and modeling
42+
- scikit-learn
43+
- scikit-fuzzy
44+
45+
# Data access
46+
- earthpy
47+
- earthaccess
48+
- pystac-client
5549

56-
# Autograding
57-
- matplotcheck>=0.1.3
58-
- nbgrader
50+
# Plotting
51+
# Matplotlib
52+
- matplotlib
53+
- nc-time-axis
54+
- descartes
55+
- contextily
56+
- seaborn
57+
# Holoviews
58+
- hvplot
59+
- geoviews>=1.10
60+
- selenium
61+
- phantomjs
62+
- jupyter_bokeh
63+
# Folium
64+
- folium
65+
66+
# QA
67+
- flake8
68+
- flake8-import-order
69+
- black
70+
- autopep8
71+
- pydocstyle
72+
- nbqa

0 commit comments

Comments
 (0)