Repository navigation
Expand file tree
/
Copy pathenvironment.yml
More file actions
59 lines (58 loc) · 2.71 KB
/
Copy pathenvironment.yml
File metadata and controls
59 lines (58 loc) · 2.71 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
name: festim-workshop
channels:
- conda-forge
- defaults
dependencies:
- setuptools
- wheel<0.45
- jupyter-book<2.0
# Must be an EXACT pin, not a `<` constraint: repo2docker (Binder / the CI image build)
# only picks up the Python version when it is pinned exactly, otherwise it builds its base
# environment on its own default Python and then has to rewrite the whole stack on top.
# 3.12 because autoemulate is not compatible with Python 3.13 yet.
- python=3.12
- pip
- jupytext # necessary to open MyST files using BinderHub https://jupyterbook.org/en/stable/interactive/launchbuttons.html#launchbuttons-binder
- sphinx-tags
- ipywidgets
- matplotlib
- meshio[all]
- ipykernel
- nbconvert
- sphinx-codeautolink
- fenics-dolfinx>=0.11.0 # >=0.11 required for FESTIM 2.2 gas enclosures (real elements)
- festim==2.2rc2
- pyvista<0.47.1
- python-gmsh
- shapely
- scipy
- pyparsing
- imageio
- trame
# No explicit `vtk` entry: it arrives anyway via pyvista, so listing it changed nothing (an
# image built without it came out byte-identical). Note the `pyvista<0.47.1` pin resolves to
# pyvista 0.44.1, which requires the full `vtk` metapackage -- qt6-main, pyside6, ffmpeg,
# OpenVINO, intel-media-driver. pyvista >=0.46 moved to `vtk-base` and >=0.48 is the first
# that accepts vtk 9.6, so shedding those GBs means relaxing the pyvista pin.
- trame-vtk<2.10.3
- trame-vuetify
- nest-asyncio2
- pip:
- h-transport-materials==0.16
- foam2dolfinx>=1.1
- openmc2dolfinx>=1.0.2
# NB: this pulls the CUDA build (nvidia-cublas/cudnn/cusolver/cusparse/cufft/nccl + triton,
# ~3.3 GB of wheels) even though Binder, Codespaces and RTD are all CPU-only. Swapping it for
# conda-forge `pytorch-cpu` would shed most of that -- worth revisiting once the workflow's
# layer-size report shows how close the single conda layer is to GHCR's 10 GB limit.
- torch<2.12.0
# Must stay <2.1: autoemulate 2.1 added a dependency on `harmonic`, which cannot be
# satisfied alongside fenics-dolfinx -- pinning `harmonic>=1.3.1` (the only release with a
# cp312 manylinux wheel) makes pip report ResolutionImpossible against fenics-dolfinx
# 0.11.0, and without that pin it backtracks to harmonic 1.3.0, which ships no Linux wheel
# at all and whose sdist no longer compiles (`model_legacy.pyx:433: Cannot assign type
# 'double' to 'long'`). pip used to escape this by backtracking all the way past
# autoemulate 2.1 to 2.0.0 on its own; on a fresh Read the Docs env it stopped doing so and
# the build failed. Pinning states the version that was being resolved to anyway, and skips
# a long backtracking search on every env build.
- autoemulate<2.1