-
Notifications
You must be signed in to change notification settings - Fork 2
chore: update development tooling and python compatibility requirements #252
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
l50
merged 5 commits into
main
from
jayson/eng-3689-update-python-version-constraints-in-ci-and-renovate
Dec 8, 2025
Merged
chore: update development tooling and python compatibility requirements #252
l50
merged 5 commits into
main
from
jayson/eng-3689-update-python-version-constraints-in-ci-and-renovate
Dec 8, 2025
Conversation
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
**Changed:** - Updated Renovate configuration to allow Python versions >=3.10 and <3.14, replacing previous restriction to ^3.8 - Changed GitHub Actions workflow to use Python 3.13 instead of 3.14 for setting up the environment
…e docs
**Added:**
- Added `debug.html` to `.gitignore` for improved local dev experience
- Added explicit `exceptiongroup`, `backports-asyncio-runner`, and `tomli` for
Python <3.11 compatibility in `uv.lock`
- Added conditional dependencies (e.g., `typing-extensions`, `cloudpathlib`) for
Python <3.11 or <3.13 in `uv.lock`
- Added `ruamel-yaml-clib` as a dependency for `ruamel-yaml` for CPython
- Added `tomli` as a dependency in packages that require it for <3.11
**Changed:**
- Updated `pyproject.toml`:
- Lowered required Python version from 3.14 to 3.10+ and capped at <3.14
- Relaxed and corrected `fsspec[s3]` version range to support 2024.12.0–2025.10.0
- Updated `uv.lock`:
- Refactored dependency tree to properly separate dependency versions for
Python 3.10, 3.11, and 3.12+ (e.g., `numpy`, `scipy`, `networkx`,
`ipython`, `scikit-learn`)
- Added and updated wheels and sdist hashes for the new supported Python versions
- Added conditional dependencies (`typing-extensions`, `tomli`,
`exceptiongroup`) for Python <3.11 and <3.13
- Updated `pandas`, `scikit-learn`, `soundfile`, `thinc`, `torch`, `spacy`,
`moviepy`, `imageio`, and other packages to reference the correct numpy/scipy
versions for their Python range
- Updated `setuptools` dependency only for Python >=3.12 in `torch`
- Updated API documentation (`docs/sdk/api.mdx`):
- Documented that `get_user_data_credentials` now requires `organization_id`
and `workspace_id` as parameters
- Updated code samples and docstring to match new signature
- Updated request logic to include query parameters for org/workspace
- Updated SDK documentation (`docs/sdk/main.mdx`):
- Updated `CredentialManager` initialization to use the new
`get_user_data_credentials` signature with organization/workspace IDs
**Removed:**
- Removed Python 3.14-only dependency constraints and wheels from lockfile to
ensure compatibility with Python 3.10–3.13
- Removed unused/obsolete wheels for Python 3.14 from `uv.lock` to reduce
confusion and resolve dependency resolution issues
**Why:**
- Enables support for Python 3.10, 3.11, and 3.12 by pinning dependencies to
versions compatible with those interpreters
- Fixes packaging and dependency resolution issues in environments that do not
use Python 3.14
- Documents the new signature of `get_user_data_credentials` and updates all
relevant doc and code samples
- Ensures the project can be installed and run on a wider range of Python
versions and platforms
**Changed:** - Updated `.hooks/typing_and_linting.sh` to run ruff linting with GitHub output, apply autofixes, and always format code instead of only checking formatting - Upgraded `pre-commit-hooks` to v6.0.0 in `.pre-commit-config.yaml` - Modified typing and linting pre-commit hook to run on all Python files, not just at pre-push, and disabled file passing for consistency - Added `import-not-found` to disabled error codes in pyright configuration to suppress specific import errors
…aints-in-ci-and-renovate Resolved conflicts: - .pre-commit-config.yaml: removed docs generation hook, kept pre-push stage for linting - pyproject.toml: adopted wider fsspec version range for Python 3.10-3.13 compatibility - uv.lock: regenerated after dependency changes - docs/sdk/api.mdx, docs/sdk/main.mdx: removed (deleted in main)
**Changed:** - Run mypy type checking on the entire project directory instead of a subdirectory for more comprehensive coverage in `.hooks/typing_and_linting.sh` - Update pre-commit hook configuration to use `types: [python]` and disable `pass_filenames`, ensuring hooks run only on relevant files and do not receive filenames as arguments in `.pre-commit-config.yaml`
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area/docs
Changes to documentation and guides
area/github
Changes made to GitHub Actions
area/pre-commit
Changes made to pre-commit hooks
area/python
Changes to Python package configuration and dependencies
type/docs
Documentation updates and improvements
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.
Key Changes:
Added:
debug.htmlnow ignored in.gitignoreto prevent accidental commits ofdebug output files
Changed:
(from ^3.8), ensuring use of newer language features and improved security
with
ruffoutput set to GitHub format and auto-fixing enabled; feedbackmessages updated for clarity -
.hooks/typing_and_linting.shpre-commit-hooksfrom v5.0.0 to v6.0.0pre-push, and ensured it doesn't pass file names (runs on the repo)
pyproject.toml: Disabledimport-not-founderror for ruff, reducing noisefrom false positives in import checks
Removed:
.pre-commit-config.yaml; now runs on commit for better feedback cycle