Like Lahja this too is rather much in the alpha stage, but I have been using it in production for over a year now.
I mention it here in case it is interesting to anyone, interest/feedback always welcome!
I'd be interested to see how well this holds up under load, especially compared to other common event bus patterns.
- https://github.com/jodal/pykka (Python)
- https://github.com/quantmind/pulsar (Python)
- https://github.com/akka/akka (Java)
- https://github.com/eclipse-vertx/vert.x (Java)
- etc.
This feels quite a bit like Vert.x from the Java world, which flows data between components via an event bus.
Noob python question: does Python support reactive extensions and chaining? That would fit well on top of this too.
I’ve used Redis in the past for lightweight pub/sub and zeromq for IPC before we had adopted Python 3 (and I left that job before then). I hated juggling threads and queues before that and then having to run Redis just to run your program was a pain.
The syntax looks similar enough to both of those to get started quickly and easily.
I’ve been writing Go so much I don’t know how much this is “needed” in Python but the examples using context managers ring the “it’s Pythonic” bell.
I suspect the answer will also apply to something like Lahja.
EDIT: Thanks HN, try working in an industry where every new project is in Python 2, and have no intention to move on, before saying "moeve to 3", it doesn't help at all.
You may be okay to stick with Python 2, but this means you also agree not to expect new features and new libraries. So please don't mention Python 2 to a new library.
Also, Python 3.9 is now out which means there's been more than enough time to migrate - https://docs.python.org/3.9/whatsnew/3.9.html
Upgrade. Or accept that you are using a dead language.
Python 2 is very close to being not supported anymore, which means no more security updates, etc.
You'd be surprised how Python 2 is _still_ being used in this day and age.
Lots of big players still use Python 2 (Google being the most prominent), and untold smaller players.
Besides, Windows XP and PHP are also in use, as are 50+ year old COBOL systems, so there's that.
Unless you come in and do the port yourself, many systems are not getting ported anytime soon. RedHat and co will continue to release 2.7 patches for the foreseeable future, long after 2020.
For anyone interested, this is the VFX industry reference platform, which is finally hoping to move to Python 3 next year: https://vfxplatform.com/
If you say airline...
Not all of us move fast and break things here, unlike the web dev world.