Skip to content

Update Rust crates and Python dev dependency floors - #55

Merged
w-martin merged 2 commits into
mainfrom
update-rust-and-python-dependency-versions
Aug 9, 2026
Merged

Update Rust crates and Python dev dependency floors#55
w-martin merged 2 commits into
mainfrom
update-rust-and-python-dependency-versions

Conversation

@w-martin

@w-martin w-martin commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Rust: cargo update for semver-compatible bumps, plus major bumps for toml (0.8→1.1), criterion (0.5→0.8), and the ruff_python_* git dependencies (tag 0.15.00.16.2, the internal ruff crates this checker's parser is built on).
  • Python: bumped dev/docs dependency-group floors to current releases, including major jumps (mypy 1→2, pyrefly 0.x→1.x, invoke 2→3, complexipy 5→6, pyarrow 23→25, mkdocstrings-python 1→2). licensecheck stayed at 2025.1.0 since the 2026.x series requires Python ≥3.12, which conflicts with this project's >=3.11 floor. The optional-dependencies floors (pandas, pandera, polars — this library's own supported-version promise to its users) were deliberately left alone, since that's a compatibility policy decision separate from dev-tooling freshness.
  • ruff 0.16 enables far more default rules; added CPY001 (copyright-header) to the ignore list since this project has never used copyright headers.
  • ruff 0.16 also formats Python code blocks embedded in Markdown by default, which reformatted 17 docs/example files (cosmetic quote-style/spacing only).
  • Fixed a pre-existing, unrelated bug found along the way: rust/benches/parser_bench.rs had one extra ../ in its include_str! path, so cargo build --benches / cargo bench failed unconditionally on main.

Test plan

  • cargo build / cargo test (154 tests) / cargo clippy -- -D warnings / cargo fmt --check / cargo bench (now compiles and runs)
  • ruff check . / ruff format --check . / ty check .
  • bandit, complexipy, pip-audit (no known vulnerabilities)
  • mkdocs build --strict
  • Full pytest suite (299 tests) + coverage threshold, including the mypy-plugin tests against mypy 2.x

Rust: cargo update for semver-compatible bumps, plus toml 0.8->1.1,
criterion 0.5->0.8, and the ruff_python_* git dependencies from tag
0.15.0 to 0.16.2. Verified with cargo build/test/clippy/fmt.

Python: bump dev/docs dependency-group floors to current releases
(mypy 2.x, pyrefly 1.x, invoke 3.x, pyarrow 25.x, mkdocstrings-python
2.x, ruff 0.16.x, etc.). licensecheck was left at 2025.1.0 since 2026.x
requires Python >=3.12, which conflicts with this project's >=3.11
floor. The optional-dependencies floors (pandas/pandera/polars, the
library's own supported-version promises to users) are intentionally
untouched.

ruff 0.16 enables ~7x more default rules (added CPY001 to the ignore
list, since this project doesn't use copyright headers) and now
formats Python code blocks embedded in Markdown by default, which
reformatted 17 docs/example files.

Verified: cargo test/clippy, ruff check/format, ty check, mypy plugin
tests, bandit, complexipy, pip-audit, and the full pytest + coverage
suite all pass.
benches/parser_bench.rs is at rust/benches/, so reaching
examples/features/typedframes_example.py at the repo root only needs
two ../ segments, not three. The extra segment made cargo build
--benches (and cargo bench) fail unconditionally on main.
@w-martin
w-martin merged commit d2b2d89 into main Aug 9, 2026
7 checks passed
@w-martin
w-martin deleted the update-rust-and-python-dependency-versions branch August 9, 2026 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant