Skip to content

Commit 64b87a9

Browse files
authored
Merge pull request #345 from MiraGeoscience/GEOPY-2661
GEOPY-2661: Update minimum requirement to python >=3.12, <3.15 and numpy 2.*
2 parents 210eb33 + 6957562 commit 64b87a9

35 files changed

Lines changed: 3200 additions & 2874 deletions

.github/workflows/python_analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
with:
3434
package-manager: 'conda'
3535
app-name: 'simpeg_drivers'
36-
python-version: '3.10'
36+
python-version: '3.12'
3737
call-workflow-pytest:
3838
name: Pytest
3939
uses: MiraGeoscience/CI-tools/.github/workflows/reusable-python-pytest.yml@v2
@@ -42,10 +42,10 @@ jobs:
4242
pull-requests: read
4343
with:
4444
package-manager: 'conda'
45-
python-versions: '["3.10", "3.11", "3.12"]'
45+
python-versions: '["3.12", "3.13", "3.14"]'
4646
os: '["ubuntu-latest", "windows-latest"]'
4747
cache-number: 1
48-
codecov-reference-python-version: '3.10'
48+
codecov-reference-python-version: '3.12'
4949
codecov-reference-os: '["ubuntu-latest"]'
5050
timeout-minutes: 40
5151
secrets:

.github/workflows/python_deploy_dev.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
contents: write
2020
with:
2121
package-name: 'simpeg-drivers'
22-
python-version: '3.10'
22+
python-version: '3.12'
2323
source-repo-names: '["public-noremote-conda-dev"]'
2424
conda-channels: '["conda-forge"]'
2525
publish-repo-names: '["public-noremote-conda-dev"]'
@@ -35,7 +35,7 @@ jobs:
3535
package-manager: 'poetry'
3636
package-name: 'simpeg-drivers'
3737
version-tag: ${{ github.ref_name }}
38-
python-version: '3.10'
38+
python-version: '3.12'
3939
virtual-repo-names: '["public-pypi-dev", "test-pypi"]'
4040
secrets:
4141
JFROG_ARTIFACTORY_URL: ${{ secrets.JFROG_ARTIFACTORY_URL }}

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ repos:
3535
# hooks:
3636
# - id: mypy
3737
# additional_dependencies: [
38-
# numpy==1.26.*,
38+
# numpy==2.4.*,
3939
# types-toml,
4040
# types-PyYAML,
4141
# tomli # to read config from pyproject.toml

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ Documentation
5252

5353
Installation
5454
^^^^^^^^^^^^
55-
**simpeg-drivers** is currently written for Python 3.10 or higher.
55+
**simpeg-drivers** is currently written for Python 3.12 or higher.
5656

5757
Install Conda
5858
-------------

deps-lock-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
include_dev: True
22
py_versions:
3-
- "3.10"
4-
- "3.11"
53
- "3.12"
4+
- "3.13"
5+
- "3.14"

docs/environment.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ channels:
44
- conda-forge
55
- defaults
66
dependencies:
7-
- python=3.10
7+
- python=3.12
88
- scipy
99
- numpy
1010
- h5py
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
dependencies:
2-
- python=3.10.*
2+
- python=3.13.*
33
- pip
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
dependencies:
2-
- python=3.11.*
2+
- python=3.14.*
33
- pip

environments/py-3.12-linux-64-dev.conda.lock.yml

Lines changed: 40 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Generated by conda-lock.
22
# platform: linux-64
3-
# input_hash: 8d2ec2f5bff152c0b1a90962f693656e4ddb9e44ed5c8117e1ca290243cc3f6e
3+
# input_hash: b650972838f330e6f6ff8085b1b9f2d62dc60aa14a8c4e08de2c9a72ca866d3c
44

55
channels:
66
- conda-forge
@@ -28,7 +28,7 @@ dependencies:
2828
- brotli=1.2.0=hed03a55_1
2929
- brotli-bin=1.2.0=hb03c661_1
3030
- brotli-python=1.2.0=py312hdb49522_1
31-
- bzip2=1.0.8=hda65f42_8
31+
- bzip2=1.0.8=hda65f42_9
3232
- c-ares=1.34.6=hb03c661_0
3333
- ca-certificates=2026.1.4=hbd8a1cb_0
3434
- cached-property=1.5.2=hd8ed1ab_1
@@ -51,7 +51,7 @@ dependencies:
5151
- defusedxml=0.7.1=pyhd8ed1ab_0
5252
- deprecated=1.3.1=pyhd8ed1ab_1
5353
- dill=0.4.1=pyhcf101f3_0
54-
- discretize=0.11.3=py312hf890105_1
54+
- discretize=0.12.0=np2py312h2a48985_1
5555
- distributed=2025.3.1=pyhd8ed1ab_0
5656
- docutils=0.18.1=py312h7900ff3_1
5757
- exceptiongroup=1.3.1=pyhd8ed1ab_0
@@ -61,7 +61,7 @@ dependencies:
6161
- fqdn=1.5.1=pyhd8ed1ab_1
6262
- freetype=2.14.1=ha770c72_0
6363
- fsspec=2026.2.0=pyhd8ed1ab_0
64-
- geoana=0.7.2=py312hf890105_1
64+
- geoana=0.8.1=np2py312h2a48985_0
6565
- h11=0.16.0=pyhcf101f3_1
6666
- h2=4.3.0=pyhcf101f3_0
6767
- h5py=3.15.1=nompi_py312ha4f8f14_101
@@ -95,10 +95,10 @@ dependencies:
9595
- jupyter-lsp=2.3.0=pyhcf101f3_0
9696
- jupyter_client=8.8.0=pyhcf101f3_0
9797
- jupyter_core=5.9.1=pyhc90fa1f_0
98-
- jupyter_events=0.12.0=pyh29332c3_0
98+
- jupyter_events=0.12.0=pyhe01879c_0
9999
- jupyter_server=2.17.0=pyhcf101f3_0
100100
- jupyter_server_terminals=0.5.4=pyhcf101f3_0
101-
- jupyterlab=4.5.3=pyhd8ed1ab_0
101+
- jupyterlab=4.5.4=pyhd8ed1ab_0
102102
- jupyterlab_pygments=0.3.0=pyhd8ed1ab_2
103103
- jupyterlab_server=2.28.0=pyhcf101f3_0
104104
- jupyterlab_widgets=1.1.11=pyhd8ed1ab_0
@@ -111,39 +111,39 @@ dependencies:
111111
- ld_impl_linux-64=2.45.1=default_hbd61a6d_101
112112
- lerc=4.0.0=h0aef613_1
113113
- libaec=1.1.5=h088129d_0
114-
- libblas=3.9.0=37_h5875eb1_mkl
114+
- libblas=3.11.0=5_h5875eb1_mkl
115115
- libbrotlicommon=1.2.0=hb03c661_1
116116
- libbrotlidec=1.2.0=hb03c661_1
117117
- libbrotlienc=1.2.0=hb03c661_1
118-
- libcblas=3.9.0=37_hfef963f_mkl
118+
- libcblas=3.11.0=5_hfef963f_mkl
119119
- libcurl=8.18.0=h4e3cde8_0
120120
- libdeflate=1.25=h17f619e_0
121121
- libdlf=0.3.0=pyhd8ed1ab_1
122122
- libedit=3.1.20250104=pl5321h7949ede_0
123123
- libev=4.33=hd590300_2
124-
- libexpat=2.7.3=hecca717_0
124+
- libexpat=2.7.4=hecca717_0
125125
- libffi=3.5.2=h3435931_0
126126
- libfreetype=2.14.1=ha770c72_0
127127
- libfreetype6=2.14.1=h73754d4_0
128-
- libgcc=15.2.0=he0feb66_17
129-
- libgcc-ng=15.2.0=h69a702a_17
130-
- libgfortran=15.2.0=h69a702a_17
131-
- libgfortran5=15.2.0=h68bc16d_17
128+
- libgcc=15.2.0=he0feb66_18
129+
- libgcc-ng=15.2.0=h69a702a_18
130+
- libgfortran=15.2.0=h69a702a_18
131+
- libgfortran5=15.2.0=h68bc16d_18
132132
- libhwloc=2.12.2=default_hafda6a7_1000
133133
- libiconv=1.18=h3b78370_2
134134
- libjpeg-turbo=3.1.2=hb03c661_0
135-
- liblapack=3.9.0=37_h5e43f62_mkl
135+
- liblapack=3.11.0=5_h5e43f62_mkl
136136
- liblzma=5.8.2=hb03c661_0
137137
- libnghttp2=1.67.0=had1ee68_0
138138
- libnsl=2.0.1=hb9d3cd8_1
139139
- libpng=1.6.55=h421ea60_0
140-
- libscotch=7.0.6=hea33c07_1
140+
- libscotch=7.0.11=int32_h865694f_0
141141
- libsodium=1.0.20=h4ab18f5_0
142-
- libspatialindex=2.0.0=he02047a_0
142+
- libspatialindex=2.1.0=he57a185_0
143143
- libsqlite=3.51.2=h0c1763c_0
144144
- libssh2=1.11.1=hcf80075_0
145-
- libstdcxx=15.2.0=h934c35e_17
146-
- libstdcxx-ng=15.2.0=hdf11a46_17
145+
- libstdcxx=15.2.0=h934c35e_18
146+
- libstdcxx-ng=15.2.0=hdf11a46_18
147147
- libtiff=4.7.1=h9d88235_1
148148
- libuuid=2.41.3=h5347b49_0
149149
- libuv=1.51.0=hb03c661_1
@@ -157,17 +157,17 @@ dependencies:
157157
- locket=1.0.0=pyhd8ed1ab_0
158158
- markdown-it-py=4.0.0=pyhd8ed1ab_0
159159
- markupsafe=3.0.3=py312h8a5da7c_0
160-
- matplotlib-base=3.8.4=py312h20ab3a6_2
160+
- matplotlib-base=3.10.8=py312he3d6523_0
161161
- matplotlib-inline=0.2.1=pyhd8ed1ab_0
162162
- mccabe=0.7.0=pyhd8ed1ab_1
163163
- mdit-py-plugins=0.5.0=pyhd8ed1ab_0
164164
- mdurl=0.1.2=pyhd8ed1ab_1
165165
- metis=5.1.0=hd0bcaf9_1007
166166
- mistune=3.2.0=pyhcf101f3_0
167-
- mkl=2024.2.2=ha770c72_17
167+
- mkl=2025.3.0=h0e700b2_463
168168
- msgpack-python=1.1.2=py312hd9148b4_1
169-
- mumps-include=5.7.3=h82cca05_10
170-
- mumps-seq=5.7.3=h06cbf8f_10
169+
- mumps-include=5.8.2=h1795ed4_1
170+
- mumps-seq=5.8.2=h31f7764_1
171171
- munkres=1.1.4=pyhd8ed1ab_1
172172
- nbclient=0.10.4=pyhd8ed1ab_0
173173
- nbconvert=7.16.6=hc388f54_1
@@ -180,20 +180,20 @@ dependencies:
180180
- notebook=7.5.3=pyhcf101f3_0
181181
- notebook-shim=0.2.4=pyhd8ed1ab_1
182182
- numcodecs=0.15.1=py312hf79963d_1
183-
- numpy=1.26.4=py312heda63a1_0
183+
- numpy=2.4.2=py312h33ff503_1
184184
- openjpeg=2.5.4=h55fea9a_0
185185
- openssl=3.6.1=h35e630c_1
186186
- overrides=7.7.0=pyhd8ed1ab_1
187187
- packaging=26.0=pyhcf101f3_0
188-
- pandas=3.0.0=py312h8ecdadd_0
188+
- pandas=3.0.1=py312h8ecdadd_0
189189
- pandoc=3.9=ha770c72_0
190190
- pandocfilters=1.5.0=pyhd8ed1ab_0
191191
- parso=0.8.6=pyhcf101f3_0
192192
- partd=1.4.2=pyhd8ed1ab_0
193193
- pexpect=4.9.0=pyhd8ed1ab_1
194-
- pillow=10.3.0=py312h287a98d_1
194+
- pillow=12.1.1=py312h50c33e8_0
195195
- pip=26.0.1=pyh8b19718_0
196-
- platformdirs=4.5.1=pyhcf101f3_0
196+
- platformdirs=4.9.2=pyhcf101f3_0
197197
- pluggy=1.6.0=pyhf9edf01_1
198198
- prometheus_client=0.24.1=pyhd8ed1ab_0
199199
- prompt-toolkit=3.0.52=pyha770c72_0
@@ -204,7 +204,7 @@ dependencies:
204204
- pycparser=2.22=pyh29332c3_1
205205
- pydantic=2.12.5=pyhcf101f3_1
206206
- pydantic-core=2.41.5=py312h868fb18_1
207-
- pydiso=0.1.2=py312h686354e_1
207+
- pydiso=0.2.0=np2py312h1cfd70e_1
208208
- pygments=2.19.2=pyhd8ed1ab_0
209209
- pylint=4.0.4=pyhcf101f3_0
210210
- pymatsolver=0.3.1=pyh48887ae_201
@@ -217,12 +217,13 @@ dependencies:
217217
- python-fastjsonschema=2.21.2=pyhe01879c_0
218218
- python-gil=3.12.12=hd8ed1ab_2
219219
- python-json-logger=2.0.7=pyhd8ed1ab_0
220-
- python-mumps=0.0.3=py312h6ad3ee3_0
220+
- python-mumps=0.0.6=nompi_h4762de1
221221
- python-tzdata=2025.3=pyhd8ed1ab_0
222222
- python_abi=3.12=8_cp312
223223
- pytz=2025.2=pyhd8ed1ab_0
224224
- pyyaml=6.0.3=py312h8a5da7c_1
225225
- pyzmq=27.1.0=py312hfb55c3c_0
226+
- qhull=2020.2=h434a139_5
226227
- readline=8.3=h853b02a_0
227228
- readthedocs-sphinx-ext=2.2.5=pyhd8ed1ab_1
228229
- referencing=0.37.0=pyhcf101f3_0
@@ -231,10 +232,10 @@ dependencies:
231232
- rfc3986-validator=0.1.1=pyh9f0ad1d_0
232233
- rfc3987-syntax=1.1.0=pyhe01879c_1
233234
- rpds-py=0.30.0=py312h868fb18_0
234-
- rtree=1.2.0=py312h3ed4c40_1
235-
- scikit-learn=1.6.1=py312h7a48858_0
236-
- scipy=1.14.1=py312h62794b6_2
237-
- send2trash=2.1.0=pyha191276_0
235+
- rtree=1.4.1=pyh11ca60a_0
236+
- scikit-learn=1.8.0=np2py312h3226591_1
237+
- scipy=1.17.0=py312h54fa4ab_1
238+
- send2trash=2.1.0=pyha191276_1
238239
- setuptools=82.0.0=pyh332efcf_0
239240
- six=1.17.0=pyhe01879c_1
240241
- sniffio=1.3.1=pyhd8ed1ab_2
@@ -249,7 +250,7 @@ dependencies:
249250
- sphinxcontrib-qthelp=2.0.0=pyhd8ed1ab_1
250251
- sphinxcontrib-serializinghtml=1.1.10=pyhd8ed1ab_1
251252
- stack_data=0.6.3=pyhd8ed1ab_1
252-
- tbb=2021.13.0=hb700be7_5
253+
- tbb=2022.3.0=hb700be7_2
253254
- tblib=3.2.2=pyhcf101f3_0
254255
- terminado=0.18.1=pyhc90fa1f_1
255256
- threadpoolctl=3.6.0=pyhecae5ae_0
@@ -259,15 +260,15 @@ dependencies:
259260
- tomlkit=0.14.0=pyha770c72_0
260261
- toolz=1.1.0=pyhd8ed1ab_1
261262
- tornado=6.5.3=py312h4c3975b_0
262-
- tqdm=4.67.3=pyh8f84b5b_0
263+
- tqdm=4.66.6=pyhd8ed1ab_0
263264
- traitlets=5.14.3=pyhd8ed1ab_1
264265
- trimesh=4.1.8=pyhd8ed1ab_0
265266
- typing-extensions=4.15.0=h396c80c_0
266267
- typing-inspection=0.4.2=pyhd8ed1ab_1
267268
- typing_extensions=4.15.0=pyhcf101f3_0
268269
- typing_utils=0.1.0=pyhd8ed1ab_1
269270
- tzdata=2025c=hc9c84f9_1
270-
- unicodedata2=17.0.0=py312h4c3975b_1
271+
- unicodedata2=17.0.1=py312h4c3975b_0
271272
- uri-template=1.3.0=pyhd8ed1ab_1
272273
- urllib3=2.6.3=pyhd8ed1ab_0
273274
- wcwidth=0.6.0=pyhd8ed1ab_0
@@ -286,11 +287,12 @@ dependencies:
286287
- zict=3.0.0=pyhd8ed1ab_1
287288
- zipp=3.23.0=pyhcf101f3_1
288289
- zlib=1.3.1=hb9d3cd8_2
290+
- zlib-ng=2.3.3=hceb46e0_1
289291
- zstd=1.5.7=hb78ec9c_6
290292
- pip:
291-
- geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@f38f025b418b3cc80f26f198084566fbf2f9711e
292-
- geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@53fbc8c6620894ac37f52dfa210909a2fa472714
293-
- grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@b453eb336ace73ced82149313b91eeff030371de
293+
- geoapps-utils @ git+https://github.com/MiraGeoscience/geoapps-utils.git@668a9e0da5214e4a3bce466321cd910f1bb00b02
294+
- geoh5py @ git+https://github.com/MiraGeoscience/geoh5py.git@9e0a86e5afadfe9c55e9811317827a4f6c2c70c4
295+
- grid-apps @ git+https://github.com/MiraGeoscience/grid-apps.git@5a6de92816acb737499a8e188eb5b97acb966f37
294296
- mira-simpeg @ git+https://github.com/MiraGeoscience/simpeg.git@ef94a62a27ecf9713377801f6632861a07e2a65c
295297

296298
variables:

0 commit comments

Comments
 (0)