Adopt ua-parser-rs from uap-rust#297
Merged
masklinn merged 1 commit intoua-parser:masterfrom Mar 28, 2026
Merged
Conversation
c1bcf2e to
c38d86d
Compare
35ca2e0 to
5bc406e
Compare
5bc406e to
5613e80
Compare
Originally, building ua-parser-rs alongside uap-rust seemed to make sense, but over time I've soured on it: although it's largely Rust code: - The interface for python and (should) follow Python API design principles. - It's bound much more to ua-parser/uap-python (as an implementation detail thereof) than to ua-parser/uap-rust (which is just a dependency). - The tests are pure Python. - The CI and release pipeline are completely pipeline coded (testing and releasing for various python runtimes). And in case the Python and Rust teams split in the future, it probably doesn't make sense for the python team to have to go through the rust team to tune the extension, even if they may want / need counsel from that team. Adoption notes: - Publishing via maturin dropped, as it's deprecated. - Rust checks added to tox. - Dropped explicitly building and installing the ua-parser-rs as that's what `pip install ./ua-parser-rs` should be doing. - Because the wheels workflow is tricky, it can be run on a PR by tagging it allow running the wheels workflow in a PR. It's not enabled by default (or even when touching `ua-parser-rs`) as the cost of that job is enormous. - During wheels build, *only* the `-regex` tests are run, with `pytest-error-for-skips` to make sure the tests are not skipped (aka `ua-parser-rs` is properly installed).
5613e80 to
c17d708
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
As noted in ua-parser/uap-rust#54 (and the matching commit), putting ua-parser-rs in uap-rust initially made sense to me as it was entirely rust, and strongly dependent on the development of uap-rust, however the more time passes the less it does:
regexresolver