Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Drop Python 3.12 and raise dependency floors per SPEC 0 (2026 Q4) #8317

Description

@blink1073

Description:

SPEC 0 recommends dropping Python 3.12 and several core dependency versions in 2026 Q4. This issue tracks that bump for scikit-image and the code cleanups it unlocks.

Raise Python floor to 3.13

  • pyproject.toml: requires-python = '>=3.13'
  • Remove the Programming Language :: Python :: 3.12 classifier
  • Drop 3.12 from CI matrices and spin / tooling config

Dependency floors (SPEC 0 2026 Q4)

Package Current New SPEC 0 drop
numpy >=2.1 >=2.3 2.2.0 (Dec 2024)
networkx >=3.0 >=3.5 3.4 (Oct 2024)
scikit-learn >=1.6 >=1.7 1.6.0 (Dec 2024)
scipy (emscripten) >=1.14 >=1.15 align with the non-emscripten pin
  • Update the pins in pyproject.toml and regenerate requirements/*.txt with tools/generate_requirements.py
  • With numpy>=2.3, remove any np.__version__ guards for pre-2.3 behavior

Code cleanups unlocked by the 3.13 floor

  • src/_skimage2/_shared/utils.py (~L722): drop the sys.version_info[:2] < (3, 13) branch; keep the un-indented .. deprecated:: note
  • src/_skimage2/measure/_regionprops.py (~L1481): keep only the >= (3, 13) doc-parse regex; drop the fallback
  • tests/skimage2/_shared/test_utils.py (~L227): inline the inspect.cleandoc-adjusted expected docstring; drop the version check
  • src/_skimage2/_shared/utils.py (~L794): remove the sys.version < '3' Python 2 branch

Follow-up: adopt new stdlib

  • Replace the function-level path in deprecate_func (src/_skimage2/_shared/utils.py) with the stdlib warnings.deprecated decorator (PEP 702). Example:
from warnings import deprecated

@deprecated("Use Spam instead")
class Ham: ...

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions