Oban comes to Python

Today we’re releasing Oban for Python. Not an Oban client in Python. Not a pythonx wrapper embedded in Elixir. Nope, it’s a fully operational, PostgreSQL backed, typed, async, pythonic-as-we-could-muster implementation of Oban in Python…

If you’re not interested in reading the whole article:

26 Likes

Is there any ability to have Python and Elixir apps that shared a database process each other’s jobs?

I don’t have this scenario but more just curious

Edit: I also wanted to say congrats! I’m very happy for you two! This is awesome!

6 Likes

Just want to say congratulations!

Oban has been a main pillar for the Elixir applications I’ve worked on. It has proven itself to be extremely reliable and well thought. Glad to see it expanding to other ecosystems.

4 Likes

Thank you :grey_heart: for the sentiments and congrats!

Indeed, taken from the article :up_arrow:, in the interop section.

"It’s entirely possible to enqueue jobs from an Oban instance running in Elixir and run them in Python, or vice-versa!

In fact, recorded job output is stored in erlang term format, so you can retrieve output from jobs run in an entirely different platform. Since the PubSub notification format is identical, it’s even conceivable to pause/resume/scale queues running on heterogeneous nodes."

6 Likes

Huh, that’s pretty cool. So you could have a Python app generating jobs and then have an Elixir app consuming them, or vice-versa? I could see that being useful in both directions.

2 Likes

Rooting that some day JS will also get Oban integration. Right now I’m using BullMQ there, but I’d rather go with Oban given the choice (I don’t like the fact that BullMQ uses backend without good persistance).

2 Likes

Oh dope! I went straight to the library docs. Woops

That’s awesome though!

Pro move, Peter. No worries!