@@ -9,18 +9,21 @@ authors = [
99
1010requires-python = " >=3.11,<3.13"
1111# TODO: split the plotting dependencies into their own dep groups, they are not required.
12- dependencies = [ ' torch' ,
13- ' numpy' ,
14- ' astropy_healpix' ,
15- ' zarr' ,
16- ' anemoi-datasets' ,
17- ' pandas' ,
18- ' pynvml' ,
19- ' tqdm' ,
20- ' matplotlib' ,
21- ' packaging' ,
22- ' wheel' ,
23- ' psutil' ]
12+ dependencies = [
13+ ' torch==2.6.0' ,
14+ ' numpy~=2.2' ,
15+ ' astropy_healpix~=1.0' ,
16+ ' zarr~=2.17' ,
17+ ' anemoi-datasets~=0.5' ,
18+ ' pandas~=2.2' ,
19+ ' pynvml' ,
20+ ' tqdm' ,
21+ ' matplotlib' ,
22+ ' packaging' ,
23+ ' wheel' ,
24+ ' psutil' ,
25+ " flash-attn" ,
26+ ]
2427
2528[project .urls ]
2629Homepage = " https://www.weathergenerator.eu"
@@ -91,4 +94,25 @@ ignore = [
9194 " F811" ,
9295 # To ignore, not relevant for us
9396 " E741" ,
94- ]
97+ ]
98+
99+ [tool .uv ]
100+ # This guarantees that the build is deterministic and will not be impacted
101+ # by future releases of dependencies or sub-dependencies.
102+ # See https://docs.astral.sh/uv/reference/settings/#exclude-newer
103+ # TODO: pytorch does not publish valid release timestamps, so sadly it does not work.
104+ # exclude-newer = "2025-03-14T00:00:00Z"
105+
106+ # Following the recommendations from https://docs.astral.sh/uv/guides/integration/pytorch
107+ [[tool .uv .index ]]
108+ name = " pytorch-cu124"
109+ url = " https://download.pytorch.org/whl/cu124"
110+ explicit = true
111+
112+ [tool .uv .sources ]
113+ torch = [
114+ { index = " pytorch-cu124" , marker = " sys_platform == 'linux' or sys_platform == 'win32'" },
115+ ]
116+ # This URL was evaluated this way:
117+ # uv run ~/WeatherGenerator-private/hpc/hpc2020/ecmwf/get-flash-atten.sh
118+ flash-attn = { url = " https://github.com/Dao-AILab/flash-attention/releases/download/v2.7.4.post1/flash_attn-2.7.4.post1+cu12torch2.6cxx11abiFALSE-cp312-cp312-linux_x86_64.whl" }
0 commit comments