Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FR: Variant without Rust dependencies #1270

Open
hjfreyer opened this issue Jun 12, 2024 · 1 comment
Open

FR: Variant without Rust dependencies #1270

hjfreyer opened this issue Jun 12, 2024 · 1 comment

Comments

@hjfreyer
Copy link

Hey there!

I'm in the market for a python jsonschema implementation to use in a large OSS project with strict requirements to vendor-in all source and build from scratch. This package seems far better in terms of API and implementation than other options in this space, and I was getting ready to start using it when I discovered the cargo dependency.

Unfortunately, invoking cargo in our build is a non-starter. However, looking through the code, it seems like the rpds dependency is fairly isolated. In theory a pure python implementation of HashTrie{Set,Map} would do the job? I imagine performance would suffer, but it would make the library available to more customers.

If this isn't a thing you want to support, I understand. I just wanted to let you know you'd gain a customer if you do!

Thanks

@Julian
Copy link
Member

Julian commented Jun 12, 2024

Hi there. Thanks for the issue.

A pure python fallback is on the ever-long TODO list but fairly low priority at the minute honestly, especially given that the packaging ecosystem doesn't yet have a good way to express eager dependencies (essentially all CPython users should get the rust dep unless they opt out, and there's no way to express that yet). Of course on the off chance you're using PyPy (which is the main reason to reintroduce the pure python dep) then you would be good (as my intention is to default to that on PyPy). But yeah that's why this hasn't been a priority yet (along with me having 1000 other things to work on for better or worse).

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

No branches or pull requests

2 participants