Conversation
|
Thank you for your contribution! 👍 Looks like one step failed: I guess that was expected as your library isn't available yet, right? |
|
Hi Tom, Yes — that was expected. The optional backend wasn’t on PyPI yet when the check ran.
https://github.com/lowmiaq-gmail/python-semver-native-selftest/actions/runs/33612477528 Whenever the fork workflow runs on the latest commits are allowed to proceed, Just let me know if anything still looks off. |
|
Looks great! 👍 I can't access the above URL, but I used this one: https://github.com/lowmiaq-gmail/fast-semver-rs/actions/runs/33606118909. 🙂 I also noticed this warning in your repo: If I'm not mistaken, it might come from using old action steps (search for What's missing in this repo are:
Would you like to amend this to finish this PR or should I do it? |
|
Hi Tom, Glad it looks good — and thanks for approving the fork workflows; checks are green on this end too. I’ll amend the PR with a Thanks again! |
- Add towncrier newsfragment pr476.feature.rst - Document optional [native] extra in install.rst - Backend fast-semver-rs-backend accelerates parsing on CPython - Pure-Python parser remains default; opt-in only Co-authored-by: lowmiaq-gmail <[email protected]>
|
Hi Tom, Amend is up on this PR:
Latest commit: |
|
This is great! Thank you so much for all your efforts! 😍 I'm ready to merge it. 🚀 |
Refs
Closes the next step agreed in #474 (Tom’s summary + my confirmation).
What this is
A minimal optional adapter so maintainers can review the actual maintenance footprint—no larger design commitment.
Default install stays pure Python. Opt-in only via:
pip install 'python-semver[native]'which pulls
fast-semver-rs-backend(CPython only; maintained in a separate repo under my account). If the backend is absent or declines a value, parsing falls through to the existing Python path.Footprint (3 files)
pyproject.tomlnativesrc/semver/version.pytests/test_optional_native_backend.pyBehavior notes
optional_minor_and_patch=True(Python-only contract).ValueErrorfalls through so arbitrary-size ints / exact errors stay Python’s.Maintenance boundary (as agreed in #474)
python-semverowns API/semantics + this thin hook.Happy to adjust the shape if you’d prefer a different footprint for this first look.