Raise Python floor to 3.11; upgrade titiler.core 2.x / rio-tiler 9.x#29
Merged
Conversation
…er 9.x Raise requires-python to >=3.11, bump titiler.core to >=2.0,<3.0 and rio-tiler to >=9.0,<10.0, and drop the Python 3.10 back-compat scaffolding now that 3.10 is unsupported: - pyproject.toml: new floor, drop the 3.10 classifier, remove the typing-extensions conditional dependency. - modeler.py: import assert_never directly from typing; remove the sys.version_info guard and the now-unused import sys. - tests/test_modeler.py: drop the now-unnecessary numpy type: ignore and its stale 3.10/numpy-2.2.6 workaround docstring. - docs/04-modeler-converter-design.md: update the version-guard prose and code snippet to reflect the stdlib-only assert_never import. Re-locking on >=3.11 also collapses the ucumvert/pint dependency fork that split on a python_full_version == '3.10.*' marker, resolving the recurring Dependabot uv update failure. Closes #27 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
emmanuelmathot
approved these changes
Jun 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #27.
Raises the project's Python floor from
>=3.10to>=3.11, upgradestitiler.coreto 2.x andrio-tilerto 9.x, and removes the Python 3.10 back-compat scaffolding that floor unblocks.Changes
pyproject.toml—requires-python = ">=3.11"; drop theProgramming Language :: Python :: 3.10classifier;titiler.core>=2.0,<3.0;rio-tiler>=9.0,<10.0; remove thetyping-extensions ; python_version < '3.11'conditional dependency.uv.lock— re-resolved on>=3.11(rio-tiler 9.3.0, titiler-core 2.0.5, numpy 2.4.4).src/titiler_covjson/modeler.py— importassert_neverdirectly fromtyping; remove thesys.version_infoguard and the now-unusedimport sys.tests/test_modeler.py— drop the now-unnecessary numpy# type: ignoreand its stale 3.10/numpy-2.2.6 workaround docstring.docs/04-modeler-converter-design.md— update the version-guard prose and code snippet to reflect the stdlib-onlyassert_neverimport.Notes
pyproject.tomlclassifiers, so dropping the 3.10 classifier automatically removes it from both matrices.>=3.11collapses theucumvert/pintfork that split on apython_full_version == '3.10.*'marker (the cause of the weekly Dependabot resolution error).titiler.coreis not imported anywhere yet; the onlyrio-tilersurface (ImageData/Infofields) is unchanged across the 8.x/9.x breaking changes. Validated by the full suite (251 tests incl. doctests),mypy --strict,ruff check, andruff format --check, all green.Out of scope
The consumer type-surface test (matrixed-mypy smoke-test of the public API) is unblocked by this change but tracked separately.
🤖 Generated with Claude Code