Skip to content

✨ Python 3.15 support - #61

Merged
juftin merged 7 commits into
juftin:mainfrom
jufty-bot:codex/python-3.15-support
Oct 26, 2026
Merged

juftin merged 7 commits into
juftin:mainfrom
jufty-bot:codex/python-3.15-support

Conversation

@jufty-bot

@jufty-bot jufty-bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #62.

uv can select python-dateutil 3.0, conflict with the AWS dependency stack, and backtrack to s3fs 0.3.5, whose source build fails on modern Python. Add s3fs>=2024.5.0 to both the remote and all extras so fresh resolutions find a compatible stack instead of attempting that legacy build.

Includes the Python 3.15 work already on this branch: test/classifier updates, Python >=3.11, pandas >=3.1,<4 across all supported Python versions, and newer pyarrow/orjson constraints.

  • Add data preview regression tests for CSV, compressed CSV, Parquet, Feather, and .fea, covering missing values, Unicode text, and row limits.
  • Only post coverage comments for PRs whose head repository matches this repository, so read-only tokens on fork PRs do not fail otherwise successful test runs.
  • Document uv tool installation and upgrades in the README and documentation.
  • Upgrade the locked tree-sitter from 0.25.2 to 0.26.0. The latest release still has no Python 3.15 wheels, so this does not remove the native build requirement.
  • Update locked VCR/urllib3 dependencies for the newer aiohttp stack and decode compressed cassette responses consistently.

Validation:

  • App tests: 29 passed, including all 3 screenshot tests.
  • Manually verified uv 0.13.5 tool installation and actual upgrades for base, remote, and all on Python 3.11, 3.12, 3.13, and 3.14 (12 combinations). Used isolated temporary tool environments and a local package index to upgrade a temporary 0.0.0 build to the current wheel without using uv.lock. Checked the installed version, CLI, dependency compatibility, and remote filesystem imports. These checks were run outside the repository; no uv tool test script or CI task is included.
  • Ruff lint/format, mypy, Prettier, lockfile consistency, and git diff checks passed.
  • All 29 app tests passed in CI on Python 3.11–3.15, including all screenshot tests. The previous Python 3.12 job failed only during coverage comment posting, after its tests passed; the workflow now skips that comment for fork PRs. Full local Python 3.15 installation remains blocked by missing native build tools, but the CI runner completed it successfully.

@jufty-bot jufty-bot changed the title ✨ Add Python 3.15 support πŸ› Fix uv tool upgrades and add Python 3.15 support Oct 26, 2026
@juftin juftin changed the title πŸ› Fix uv tool upgrades and add Python 3.15 support ✨ Python 3.15 support Oct 26, 2026
@juftin
juftin merged commit 77992e2 into juftin:main Oct 26, 2026
6 checks passed
juftin pushed a commit that referenced this pull request Oct 26, 2026
# [v1.25.0](v1.24.0...v1.25.0) (2026-10-26)

## ✨ New Features
- [`77992e2`](77992e2)  Python 3.15 support (#61) (Issues: [`#61`](#61))

[skip ci]
@juftin

juftin commented Oct 26, 2026

Copy link
Copy Markdown
Owner

πŸŽ‰ This PR is included in version 1.25.0 πŸŽ‰

The release is available on GitHub release

Your semantic-release bot πŸ“¦πŸš€

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for uv tool install + upgrade

2 participants