Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to 3.10 #97

Closed
wants to merge 60 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
83c583a
Updating to Python 3.11
eculler Apr 10, 2023
649a33f
Merge pull request #95 from earthlab/main
eculler Apr 11, 2023
de22a91
Adding ML libraries, back to 3.10
eculler Apr 12, 2023
46adcd0
Dockerfile improvements from Tyson
eculler Apr 12, 2023
f05fb83
Update build-push-image.yml
eculler Apr 12, 2023
36314b7
replacing environment name
eculler Apr 12, 2023
a335ce1
Roll back base image
eculler Apr 13, 2023
196e418
Removing breaking permissions link
eculler Apr 13, 2023
e03267f
miniconda base image
eculler Apr 13, 2023
fc58971
Comment out new libraries
eculler Apr 13, 2023
9e71ef1
Adding jovyan user
eculler Apr 13, 2023
47073cb
Switch back to jupyter base image
eculler Apr 13, 2023
10c464d
Add nbgrader install
eculler Apr 19, 2023
c9a360b
remove nbgrader
eculler Apr 19, 2023
3e150c6
install as base environment on docker
eculler Apr 19, 2023
3364d74
update not create base environment
eculler Apr 19, 2023
e676ec7
revert
eculler Apr 19, 2023
e7d761a
Redo changes
eculler Apr 19, 2023
cbc9146
add h5py
eculler Apr 24, 2023
77e7303
Added flake8-import-order
eculler Apr 30, 2023
d77a732
Merge branch 'upgrade-to-3.9' of github.com:earthlab/earth-analytics-…
nkorinek Jun 23, 2023
7e83727
duplicating docker build for both docker environments
nkorinek Jun 23, 2023
36cd6b1
Updated Dockerfile to run
nkorinek Jun 27, 2023
2532a51
Changing ubuntu version due to possible bug with GitHub actions
nkorinek Jun 27, 2023
10086ac
downgrading ubuntu build for github actions
nkorinek Jun 27, 2023
90ff496
added packages to build jupyter books and improve plotting
nkorinek Aug 21, 2023
a81b0da
Update environment.yml
eculler Sep 20, 2023
803d1de
Update Dockerfile
eculler Sep 20, 2023
4540ef2
Update build-push-image.yml
eculler Sep 20, 2023
dec5306
Update Dockerfile
eculler Sep 20, 2023
690d37f
Update Dockerfile
eculler Sep 20, 2023
4981dfb
Update Dockerfile
eculler Sep 20, 2023
deb0ecf
Update Dockerfile
eculler Sep 20, 2023
418db36
Update Dockerfile
eculler Sep 20, 2023
fdc54ef
REvert
eculler Sep 20, 2023
bf9063e
Update environment.yml
eculler Sep 28, 2023
dd57e6e
Update build-push-image.yml
eculler Sep 28, 2023
d8e7ed2
Update environment.yml
eculler Oct 6, 2023
aa6cf88
Update environment.yml
eculler Nov 27, 2023
e391d6b
Update Dockerfile
eculler Nov 27, 2023
184509b
Update Dockerfile
eculler Nov 28, 2023
ce31cf0
Update environment.yml
eculler Jan 10, 2024
d85d890
Update Dockerfile
eculler Jan 10, 2024
4034d7d
fix users for libfmt install
eculler Jan 10, 2024
dfd5d0a
Update build-push-image.yml
eculler Jan 10, 2024
a7f6305
add scikit-fuzzy
eculler Jan 10, 2024
2cd4410
Adding pystac-client needed for data searching and access
eculler Jan 12, 2024
ea8084f
Chaning channel order and installing libmft-dev
Jan 18, 2024
84c6943
Update build-push-image.yml
Ckster Jan 18, 2024
8bcb38f
Update build-test-envt.yml
Ckster Jan 18, 2024
989149f
Update environment.yml
Ckster Mar 26, 2024
f6719f6
Adding libtiff5 for geopandas
Apr 23, 2024
b157570
Update environment.yml
eculler Jun 21, 2024
875326a
Update build-test-envt.yml
eculler Jun 21, 2024
85c7654
Update environment.yml
eculler Jun 21, 2024
d6a8fad
Update environment.yml
eculler Jun 21, 2024
cb3d64a
Update build-test-envt.yml
eculler Jun 21, 2024
6765c27
Update build-test-envt.yml
eculler Jun 21, 2024
c7c4823
Update build-test-envt.yml
eculler Jun 21, 2024
6295b69
Update environment.yml
eculler Jun 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-for-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on: workflow_dispatch
jobs:
runtests:
name: "Set up environment"
runs-on: "ubuntu-latest"
runs-on: "ubuntu-20.04"
defaults:
run:
shell: bash -l {0}
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/build-push-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
with:
ref: upgrade-to-3.9

- name: Login to DockerHub
uses: docker/login-action@v1
Expand All @@ -19,12 +21,12 @@ jobs:

- name: Build and push image
id: docker_build
uses: docker/build-push-action@v2
uses: docker/build-push-action@v5.1.0
with:
context: ./
file: ./Dockerfile
push: true
tags: earthlab/earth-analytics-python-env:${GITHUB_REF##*/}
tags: earthlab/earth-analytics-dev-env:latest

- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
25 changes: 12 additions & 13 deletions .github/workflows/build-test-envt.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
# This workflow runs tests for earthpy
# Because we want a conda environment - and that builds slower,
# we divided up tests from linting and docs to make for simpler install envts

name: Test EA Python Envt Mac, Linux, Windows

on: workflow_dispatch
Expand All @@ -13,21 +9,24 @@ jobs:
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
os:
- "ubuntu-latest"
- "macos-13"
- "macos-latest"
- "windows-latest"
defaults:
run:
shell: bash -l {0}
shell: bash -el {0}
steps:
- uses: actions/checkout@v2
- uses: conda-incubator/setup-miniconda@v2
- uses: actions/checkout@v4.1.7
with:
ref: ${{ github.head_ref || github.ref_name }}
- uses: conda-incubator/setup-miniconda@v3.0.4
with:
miniconda-version: 'latest'
channels: conda-forge
channel-priority: true
auto-update-conda: false
auto-activate-base: false
environment-file: environment.yml
activate-environment: earth-analytics-python
- run: conda list
- run: python -c "import earthpy"
- run: python -c "import rasterio"
- run: python -c "import geopandas"
- run: python -c "import rioxarray"
38 changes: 27 additions & 11 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,16 +1,32 @@
FROM jupyter/minimal-notebook
FROM jupyter/minimal-notebook:python-3.11

MAINTAINER Leah Wasser <leah.wasser@colorado.edu>
# Installing package for libmamba
USER root
RUN apt-get update && \
apt-get install -y \
libfmt-dev \
libtiff5

COPY environment.yml environment.yml
USER jovyan

RUN conda env update --name base --file environment.yml \
&& conda info --envs \
&& conda list \
&& rm environment.yml
# Set up conda
RUN conda update conda
RUN conda config --remove channels conda-forge
RUN conda config --add channels conda-forge
#RUN conda config --set channel_priority strict
#RUN conda config --set solver classic

ENV PROJ_LIB $CONDA_DIR/share/proj
# Create environment
COPY environment.yml /home/jovyan/
RUN conda env update -n base -f /home/jovyan/environment.yml

# Test imports
RUN python -c "import rasterio"
RUN python -c "import earthpy"
# Activating environment
RUN echo ". /opt/conda/etc/profile.d/conda.sh" >> /home/jovyan/.bash_profile && \
echo "conda deactivate" >> /home/jovyan/.bash_profile && \
echo "conda activate base" >> /home/jovyan/.bash_profile
RUN . /opt/conda/etc/profile.d/conda.sh && conda activate base && python -m ipykernel install --user --name base
# using ~/.bash_profile instead of ~/.bashrc for non-interactive tty (-it) containers
RUN source /home/jovyan/.bash_profile

# Install dev version of Earthpy
RUN pip install git+https://github.com/earthlab/earthpy@apppears
88 changes: 51 additions & 37 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,55 +4,69 @@ channels:
- defaults

dependencies:
- python=3.8
- python=3.11
- pip

# Core scientific python
- numpy
- pyqt
- tqdm
- kiwisolver

# Plotting
- matplotlib
- plotly
- seaborn
- pandas
- scipy

# Spatial packages
- pysal
# Geospatial libraries
# Coordinates and CRSs
- pyproj>=3.0
- rasterstats
- geopy
- cartopy
- descartes
- contextily
- earthpy
- folium
# Vector data
- geopandas
- geojson
- mapboxgl
- hydrofunctions
- geocoder
- tweepy
- pyogrio
# Raster data
- xarray
- rioxarray>=0.3.0
- scipy
- h5py
- netcdf4
- nc-time-axis
- rioxarray>=0.3.0
- xarray-spatial
- regionmask

# Natural language processing
- nltk
- textblob

# Jupyter Environment
- papermill
- autopep8

# Interactive computing
- ipython
- jupyterlab
- notebook
- ipython
- jupyter_contrib_nbextensions
- nbclean
- tqdm
- nbresuse
- papermill
- nbclean

# ML and modeling
- scikit-learn
- scikit-fuzzy

# Data access
- earthpy
- earthaccess
- pystac-client

# Autograding
- matplotcheck>=0.1.3
- nbgrader
# Plotting
# Matplotlib
- matplotlib
- nc-time-axis
- descartes
- contextily
- seaborn
# Holoviews
- hvplot
- geoviews>=1.10
- selenium
- phantomjs
- jupyter_bokeh
# Folium
- folium

# QA
- flake8
- flake8-import-order
- black
- autopep8
- pydocstyle
- nbqa