Skip to content

Build: added numba-cuda to deps - #790

Merged
mrava87 merged 1 commit into
PyLops:devfrom
mrava87:build-numba_cuda
Aug 14, 2026
Merged

Build: added numba-cuda to deps#790
mrava87 merged 1 commit into
PyLops:devfrom
mrava87:build-numba_cuda

Conversation

@mrava87

@mrava87 mrava87 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

Handles #788

@mrava87 mrava87 self-assigned this Aug 14, 2026
@mrava87 mrava87 added the Core Pulls for core PyLops library label Aug 14, 2026
@mrava87

mrava87 commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator Author

@claude review.

@codacy-production

Copy link
Copy Markdown

Not up to standards ⛔

🔴 Issues 3 medium · 5 minor

Alerts:
⚠ 8 issues (≤ 0 issues of at least minor severity)

Results:
8 new issues

Category Results
Security 3 medium
5 minor

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@claude

claude Bot commented Aug 14, 2026

Copy link
Copy Markdown

Claude finished @mrava87's task in 1m 21s —— View job


Review: Build — added numba-cuda to deps

  • Gather context (diff, CLAUDE.md, changed files)
  • Review changes
  • Post review feedback

Summary

This PR adds numba-cuda as a dependency of the gpu-cu12/gpu-cu13 extras in pyproject.toml, and as a side effect drops Python 3.10 support (numba-cuda requires 3.11+) and bumps the numpy/scipy minimums. uv.lock is regenerated accordingly. No functional code changes are included — this is purely a build/dependency PR, consistent with its title and linked issue (#788).

Findings

  1. pyproject.toml:167ruff target-version still set to "py310".
    requires-python was bumped to >=3.11 (pyproject.toml:32) and mypy's python_version was already updated to "3.11" (pyproject.toml:212), but [tool.ruff] target-version was left at "py310". This means ruff (including the UP pyupgrade rule set already enabled) won't suggest 3.11+ syntax simplifications now available (e.g. some typing upgrades). Minor, but worth updating for consistency.
    Fix this →

  2. Conflict matrix looks correct but is easy to get wrong silently. The new [tool.uv] conflicts entries (pyproject.toml:123-134) correctly forbid gpu-cu12 + deep-cu13, gpu-cu13 + deep-cu126, and gpu-cu13 + deep-cu128, while leaving gpu-cu13 + deep-cu13 allowed (both cu13-based) and gpu-cu12 + deep-cu126/deep-cu128 allowed (both cu12-based). This is internally consistent with the CUDA-version-matching intent, but there's no test/CI step that would catch a future mismatch here (e.g. if a new deep-cu14 extra is added and someone forgets the corresponding conflict entries). Not blocking, just flagging it as an easy-to-miss spot in future edits.

  3. environment-dev-gpu.yml doesn't pin a numba-cuda version, while pyproject.toml requires numba-cuda[cu12]>=0.30.0 / numba-cuda[cu13]>=0.30.0. This is consistent with how other packages are handled in that file (mostly unpinned), so likely intentional, but worth double-checking that conda-forge/numba channel actually has a numba-cuda package recent enough to satisfy >=0.30.0 when this env is built with conda instead of uv.

Everything else (installation docs, noxfile.py python matrix, environment-dev-intel-mkl.yml) is updated consistently with the 3.10 → 3.11 floor bump. No issues found there.

@mrava87
mrava87 merged commit a204e56 into PyLops:dev Aug 14, 2026
23 of 25 checks passed
@mrava87
mrava87 deleted the build-numba_cuda branch August 14, 2026 20:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Core Pulls for core PyLops library

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant