Skip to content

Commit ab480fa

Browse files
committed
Python + linux for python 3.13
1 parent d6e6364 commit ab480fa

7 files changed

+240
-9
lines changed

.github/workflows/linux-python-package-conda.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ jobs:
66
build-linux:
77
strategy:
88
matrix:
9-
py-version: [312]
9+
py-version: [312, 313]
1010
runs-on: ubuntu-latest
1111
defaults:
1212
run:
@@ -75,7 +75,7 @@ jobs:
7575
strategy:
7676
matrix:
7777
mt-punit: [cpu, cu12]
78-
py-version: [312]
78+
py-version: [312, 313]
7979
runs-on: ubuntu-24.04
8080
needs: build-linux
8181
defaults:

.github/workflows/win-python-package-conda.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
uses: conda-incubator/setup-miniconda@v3
1313
with:
1414
activate-environment: magtense-env
15-
environment-file: python/environment_win.yml
15+
environment-file: python/.build/environment_win.yml
1616
python-version: 3.12
1717
auto-activate-base: false
1818

python/.build/dist_pypi.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ def main(py_versions):
7979
]
8080
)
8181
subprocess.run(
82-
["cp", f".build/requirement-{py}-{cuda}.txt", "requirements.txt"]
82+
["cp", f".build/requirements-{py}-{cuda}.txt", "requirements.txt"]
8383
)
8484
subprocess.run(["python3", "-m", "build", "--wheel"])
8585
subprocess.run(
+113
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
anyio==4.8.0
2+
argon2-cffi==23.1.0
3+
argon2-cffi-bindings==21.2.0
4+
arrow==1.3.0
5+
asttokens==3.0.0
6+
async-lru==2.0.4
7+
attrs==25.3.0
8+
babel==2.17.0
9+
beautifulsoup4==4.13.3
10+
bleach==6.2.0
11+
certifi==2025.1.31
12+
cffi==1.17.1
13+
charset-normalizer==3.4.1
14+
comm==0.2.2
15+
contourpy==1.3.1
16+
cycler==0.12.1
17+
debugpy==1.8.13
18+
decorator==5.2.1
19+
defusedxml==0.7.1
20+
executing==2.2.0
21+
fastjsonschema==2.21.1
22+
fonttools==4.56.0
23+
fqdn==1.5.1
24+
h11==0.14.0
25+
h5py==3.13.0
26+
httpcore==1.0.7
27+
httpx==0.28.1
28+
idna==3.10
29+
impi-rt==2021.14.2
30+
importlib_resources==6.5.2
31+
intel-cmplr-lib-rt==2025.0.5
32+
intel-cmplr-lib-ur==2025.0.5
33+
intel-cmplr-lic-rt==2025.0.5
34+
intel-fortran-rt==2025.0.5
35+
intel-openmp==2025.0.5
36+
ipykernel==6.29.5
37+
ipython==9.0.2
38+
ipython_pygments_lexers==1.1.1
39+
isoduration==20.11.0
40+
jedi==0.19.2
41+
Jinja2==3.1.6
42+
json5==0.10.0
43+
jsonpointer==3.0.0
44+
jsonschema==4.23.0
45+
jsonschema-specifications==2024.10.1
46+
jupyter-events==0.12.0
47+
jupyter-lsp==2.2.5
48+
jupyter_client==8.6.3
49+
jupyter_core==5.7.2
50+
jupyter_server==2.15.0
51+
jupyter_server_terminals==0.5.3
52+
jupyterlab==4.3.6
53+
jupyterlab_pygments==0.3.0
54+
jupyterlab_server==2.27.3
55+
kiwisolver==1.4.8
56+
MarkupSafe==3.0.2
57+
matplotlib==3.10.1
58+
matplotlib-inline==0.1.7
59+
mistune==3.1.2
60+
mkl==2025.0.1
61+
nbclient==0.10.2
62+
nbconvert==7.16.6
63+
nbformat==5.10.4
64+
nest-asyncio==1.6.0
65+
notebook==7.3.3
66+
notebook_shim==0.2.4
67+
numpy==2.2.3
68+
overrides==7.7.0
69+
packaging==24.2
70+
pandocfilters==1.5.1
71+
parso==0.8.4
72+
pexpect==4.9.0
73+
pillow==11.1.0
74+
platformdirs==4.3.6
75+
prometheus_client==0.21.1
76+
prompt_toolkit==3.0.50
77+
psutil==7.0.0
78+
ptyprocess==0.7.0
79+
pure_eval==0.2.3
80+
pycparser==2.22
81+
Pygments==2.19.1
82+
pyparsing==3.2.1
83+
python-dateutil==2.9.0.post0
84+
python-json-logger==3.3.0
85+
PyYAML==6.0.2
86+
pyzmq==26.3.0
87+
referencing==0.36.2
88+
requests==2.32.3
89+
rfc3339-validator==0.1.4
90+
rfc3986-validator==0.1.1
91+
rpds-py==0.23.1
92+
Send2Trash==1.8.3
93+
setuptools==76.0.0
94+
six==1.17.0
95+
sniffio==1.3.1
96+
soupsieve==2.6
97+
stack-data==0.6.3
98+
tbb==2022.0.0
99+
tcmlib==1.2.0
100+
terminado==0.18.1
101+
tinycss2==1.4.0
102+
tornado==6.4.2
103+
tqdm==4.67.1
104+
traitlets==5.14.3
105+
types-python-dateutil==2.9.0.20241206
106+
typing_extensions==4.12.2
107+
umf==0.9.1
108+
uri-template==1.3.0
109+
urllib3==2.3.0
110+
wcwidth==0.2.13
111+
webcolors==24.11.1
112+
webencodings==0.5.1
113+
websocket-client==1.8.0
+116
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
anyio==4.8.0
2+
argon2-cffi==23.1.0
3+
argon2-cffi-bindings==21.2.0
4+
arrow==1.3.0
5+
asttokens==3.0.0
6+
async-lru==2.0.4
7+
attrs==25.3.0
8+
babel==2.17.0
9+
beautifulsoup4==4.13.3
10+
bleach==6.2.0
11+
certifi==2025.1.31
12+
cffi==1.17.1
13+
charset-normalizer==3.4.1
14+
comm==0.2.2
15+
contourpy==1.3.1
16+
cycler==0.12.1
17+
debugpy==1.8.13
18+
decorator==5.2.1
19+
defusedxml==0.7.1
20+
executing==2.2.0
21+
fastjsonschema==2.21.1
22+
fonttools==4.56.0
23+
fqdn==1.5.1
24+
h11==0.14.0
25+
h5py==3.13.0
26+
httpcore==1.0.7
27+
httpx==0.28.1
28+
idna==3.10
29+
impi-rt==2021.14.2
30+
intel-cmplr-lib-rt==2025.0.5
31+
intel-cmplr-lib-ur==2025.0.5
32+
intel-cmplr-lic-rt==2025.0.5
33+
intel-fortran-rt==2025.0.5
34+
intel-openmp==2025.0.5
35+
ipykernel==6.29.5
36+
ipython==9.0.2
37+
ipython_pygments_lexers==1.1.1
38+
isoduration==20.11.0
39+
jedi==0.19.2
40+
Jinja2==3.1.6
41+
json5==0.10.0
42+
jsonpointer==3.0.0
43+
jsonschema==4.23.0
44+
jsonschema-specifications==2024.10.1
45+
jupyter-events==0.12.0
46+
jupyter-lsp==2.2.5
47+
jupyter_client==8.6.3
48+
jupyter_core==5.7.2
49+
jupyter_server==2.15.0
50+
jupyter_server_terminals==0.5.3
51+
jupyterlab==4.3.6
52+
jupyterlab_pygments==0.3.0
53+
jupyterlab_server==2.27.3
54+
kiwisolver==1.4.8
55+
MarkupSafe==3.0.2
56+
matplotlib==3.10.1
57+
matplotlib-inline==0.1.7
58+
mistune==3.1.2
59+
mkl==2025.0.1
60+
nbclient==0.10.2
61+
nbconvert==7.16.6
62+
nbformat==5.10.4
63+
nest-asyncio==1.6.0
64+
notebook==7.3.3
65+
notebook_shim==0.2.4
66+
numpy==2.2.3
67+
nvidia-cublas-cu12==12.8.4.1
68+
nvidia-cuda-runtime-cu12==12.8.90
69+
nvidia-cusparse-cu12==12.5.8.93
70+
nvidia-nvjitlink-cu12==12.8.93
71+
overrides==7.7.0
72+
packaging==24.2
73+
pandocfilters==1.5.1
74+
parso==0.8.4
75+
pexpect==4.9.0
76+
pillow==11.1.0
77+
platformdirs==4.3.6
78+
prometheus_client==0.21.1
79+
prompt_toolkit==3.0.50
80+
psutil==7.0.0
81+
ptyprocess==0.7.0
82+
pure_eval==0.2.3
83+
pycparser==2.22
84+
Pygments==2.19.1
85+
pyparsing==3.2.1
86+
python-dateutil==2.9.0.post0
87+
python-json-logger==3.3.0
88+
PyYAML==6.0.2
89+
pyzmq==26.3.0
90+
referencing==0.36.2
91+
requests==2.32.3
92+
rfc3339-validator==0.1.4
93+
rfc3986-validator==0.1.1
94+
rpds-py==0.23.1
95+
Send2Trash==1.8.3
96+
setuptools==76.0.0
97+
six==1.17.0
98+
sniffio==1.3.1
99+
soupsieve==2.6
100+
stack-data==0.6.3
101+
tbb==2022.0.0
102+
tcmlib==1.2.0
103+
terminado==0.18.1
104+
tinycss2==1.4.0
105+
tornado==6.4.2
106+
tqdm==4.67.1
107+
traitlets==5.14.3
108+
types-python-dateutil==2.9.0.20241206
109+
typing_extensions==4.12.2
110+
umf==0.9.1
111+
uri-template==1.3.0
112+
urllib3==2.3.0
113+
wcwidth==0.2.13
114+
webcolors==24.11.1
115+
webencodings==0.5.1
116+
websocket-client==1.8.0

python/README.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ For MacOS ARM architectures, currently only magnetostatics with the `gfortran` c
1515
```bash
1616
conda create -y -n magtense-env && conda activate magtense-env
1717
conda config --env --add channels conda-forge
18-
conda install -y python=3.12.3
18+
conda install -y python
1919
python3 -m pip install numpy meson ninja charset-normalizer
2020
````
2121

22-
- Required python packages for CUDA and MKL
22+
- Required python packages for CUDA
2323

2424
Available CUDA versions can be found here: [https://anaconda.org/nvidia/cuda](https://anaconda.org/nvidia/cuda) \
2525
Location of corresponding [https://docs.nvidia.com/cuda/cuda-installation-guide-linux/#pip-wheels](pip-wheels) for deployment \
@@ -30,6 +30,8 @@ For MacOS ARM architectures, currently only magnetostatics with the `gfortran` c
3030
conda install -y cuda-nvcc libcusparse-dev libcublas-dev cuda-cudart-dev libnvjitlink-dev
3131
```
3232

33+
- Required python packages for Intel compilers and MKL
34+
3335
More information about the Intel Compilers: [Intel® C++ Compiler](https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html) and [Intel® Fortran Compiler](https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#fortran)
3436

3537
```bash
@@ -48,7 +50,7 @@ For MacOS ARM architectures, currently only magnetostatics with the `gfortran` c
4850
- Conda environment from `environment_win.yml`
4951

5052
```bash
51-
conda env create -f python/environment_win.yml
53+
conda env create -f python/.build/environment_win.yml
5254
```
5355

5456
OR
@@ -160,7 +162,7 @@ python3 -m pip install -e ./python
160162
161163
### Required packages at runtime
162164
163-
`requirements-cpu.txt` and `requirements-cuda.txt` contain specific package versions and are shipped with the respective pip-wheel.
165+
The `python/.build/` contains requirement-files, which are shipped with the respective pip-wheel.
164166
165167
```bash
166168
python3 -m pip install numpy mkl intel-fortran-rt matplotlib notebook h5py tqdm

python/pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ authors = [
2424
description = "MagTense - a micromagnetism and magnetostatic framework"
2525
dynamic = ["dependencies"]
2626
readme = "README_top.md"
27-
requires-python = ">=3.12, <3.13"
27+
requires-python = ">=3.12"
2828
license = {file = "LICENSE"}
2929
keywords = [
3030
"Micromagnetism",

0 commit comments

Comments
 (0)