Skip to content

Python 3.14 support, confidence fix for "May", CI action bumps#2

Merged
ColeDrain merged 2 commits into
mainfrom
maint/py314-ci-confidence
Jun 4, 2026
Merged

Python 3.14 support, confidence fix for "May", CI action bumps#2
ColeDrain merged 2 commits into
mainfrom
maint/py314-ci-confidence

Conversation

@ColeDrain

Copy link
Copy Markdown
Owner

Addresses the three follow-ups from the 0.2.0 review.

Python 3.14 support

  • PyO3 0.22 → 0.28. Builds natively on 3.14 (no PYO3_USE_ABI3_FORWARD_COMPATIBILITY flag). API migration: Python::allow_threadsPython::detach; #[pyclass] gains skip_from_py_object (FromPyObject is now opt-in, and InferResult is return-only).
  • Added 3.14 to the CI test matrix, the release wheel matrix (Linux/macOS/Windows), and the pyproject classifiers. Wheels now cover 3.10–3.14.

Confidence fix — "May" (Observation A)

"May" is 3 letters, so it tokenizes as a short month name while "January" is a full one — splitting the votes at that position and lowering confidence on otherwise-clean %d %B %Y data. MonthName and MonthNameShort now share a vote bucket, so the score reflects reality. The resolved format was already correct; only the number dipped.

CI / release maintenance (Node 20 retirement)

  • actions/checkout v4 → v5, actions/setup-python v5 → v6, actions/{upload,download}-artifact v4 → v5 (Node 20 is being forced to Node 24 on 2026-06-16).
  • Upload/download-artifact kept on the same major (v5) for guaranteed interop on the publish path.
  • Rust toolchain pin 1.81 → 1.83 (PyO3 0.28 MSRV is 1.83).

Verification

  • 89 Rust tests (cargo test --lib), clippy --all-features -- -D warnings clean.
  • Native Python 3.14 build + 42 pytest green; infer_batch (now via detach) verified parallel-correct.
  • Note: cargo test --all-features can't link locally on macOS (the known extension-module + test-executable quirk); CI runs it on Linux, where it passed at 0.22 and this PR's CI confirms it at 0.28.

No version bump here — staged under CHANGELOG [Unreleased] for the next release.

Ugochukwu Onyebuchi added 2 commits June 4, 2026 17:45
- PyO3 0.22 -> 0.28 (allow_threads -> detach, pyclass skip_from_py_object);
  builds natively on Python 3.14 with no forward-compat flag. Add 3.14 to the
  CI test matrix, the release wheel matrix, and pyproject classifiers.
- Confidence: MonthName and MonthNameShort now share a vote bucket, so "May"
  (a 3-letter name tokenized as short-form) no longer lowers confidence on
  "%d %B %Y" data. The format was already correct; only the score dipped.
- CI/release: bump actions/checkout v4->v5, actions/setup-python v5->v6,
  actions/{upload,download}-artifact v4->v5 (Node 20 runtime retirement);
  Rust toolchain pin 1.81 -> 1.83 (PyO3 0.28 MSRV). Artifact upload/download
  kept on the same major for guaranteed interop on the publish path.

Verified locally: 89 Rust tests (cargo test --lib), clippy --all-features
-D warnings clean, native Python 3.14 build + 42 pytest green.
@ColeDrain ColeDrain merged commit bbefd8e into main Jun 4, 2026
7 checks passed
@ColeDrain ColeDrain deleted the maint/py314-ci-confidence branch June 4, 2026 16:54
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