-
Notifications
You must be signed in to change notification settings - Fork 2
/
environment.yml
258 lines (252 loc) · 9.56 KB
/
environment.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
# conda env create -f environment.yml
name: birdy
channels:
- conda-forge
- cdat
- bokeh
# - plotly # for jupyter-dash
# - pyston
- pyviz/label/dev # for jupyter-panel-proxy, panel
- defaults
dependencies:
# Do not put xclim and ravenpy direct dependencies here to let xclim and ravenpy
# manage their own dependencies pinning.
#
# xclim direct dependencies: https://github.com/conda-forge/xclim-feedstock/blob/master/recipe/meta.yaml
# ravenpy direct dependencies: https://github.com/conda-forge/ravenpy-feedstock/blob/master/recipe/meta.yaml
# Pin latest xclim and ravenpy to avoid downgrading during the second installation phase.
# Mamba is quicker to solve dependencies than conda, but it is less precise so accidental downgrades can happen.
- xclim >= 0.53.2
- ravenpy >= 0.16.0
# https://anaconda.org/conda-forge/xscen
# A climate change scenario-building analysis framework, built with xclim/xarray.
- xscen >= 0.10.1
#- dask # from xclim and ravenpy
- dask != 2024.11.0 # bug in this specific version broke Raven nb
#- distributed
# flox: fast & furious GroupBy reductions for dask.array
# https://flox.readthedocs.io/en/latest/
# https://anaconda.org/conda-forge/flox
- flox
- matplotlib
# - xarray # from xclim and ravenpy
# - numpy # from xclim and ravenpy
- numpy
# TODO: unpin cf_xarray due to https://github.com/xarray-contrib/cf-xarray/issues/442
- cf_xarray != 0.8.1
- birdy >= 0.8.7
# - owslib>=0.23.0 # from ravenpy
# - netcdf4 # from ravenpy
- libnetcdf
# https://github.com/ecmwf/cfgrib
# Python interface to map GRIB files to the Unidata's Common Data Model v4
# following the CF Conventions.
- cfgrib
- pydap
- cartopy >= 0.21.0
# Fixes cartopy bug arising with scipy 1.11.
# https://github.com/Ouranosinc/pavics-sdi/pull/298
# https://github.com/Ouranosinc/pavics-sdi/issues/294
- pykdtree
- descartes # Is this really needed???
# - rasterio # from ravenpy
# - gdal # for osgeo, from ravenpy
# - geopandas # from ravenpy
# - pandas # from xclim and ravenpy
# - rioxarray # from ravenpy
# https://anaconda.org/conda-forge/pyogrio
# Vectorized vector I/O using GDAL
- pyogrio
- scikit-image
- ipyleaflet
- threddsclient >= 0.4.5
- bokeh
- regionmask
- siphon
- jupyter_bokeh
- pscript
- h5netcdf
- panel >= 1.2.2
# https://github.com/holoviz/panel
- pyviz_comms # (was labextension pyviz/jupyterlab_pyviz in jupyterlab v2)
- holoviews
- geoviews >= 1.9.6
# this might still be relevant https://github.com/holoviz/hvplot/issues/498
# (violin plot not working with hvplot 0.6.0).
# Per this comment
# https://github.com/bird-house/birdhouse-deploy/pull/63#issuecomment-668270608
# pinning hvplot did not solve the problem with violin plot.
- hvplot
# https://anaconda.org/conda-forge/dash
- dash >= 2.16.1
# https://streamlit.io/
# https://anaconda.org/conda-forge/streamlit
- streamlit
# https://anaconda.org/conda-forge/seaborn
# Statistical data visualization
- seaborn
# python-pptx is a Python library for creating and updating PowerPoint (.pptx) files.
# https://python-pptx.readthedocs.io/en/latest/
# https://anaconda.org/conda-forge/python-pptx
- python-pptx
# openpyxl: library to read/write Excel 2010 xlsx/xlsm files
# https://anaconda.org/conda-forge/openpyxl
- openpyxl
- nc-time-axis
# - cftime # from xclim and ravenpy
# - statsmodels # for ravenpy
# for error 'ImportError: HTTPFileSystem requires "requests" and "aiohttp" to
# be installed' with call 'fsspec.filesystem('https')'
- aiohttp
# - pydantic # from ravenpy
# Intake is a lightweight set of tools for loading and sharing data in data science projects
- intake
# https://intake.readthedocs.io/en/latest/plugin-directory.html
# Plugin for building and loading intake catalogs for earth system data sets
# holdings, such as CMIP (Coupled Model Intercomparison Project) and CESM
# Large Ensemble datasets.
- intake-esm >= 2023.6.14
# load netCDF, Zarr and other multi-dimensional data (xarray_image, netcdf,
# grib, opendap, rasterio, remote-xarray, zarr)
- intake-xarray
# load from ESRI Shape Files, GeoJSON, and geospatial databases with
# geopandas (geojson, postgis, shapefile, spatialite) and regionmask for
# opening shapefiles into regionmask.
- intake-geopandas
# Intake interface to THREDDS data catalogs (thredds_cat, thredds_merged_source)
- intake-thredds
- gcsfs
- zarr
# https://github.com/dask/s3fs/
- s3fs
# - shapely # from ravenpy
# https://github.com/roocs/clisops
- clisops >= 0.9.2
# Universal Regridder for Geospatial Data
# https://github.com/pangeo-data/xESMF
# xesmf-0.6.2 requires clisops>=0.8.0
- xesmf >= 0.6.2
# Sensitivity Analysis Library
# https://anaconda.org/conda-forge/salib
- salib
# https://anaconda.org/conda-forge/geopy
- geopy
# https://anaconda.org/anaconda/memory_profiler
# Monitor memory consumption of a process as well as line-by-line analysis
# of memory consumption for Python programs.
- memory_profiler
# for esgf notebooks
- esgf-compute-api
# https://anaconda.org/conda-forge/esgf-pyclient (for pavics-sdi esgf-dap.ipynb)
- esgf-pyclient
# Disable cdms2 because it was forcing python downgrade to 3.10 and below.
#- cdms2
# Disable vcs because it was forcing python downgrade to below 3.9.
# See https://github.com/CDAT/vcs/issues/457
# package vcs-8.1-py_0 requires vtk-cdat >8.1, but none of the providers can be installed
# package vtk-cdat-8.2.0.8.2.1-py38hbc81915_0 requires python >=3.8,<3.9.0a0 *_cpython
#- vcs
- mesalib
# tests
- pytest
- pytest-xdist
- nbval
# to edit .ipynb
- jupyter
# to be launched by image jupyterhub/jupyterhub
- notebook
- jupyterlab
- jupyterhub
# https://ipywidgets.readthedocs.io/en/latest/user_install.html
- ipywidgets
# https://github.com/jupyter-widgets/ipyleaflet
- ipyleaflet
# https://github.com/mamba-org/gator (was jupyter_conda)
- mamba_gator
# to diff .ipynb files
- nbdime
# extension to produce .py files from notebook .ipynb files
- jupytext
# jupyterlab extension for git
- jupyterlab-git >= 0.44.0
# Voilà turns Jupyter notebooks into standalone web applications
- voila
# TODO: UNPIN jupyter-archive due to
# https://github.com/jupyterlab-contrib/jupyter-archive/issues/132
- jupyter-archive <= 3.3.4
# https://github.com/jtpio/jupyterlab-topbar
- jupyterlab-topbar
# https://github.com/jtpio/jupyterlab-system-monitor (was from jupyterlab-topbar)
- jupyterlab-system-monitor
- jupyter-resource-usage # needed by jupyterlab-system-monitor
- nbresuse # needed by jupyterlab-system-monitor
# xeus-python: back-end kernel implementing the Jupyter Debug Protocol
- xeus-python
# https:://github.com/jupyterhub/jupyter-server-proxy
- jupyter-server-proxy
# https://github.com/dask/dask-labextension
- dask-labextension
# https://github.com/holoviz/jupyter-panel-proxy
# DISABLE: seems to interfere with 'panel serve' command
#- jupyter-panel-proxy >= 0.2.0a2
# Force newer nodejs for 'jupyter lab build' issue
# https://github.com/jupyterlab/jupyterlab/issues/11726#issuecomment-998901247
# TODO: remove nodejs once all extensions move to prebuilt extensions, see comment
# https://github.com/jupyterlab/jupyterlab/issues/11726#issuecomment-998917305
- nodejs >= 16.0
# utilities
- curl
- wget
- nested_dict
# https://anaconda.org/conda-forge/urlpath
# https://github.com/brandonschabell/urlpath
- urlpath
- paramiko
- pymetalink # for Raven notebook Extract_geographical_watershed_properties.ipynb
- requests-magpie
- scp
- selenium
- geckodriver
- xlrd
- pre-commit
# pyston_lite_autoload blocked us from using newer Python than 3.8
# package pyston_lite_autoload-2.3.4-pyh44b312d_0 requires pyston_lite
# 2.3.4 py38h0a891b7_0, but none of the providers can be installed
# https://github.com/pyston/pyston/
# - pyston_lite_autoload
# for pip packages
- pip
- pip:
# https://pypi.org/project/xncml/
# Tools for manipulating and opening NCML (NetCDF Markup) files with/for xarray
- xncml
# https://pypi.org/project/hsclient/
# A python client for managing HydroShare resources, replaces hs_restclient
- hsclient
# https://pypi.org/project/fstd2nc/
# Converts RPN standard files (from Environment Canada) to netCDF files.
- fstd2nc
# https://pypi.org/project/figanos/
# Outils pour produire des graphiques informatifs sur les impacts des
# changements climatiques.
- figanos
# visual debugger for Jupyter Notebook, not working with JupyterLab at this moment
- pixiedust
# block execution of 'run_all_cells' until user input finished
- ipython_blocking
# Mimics how one might format their calculation if it were written with a
# pencil: write the symbolic formula, followed by numeric substitutions,
# and then the result.
# DISABLE handcalcs, interfere with "Panel preview" button
# See comment https://github.com/holoviz/panel/issues/3440#issuecomment-1112182170
# - handcalcs
# https://github.com/ShopRunner/jupyter-notify
# Jupyter Magic For Browser Notifications of Cell Completion.
- jupyternotify
# https://github.com/jupyterlab-contrib/jupyterlab-logout (was from jupyterlab-topbar)
- jupyterlab-logout
# https://github.com/jupytercalpoly/jupyterlab-tabular-data-editor
- jupyterlab-tabular-data-editor
# Needed to run notebook tests. Missing indirect recursive dependencies
# somewhere, should not need to manually add it here.
- pytest-tornasync