-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathenvironment.yml
More file actions
81 lines (73 loc) · 2.97 KB
/
Copy pathenvironment.yml
File metadata and controls
81 lines (73 loc) · 2.97 KB
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
name: texas-env
channels:
- conda-forge
# NOTE: no `channel_priority:` key here. It is not a valid environment.yml
# section -- conda prints EnvironmentSectionNotValid and ignores it -- so it
# only ever looked like it was enforcing something. It is also unnecessary:
# channel priority matters when a package exists on more than one channel, and
# this file declares exactly one. Verified 2026-09-08: all 441 conda packages in
# conda-lock.yml resolve to conda-forge.
dependencies:
# --- Core & Environment ---
- python=3.10
- pip
- jupyterlab
- ipywidgets
- tqdm
- ipykernel
- psutil # utils/system_info.py imports this unguarded at module level
# --- Core Scientific Stack ---
- numpy
- pandas
- openpyxl # backs pd.read_excel (culture/mesocosm .xlsx, SI_code00)
- scipy
- scikit-learn # SI_code00/SI_code02: LinearRegression
- seaborn
# --- Core Data Handling ---
- xarray
- netcdf4
- h5netcdf
# --- Plotting ---
# NOTE: Multiple pins here increase solver complexity.
# matplotlib was pinned <3.5 for proplot, which this project no longer uses.
# ultraplot needs matplotlib >=3.9, so the old pin made it uninstallable:
# the solver fell back to ultraplot 1.0, which then failed to import at all
# (matplotlib.cm.ColormapRegistry arrived in 3.5). Unpinned 2026-08-27.
- matplotlib>=3.9,<3.11
- matplotlib-inline
# setuptools<81: the reason for this cap was never recorded anywhere in the
# repo or its history. Left in place deliberately (2026-09-07) -- lifting an
# unexplained pin is its own change, with its own test.
- setuptools<81
- cmocean
# --- Geo Stack (Complex Dependencies) ---
- shapely
- cartopy
- pygplates
# --- xESMF Stack (Complex Dependencies) ---
- xesmf
- esmpy # NOT on PyPI; this is why it lives here and in no pip extra
- esmf
- hdf5
- libnetcdf
# --- Stan & Other Tools ---
- cmdstan=2.36.0 # [unix]
- cmdstanpy>=1.0
- stanio
- typing-extensions
- pyarrow # backs pd.read_parquet (PhanTEX_GIG_df.parquet, SI_code02)
# --- Pip-only packages (conda-lock skips these if listed under conda) ---
- pip:
- ultraplot>=2.4.0 # keep in step with pyproject; <2.4 cannot import
- pykrige
- regionmask>=0.9
- baysparpy>=0.0.2 # SI_code2/3: BAYSPAR TEX86 comparison
- baysplinepy>=0.0.1 # SI_code2/3: BAYSPLINE UK'37 comparison
- bayfox # SI_code2/3: BAYFOX foram δ18O comparison
# NOTE: TEXAS itself is deliberately NOT installed here. A `texas-psm>=0.4.0`
# entry resolved from PyPI, so conda-lock pinned the *published* wheel and
# baked its dependency metadata into conda-lock.yml -- reintroducing plotly,
# which the 2026-09 audit had just removed, under a version number identical
# to the local tree's. Every core dependency above is declared explicitly, so
# nothing is lost. Install the package itself with `pip install -e .`, which
# both CLAUDE.md and docs/installation.md already instruct.