Skip to content

GEOPY-2661: Update minimum requirement to python >=3.12, <3.15 and numpy 2.*#345

Open
domfournier wants to merge 4 commits intodevelopfrom
GEOPY-2661
Open

GEOPY-2661: Update minimum requirement to python >=3.12, <3.15 and numpy 2.*#345
domfournier wants to merge 4 commits intodevelopfrom
GEOPY-2661

Conversation

@domfournier
Copy link
Collaborator

@domfournier domfournier commented Feb 13, 2026

GEOPY-2661 - Update minimum requirement to python >=3.12, <3.15 and numpy 2.*

@github-actions github-actions bot changed the title GEOPY-2661 GEOPY-2661: Update minimum requirement to python >=3.12, <3.15 and numpy 2.* Feb 13, 2026
@codecov
Copy link

codecov bot commented Feb 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.26%. Comparing base (210eb33) to head (e42d907).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #345   +/-   ##
========================================
  Coverage    91.26%   91.26%           
========================================
  Files          120      120           
  Lines         6505     6505           
  Branches       785      785           
========================================
  Hits          5937     5937           
  Misses         379      379           
  Partials       189      189           
Files with missing lines Coverage Δ
...tils/synthetics/surveys/time_domain/ground_tdem.py 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@domfournier domfournier requested a review from sebhmg February 13, 2026 19:32
pyproject.toml Outdated
scipy = "~1.14.0"
tqdm = "^4.66.1"
trimesh = "~4.1.3"
mkl-service = "~2.6.1" # for Windows crash in IDE
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: make it a dev dependency if is only required for the IDE, but not from command line


discretize = "0.11.*" # also in simpeg, grid-apps
distributed = "2025.3.*" # for dask[distributed]
numpy = "~1.26.0" # also in geoh5py, simpeg
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue: here, it must list all the direct dependencies of the package

Even if they also come as transitive dependencies

as simpeg-drivers does import numpy, it must be listed here. Please, also check the other ones that got removed by this diff

pyproject.toml Outdated
Comment on lines 133 to 148
bokeh = "3.6.*" # optional, for dask reporting
fsspec = ">=2022.0" # from simpeg[dask]
geoana = "0.7.*" # from simpeg
h5py = ">=3.2.1, 3.*" # from geoh5py
matplotlib-base = ">=3.8.4, 3.8.*" # from geoapps-utils, simpeg
mkl = ">=2024.2.2"
Pillow = ">=10.3.0, 10.3.*" # from geoh5py

pymatsolver = "0.3.*" # from simpeg
zarr = ">=2.14.2, 2.14.*" # from simpeg[dask]
matplotlib-base = ">=3.10.0, <3.11.dev" # from geoapps-utils
Pillow = ">=12.1.0, <13.0.dev" # from geoh5py
h5py = ">=3.15.1, <4.0.dev" # from geoh5py
python_abi = ">=3.*"
numpy = ">=2.0.0"
scipy = ">=1.17.0"
rtree = ">=1.4.0"
scikit-learn = ">=1.8.0"
pydiso = ">=0.2.*"
python-mumps = ">=0.0.6.*"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion: keep dependencies ordered alphabetically (easier to maintain the list)

pyproject.toml Outdated
Pillow = ">=12.1.0, <13.0.dev" # from geoh5py
h5py = ">=3.15.1, <4.0.dev" # from geoh5py
python_abi = ">=3.*"
numpy = ">=2.0.0"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue: only list here indirect dependencies

See my related comment above about listing explicitly direct dependencies in another section of this file

channels = ['conda-forge']

[tool.conda-lock.dependencies]
libblas = "*=*mkl" # because simpeg already brings in the MKL
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue: keep forcing the mk implementation for libblas

otherwise we end up with both openblas and mkl on Linux because of pydiso which forces the mkl

Image

(cherry picked from commit f19c57a)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants