Skip to content

Commit

Permalink
update dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
MartinSchobben committed Nov 25, 2024
1 parent c3c36e6 commit 0a0b52b
Show file tree
Hide file tree
Showing 6 changed files with 104 additions and 4 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
_book/
data/
_freeze/
notebooks/
notebooks/*.ipynb
*_files/
.jupyter_cache/
*~
Expand All @@ -22,6 +22,7 @@ __pycache__/*
.cache/*
.*.swp
.ipynb_checkpoints/*
/**/.ipynb_checkpoints/*
.DS_Store

# Project files
Expand Down
3 changes: 1 addition & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ REQ = $(basename $(notdir $(YML)))
BASENAME = $(CURDIR)

CONDA_ACTIVATE = source $$(conda info --base)/etc/profile.d/conda.sh ; conda activate ; conda activate
PREFIX = $(BASENAME)/.conda_envs
CONDA_ENV_DIR := $(foreach i,$(REQ),$(PREFIX)/$(i))
CONDA_ENV_DIR := $(foreach i,$(REQ),$(shell conda info --base)/envs/$(i))
KERNEL_DIR := $(foreach i,$(REQ),$(shell jupyter --data-dir)/kernels/$(i))

help:
Expand Down
2 changes: 1 addition & 1 deletion environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: eo-datascience
channels:
- conda-forge
dependencies:
- python=3.10
- python=3.12
- pip
- mamba
- jupyter
Expand Down
23 changes: 23 additions & 0 deletions notebooks/01_classification.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: 01_classification
channels:
- conda-forge
dependencies:
- python=3.12
- pip
- mamba
- jupyter
- cmcrameri
- dask
- geopandas
- matplotlib
- nbformat
- numpy
- odc-stac
- openssl
- rasterio
- rioxarray
- scikit-learn
- seaborn
- stackstac
- xarray
- pystac-client
17 changes: 17 additions & 0 deletions notebooks/02_floodmapping.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: 02_floodmapping
channels:
- conda-forge
dependencies:
- python=3.12
- pip
- mamba
- jupyter
- eomaps
- numpy
- scipy
- xarray
- zarr
- netcdf4
- ipympl
- ipywidgets
- datashader
60 changes: 60 additions & 0 deletions notebooks/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
.ONESHELL:
SHELL = /bin/bash
.PHONY: help clean environment kernel teardown post-render data

YML = $(wildcard notebooks/*.yml)
QMD = $(wildcard chapters/*.qmd)
REQ = $(basename $(notdir $(YML)))
BASENAME = $(CURDIR)

CONDA_ACTIVATE = source $$(conda info --base)/etc/profile.d/conda.sh ; conda activate ; conda activate
CONDA_ENV_DIR := $(foreach i,$(REQ),$(shell conda info --base)/envs/$(i))
KERNEL_DIR := $(foreach i,$(REQ),$(shell jupyter --data-dir)/kernels/$(i))

help:
@echo "Makefile for setting up environment, kernel, and pulling notebooks"
@echo ""
@echo "Usage:"
@echo " make environment - Create Conda environments"
@echo " make kernel - Create Conda environments and Jupyter kernels"
@echo " "
@echo " make teardown - Remove Conda environments and Jupyter kernels"
@echo " make clean - Removes ipynb_checkpoints"
@echo " make help - Display this help message"

clean:
rm --force --recursive .ipynb_checkpoints/ **/.ipynb_checkpoints/ _book/ \
_freeze/ .quarto/

teardown:
$(foreach f, $(REQ), \
$(CONDA_ACTIVATE) $(f); \
jupyter kernelspec uninstall -y $(f); \
conda deactivate; \
conda remove -n $(f) --all -y ; \
conda deactivate; )

$(CONDA_ENV_DIR): $(YML)
- conda update -n base -c conda-forge conda -y
$(foreach f, $^, conda env create --file $(f); )

environment: $(CONDA_ENV_DIR)
@echo -e "conda environments are ready."

$(KERNEL_DIR): $(CONDA_ENV_DIR)
$(foreach f, $(REQ), \
$(CONDA_ACTIVATE) $(f); \
python -m ipykernel install --user --name $(f) --display-name $(f); \
conda deactivate; )

kernel: $(KERNEL_DIR)
@echo -e "conda jupyter kernel is ready."

post-render:
- mv chapters/*.ipynb notebooks/ >/dev/null 2>&1
- for f in chapters/*.quarto_ipynb ; do mv -- "$f" "${f%.quarto_ipynb}.ipynb" >/dev/null 2>&1; done
cp Makefile notebooks/

data:
wget -q -P ./data https://cloud.geo.tuwien.ac.at/s/AezWMFwmFQJsKyr/download/floodmap.zip
cd data && unzip -n floodmap.zip && rm floodmap.zip

0 comments on commit 0a0b52b

Please sign in to comment.