-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathenvironment.yml
77 lines (69 loc) · 2.87 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
name: clearwater_riverine
channels:
- conda-forge
- nodefaults # Speeds solving env, by limiting the number of options
dependencies:
# Main package dependencies
- python = 3.11
- scipy # installs numpy, pandas and most pyData libraries
- numba
- dask
- xarray
- cf_xarray # Interprets CF Convention attributes for Xarray objects
- h5py
- hdf5plugin # HDF5 compression filters for h5py
- gridgeo # Convert UGRID and SGRID compliant files to a variety of geo-like objects. https://github.com/pyoceans/gridgeo
- netCDF4
- zarr
- numcodecs # buffer compression and transformation codecs for use by zarr
- bottleneck # speeds up NaN-skipping and rolling window aggregations by a large factor
- geopandas
- spatialpandas
- fastparquet # consider removing in favor of using pyarrow engine
- xarray-simlab # Explore for refactoring
# Testing and static analysis
- pytest
- pytest-cov
- pyright
# Performance profiling
- snakeviz
# Examples (optional)
# - pooch # for xarray tutorial dataset
# Visualization (optional)
- hvplot # hvPlot installs most HoloViz libs, https://holoviz.org
- geoviews
- panel >=0.14 # Major update for dashboarding
- cmasher # Adds function to subset colormaps, including from HoloViz's colorcet
- selenium # required for saving gif output
- geckodriver # required for saving gif output
- param
# Interactivity via Jupyter Notebooks
- jupyterlab >=4
- nodejs # required for many extensions
- ipympl # jupyter-matplotlib, https://github.com/matplotlib/ipympl
- ipywidgets # Interactive HTML widgets for Jupyter
- jupyter_bokeh >=4.0.1 # Renders Holviz / Bokeh objects in Jupyter
- pyviz_comms # bidirectional communication between Python & JavaScript for Jupyter
# Dev tools: Language Server Protocol (LSP) (Optional), for:
# code navigation + hover suggestions + linters + autocompletion + rename
- python-lsp-server # LSP extension for Python (pylsp), including:
# Rope for Completions and renaming
# Pyflakes linter to detect various errors
# McCabe linter for complexity checking
# pycodestyle linter for style checking
# pydocstyle linter for docstring style checking (disabled by default)
# autopep8 for code formatting
# YAPF for code formatting (preferred over autopep8)
# flake8 for error checking (disabled by default)
# pylint for code linting (disabled by default)
- pylsp-mypy # MyPy type checking for Python >=3.7.
- jupyterlab-lsp # Provides both server extension and lab extension
# environment and package management
- conda
- conda-build
- conda-libmamba-solver # Faster env solver, https://conda.github.io/conda-libmamba-solver/
- mamba
# PIP install requirements only if it is not possible with conda
# https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#using-pip-in-an-environment
- git
- pip