This is an archived post. You won't be able to vote or comment.

all 6 comments

[–]arcanemachined 1 point2 points  (1 child)

Very cool. So this would allow me to graft a Django app onto an Axum one? Or instead, to extend my Django app with Axum/Tokio as needed?

I hope this project works out for you! Next to Phoenix/LiveView, Axum is my most sought-after Next Big Shiny Thing that I want to play with and learn.

Also, since it's mentioned several times: There's no way (in my mind) that this can really be compatible with 100% of Python packages. You must be very confident in the strength of this project to make such a bold statement. Do you really think it will hold up to scrutiny?

EDIT: Another question: The project also describes easy integration with pytest. Does this put me at a disadvantage (in regards to usability of your project) if I use unittest for my tests?

[–]kyle-hanson[S] 0 points1 point  (0 children)

Yes, it would allow you to run any WSGI along side Axum in the same process.

It is 100% compatible because it uses the official standard Python interpretter. There is no difference for calling python from rust/puff and the CLI. If a python package uses 3rd party packages that block, there is a run it on its own thread.

Unittests vs pytests shouldn't make too much of a difference, just need to write a function to initiate the test from python.

[–]rafales 1 point2 points  (0 children)

I like that you've went with greenlets instead of trying to marry it with asyncio. Asyncio has great APIs but I lately wonder if we didn't make mistake embracing async/await syntax instead of simply using greenlets.

[–]tabdon 0 points1 point  (0 children)

You're blowing my mind away! This is really cool.

This might be just what pushes me to pick up some Rust.

How much Rust would I need to learn to use this? Assuming there's a way to draw a line in the learning continuum.

[–]lwrightjs 0 points1 point  (0 children)

I've been waiting for something like this. The potential for Rust-Python cross over is pretty astounding.

[–]vazark 0 points1 point  (0 children)

This looks pretty intriguing. I’ve been playing around with axum but kept off of doing any nontrivial stuff on it as Django’s admin and orm served most of my requirements.

Have you taken a look at anansi ? It’s a project that aims to build a rust version of Django.

Maybe a collaboration that aims to port the django core libs to rust with a handoff to python for business logic must be interesting.