Skip to content

Commit e0914dc

Browse files
Merge pull request #1439 from materialsproject/nep0029
NEP 29 support - preparing for py3.12+
2 parents 1d25dc7 + 2cce37a commit e0914dc

19 files changed

Lines changed: 3969 additions & 12 deletions

File tree

.github/workflows/docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ jobs:
1717
strategy:
1818
matrix:
1919
os: ["ubuntu-latest"]
20-
python-version: ["3.11"]
20+
python-version: ["3.12"]
2121

2222
steps:
2323
- uses: actions/checkout@v6
2424

2525
- uses: actions/setup-python@v6
2626
with:
27-
python-version: 3.11
27+
python-version: 3.12
2828

2929
- name: Install Python dependencies
3030
run: |

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919

2020
- uses: actions/setup-python@v6
2121
with:
22-
python-version: 3.11
22+
python-version: 3.12
2323

2424
- name: Install dependencies
2525
run: |

.github/workflows/testing.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- name: Set up Python
2121
uses: actions/setup-python@v6
2222
with:
23-
python-version: "3.11"
23+
python-version: "3.12"
2424
cache: pip
2525

2626
- name: Install dependencies
@@ -59,7 +59,7 @@ jobs:
5959
matrix:
6060
os: ["ubuntu-latest"]
6161
package: ["emmet-core", "emmet-builders", "emmet-api", "emmet-archival", "emmet-cli"]
62-
python-version: ["3.11", "3.12"]
62+
python-version: ["3.12", "3.13", "3.14"]
6363

6464
name: ${{ matrix.package }} (${{ matrix.os }}/py${{ matrix.python-version }}
6565
runs-on: ${{ matrix.os }}
@@ -98,7 +98,6 @@ jobs:
9898

9999
- name: Lint with mypy
100100
shell: bash -l {0}
101-
if: matrix.python-version == 3.11
102101
run: python${{ matrix.python-version }} -m mypy --config-file .mypy.ini ${{ matrix.package }}/emmet
103102

104103
- name: Test with pytest

.github/workflows/upgrade-dependencies.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
"emmet-archival",
2020
"emmet-cli",
2121
]
22-
python-version: ["3.11", "3.12", "3.13"]
22+
python-version: ["3.11", "3.12", "3.13", "3.14"]
2323
steps:
2424
- uses: actions/checkout@v6
2525
with:
Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.13
3+
# by the following command:
4+
#
5+
# pip-compile --output-file=requirements/ubuntu-latest_py3.13.txt
6+
#
7+
annotated-doc==0.0.4
8+
# via fastapi
9+
annotated-types==0.7.0
10+
# via pydantic
11+
anyio==4.13.0
12+
# via starlette
13+
asgi-logger==0.1.0
14+
# via emmet-api (pyproject.toml)
15+
asgiref==3.11.1
16+
# via asgi-logger
17+
bibtexparser==1.4.4
18+
# via pymatgen-core
19+
blake3==1.0.8
20+
# via emmet-core
21+
boto3==1.42.89
22+
# via emmet-api (pyproject.toml)
23+
botocore==1.42.89
24+
# via
25+
# boto3
26+
# s3transfer
27+
bytecode==0.17.0
28+
# via ddtrace
29+
certifi==2026.2.25
30+
# via requests
31+
charset-normalizer==3.4.7
32+
# via requests
33+
click==8.3.2
34+
# via uvicorn
35+
contourpy==1.3.3
36+
# via matplotlib
37+
cycler==0.12.1
38+
# via matplotlib
39+
ddtrace==4.3.0
40+
# via emmet-api (pyproject.toml)
41+
dnspython==2.8.0
42+
# via pymongo
43+
emmet-core==0.86.4rc0
44+
# via emmet-api (pyproject.toml)
45+
envier==0.6.1
46+
# via ddtrace
47+
fastapi==0.136.0
48+
# via emmet-api (pyproject.toml)
49+
fonttools==4.62.1
50+
# via matplotlib
51+
gunicorn==24.1.1
52+
# via emmet-api (pyproject.toml)
53+
h11==0.16.0
54+
# via uvicorn
55+
idna==3.11
56+
# via
57+
# anyio
58+
# requests
59+
imageio==2.37.3
60+
# via scikit-image
61+
importlib-metadata==8.7.1
62+
# via opentelemetry-api
63+
inflect==7.5.0
64+
# via emmet-core
65+
jmespath==1.1.0
66+
# via
67+
# boto3
68+
# botocore
69+
joblib==1.5.3
70+
# via pymatgen-core
71+
kiwisolver==1.5.0
72+
# via matplotlib
73+
latexcodec==3.0.1
74+
# via pybtex
75+
lazy-loader==0.5
76+
# via scikit-image
77+
lxml==6.0.4
78+
# via pymatgen-core
79+
matplotlib==3.10.8
80+
# via pymatgen-core
81+
monty==2026.2.18
82+
# via
83+
# emmet-core
84+
# pymatgen-core
85+
more-itertools==11.0.2
86+
# via inflect
87+
mp-pyrho==0.5.1
88+
# via pymatgen-analysis-defects
89+
mpmath==1.3.0
90+
# via sympy
91+
narwhals==2.19.0
92+
# via plotly
93+
networkx==3.6.1
94+
# via
95+
# pymatgen-core
96+
# scikit-image
97+
numpy==2.4.4
98+
# via
99+
# contourpy
100+
# imageio
101+
# matplotlib
102+
# monty
103+
# pandas
104+
# pymatgen-analysis-defects
105+
# pymatgen-core
106+
# pymatgen-io-validation
107+
# scikit-image
108+
# scipy
109+
# shapely
110+
# spglib
111+
# tifffile
112+
opentelemetry-api==1.41.0
113+
# via ddtrace
114+
orjson==3.11.8
115+
# via pymatgen-core
116+
packaging==26.1
117+
# via
118+
# gunicorn
119+
# lazy-loader
120+
# matplotlib
121+
# plotly
122+
# scikit-image
123+
palettable==3.3.3
124+
# via pymatgen-core
125+
pandas==3.0.2
126+
# via pymatgen-core
127+
pillow==12.2.0
128+
# via
129+
# imageio
130+
# matplotlib
131+
# scikit-image
132+
plotly==6.7.0
133+
# via pymatgen-core
134+
pubchempy==1.0.5
135+
# via emmet-core
136+
pybtex==0.26.1
137+
# via emmet-core
138+
pydantic==2.13.1
139+
# via
140+
# emmet-core
141+
# fastapi
142+
# pydantic-settings
143+
# pymatgen-io-validation
144+
pydantic-core==2.46.1
145+
# via pydantic
146+
pydantic-settings==2.13.1
147+
# via
148+
# emmet-core
149+
# pymatgen-io-validation
150+
pymatgen==2026.3.23
151+
# via
152+
# emmet-core
153+
# mp-pyrho
154+
# pymatgen-analysis-alloys
155+
# pymatgen-analysis-defects
156+
# pymatgen-io-validation
157+
pymatgen-analysis-alloys==0.0.8
158+
# via emmet-api (pyproject.toml)
159+
pymatgen-analysis-defects==2026.3.20
160+
# via emmet-api (pyproject.toml)
161+
pymatgen-core==2026.4.16
162+
# via pymatgen
163+
pymatgen-io-validation==0.1.2
164+
# via
165+
# emmet-api (pyproject.toml)
166+
# emmet-core
167+
pymongo==4.16.0
168+
# via emmet-api (pyproject.toml)
169+
pyparsing==3.3.2
170+
# via
171+
# bibtexparser
172+
# matplotlib
173+
python-dateutil==2.9.0.post0
174+
# via
175+
# botocore
176+
# matplotlib
177+
# pandas
178+
python-dotenv==1.2.2
179+
# via pydantic-settings
180+
pyyaml==6.0.3
181+
# via pybtex
182+
requests==2.33.1
183+
# via
184+
# pymatgen-core
185+
# pymatgen-io-validation
186+
ruamel-yaml==0.19.1
187+
# via monty
188+
s3transfer==0.16.0
189+
# via boto3
190+
scikit-image==0.26.0
191+
# via pymatgen-analysis-defects
192+
scipy==1.17.1
193+
# via
194+
# pymatgen-core
195+
# scikit-image
196+
setproctitle==1.3.7
197+
# via emmet-api (pyproject.toml)
198+
shapely==2.1.2
199+
# via
200+
# emmet-api (pyproject.toml)
201+
# pymatgen-analysis-alloys
202+
six==1.17.0
203+
# via python-dateutil
204+
spglib==2.7.0
205+
# via pymatgen-core
206+
starlette==1.0.0
207+
# via fastapi
208+
sympy==1.14.0
209+
# via pymatgen-core
210+
tabulate==0.10.0
211+
# via pymatgen-core
212+
tifffile==2026.4.11
213+
# via scikit-image
214+
tqdm==4.67.3
215+
# via pymatgen-core
216+
typeguard==4.5.1
217+
# via inflect
218+
typing-extensions==4.15.0
219+
# via
220+
# emmet-core
221+
# fastapi
222+
# opentelemetry-api
223+
# pydantic
224+
# pydantic-core
225+
# typeguard
226+
# typing-inspection
227+
typing-inspection==0.4.2
228+
# via
229+
# fastapi
230+
# pydantic
231+
# pydantic-settings
232+
uncertainties==3.2.3
233+
# via pymatgen-core
234+
urllib3==2.6.3
235+
# via
236+
# botocore
237+
# requests
238+
uvicorn==0.44.0
239+
# via emmet-api (pyproject.toml)
240+
wrapt==2.1.2
241+
# via ddtrace
242+
zipp==3.23.1
243+
# via importlib-metadata

0 commit comments

Comments
 (0)