intake / intake/python-snappy

Use Rust implementation instead?

Open
#91 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
490
Forks
104
PR merge metrics
No merged PRs in 30d

Description

Hi there!

I was curious if you'd be open to having the [Rust implementation of snappy](https://github.com/BurntSushi/rust-snappy) instead of the C dependency which can lead to troubles, especially when using `python-snappy` in environments like AWS Lambda?

I've made [cramjam](https://github.com/milesgranger/pyrus-cramjam) which does just this but would be willing to attempt migrating this project in a similar way. It wouldn't require any system dependencies and packing them in a wheel (OSX, Linux & Windows supported), of course, wouldn't require any compiler for the user. As it is right now, `cramjam` which includes snappy results in about ~1.5MB for linux wheels.

Anyway, let me know what you think and I'd be willing to start messing around with it. :+1:

Contributor guide

No contributing guide indexed for this repository

Research direction

No project files or tests are named. Start by reviewing how python-snappy currently declares and builds its C dependency, then compare the linked Rust implementation and cramjam approach. Done would require an agreed migration scope and confirmation that supported macOS, Linux, and Windows wheels need neither system dependencies nor a user compiler.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, python, rust
Domain
backend, build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.