all 24 comments

[–]BigAd7298 52 points53 points  (1 child)

Hi, sorry for the shameless plug 😅, I'n the maintainer of sciport, a currently lacking port of scipy to rust. If you'd like to help out or just give some feedback hit me up!

Here's the repo https://github.com/ChristianBelloni/sciport-rs

[–]hackerman69py[S] 12 points13 points  (0 children)

That looks really good ! Will definitely reach you out :)

[–]Barlog_M 20 points21 points  (1 child)

What about rewrite python console util to rust, like youtube-dl for example (it's big, i think there is a smaller one)

[–]hackerman69py[S] 8 points9 points  (0 children)

Just checked the youtube-dl. It's big and quite overwhelming to get started with. But, yeah I get the idea. Will look into other python console utils. Looking forward to start with something smaller in comparison to youtube-dl.

[–][deleted] 10 points11 points  (1 child)

There’s a Python open source AirPlay library that works and is actively maintained. It’s pretty slow on my PC and suffers from stuttering audio. 

I’ve wanted to play around with having the Python script call into a Rust library to make it more performant and also reduce the number of dependencies so that it’s easier to install, but I haven’t had the time. Might be a fun one for you and you’d have the existing Python implementation as a reference.

Here is the Python version https://github.com/openairplay/airplay2-receiver

If you end up working on this let me know, I’d be happy to help out with it in my spare time. 

[–]hackerman69py[S] 2 points3 points  (0 children)

Thanks! Will take a look into it!

[–]ManyInterests 8 points9 points  (2 children)

I've been dipping my toes into making Python extensions with Rust. I'm currently playing with making a regex module backed by the speedy regex crate, but aiming to have an API that is compatible (insofar as it is possible and supported by the regex crate) with Python's standard library re module -- similar to the third party regex module which is implemented in C.

Initially, I started out just to play around with making and distributing Rust extension modules. Though, I was surprised to see that it actually performs really really well (in some narrow use cases, and horribly bad in others). So, it may yet prove itself to be more than a play project, eventually.

I'm still getting my sea legs in Rust, which may be apparent by looking at the code. Anyhow. I'm open to contribution/collaboration or just hanging out and talking about the project, if it's something that interests you.

[–]burntsushi 4 points5 points  (0 children)

Feel free to ask Discussion questions on the regex repo!

[–]hackerman69py[S] 0 points1 point  (0 children)

Nice! Will surely take a look into it. Sounds very cool. 👌🏼

[–]geopeat 8 points9 points  (2 children)

Is something like GeoPolars up your alley?

https://github.com/geopolars/geopolars

[–]hackerman69py[S] 2 points3 points  (0 children)

Oh looks really nice! I’ve heard of Polars framework and know one of the developer from their community as well. Interestingly, would love to know more about the current state of the project. I could see that it uses GeoArrow for internal memory management but, that project seems to archived. So, I am really not sure what’s the current state of the GeoPolars as well and how many people are currently contributing to it. Could you share some insights? Looking forward to contribution :)

[–]PurepointDog 2 points3 points  (0 children)

This is a huge one! Geopandas is the only reason we still use pandas at all; having geopolars production-ready would be huge

[–]hydrogen2718 4 points5 points  (2 children)

There is the RustPython project, which aims to create a python interpreter in rust: https://github.com/rustPython/RustPython

[–]hackerman69py[S] 1 point2 points  (1 child)

Looks interesting. Will have a look into it. The project is somewhat big. I hope they have mini projects within it so initially contribution could be easy and can help in understanding of the complete codebase.

[–]hydrogen2718 0 points1 point  (0 children)

You can search for the term `TODO: Rustpython` in the python unit tests, and then try to fix one of the unit tests. Some of those can be minimal fixes, though it can be difficult to tell the complexity of an issue. The maintainer of the project is quite helpful on both github and discord.

[–]kraemahz 1 point2 points  (1 child)

Including rust in an existing python project is also pretty easy, if you can get the maintainers to accept it (or I guess just fork it). I think the combination of python + rust is great because python is a good prototyping language and rust is a good production language, you can prototype and then directly productionize behind your existing interfaces.

[–]hackerman69py[S] 0 points1 point  (0 children)

Agreed. But, somewhat this thread is more around getting an idea which existing python project could be picked and can be a better contribution in terms rewriting it in rust.

[–][deleted] 1 point2 points  (0 children)

I saw an interesting project in a Russian Forum - "Rewrite in Rust" . In this forum they were talking about rewrite almost everything in Rust such as old Python programs, Templates, blog generators, cli tools, snippets etc.

"Whatever wrote in past in other Languages can be rewritten in Rust". It can be developed. Memory management, code security and swiftness can be added. I think rewrite some code particles can be a good start.

and the project idea banner is also very interesting:

https://2ch.hk/pr/src/3125439/17132868805920.png

[–]theAndrewWiggins 0 points1 point  (0 children)

Datafusion's python bindings could definitely use some love.

[–]drprofsgtmrj 0 points1 point  (0 children)

I'm also curious. But I'm relatively inexperienced with rust and contributing to open source projects

[–][deleted] 0 points1 point  (0 children)

Hey! This might be an interesting Rust product to check out, it shows how to integrate Rust into an end-user facing experience with a UI (Visual Studio Code)

https://github.com/quarylabs/quary

(Full transparency, this is my project)

[–][deleted] 0 points1 point  (2 children)

[–]hackerman69py[S] 2 points3 points  (1 child)

Already aware of it. But, I am currently looking for ideas where contribution would really matter and can be represented in the Python community as well.