Crossbar.io: Real-Time Distributed RPC in Python (Interview)
I&#x27;ve been following crossbar for 2 years now, wrote some doc and tutorials for the team, but only this week have I finally used it in production. Made a real time dashboard for a big transport facility, coupled with vuejs and django.<p>In short, it&#x27;s a fantastic piece of software: RPC and Pub&#x2F;Sub can&#x27;t be easier and cleaner. The fact it also packs a process manager, a static file server and a WSGI servers makes it amazing.<p>But we really need a framework around it because right now it&#x27;s a lot of manual work.<p>It would probably take a year or so to make something worth it and not &quot;yet-another-microframework&quot;, but I&#x27;ve been studying the beast for some time and using it would allow to create a Python framework loaded out of the box with:<p>- full async web (and non web) microservices<p>- live settings, including routing<p>- task queues, with PUB&#x2F;SUB talking directly to the browser<p>- task runner, including for building static assets<p>- advanced cache busting strategies<p>- hot reloading to help you in dev, or to deploy in prod<p>- load balancing and fault tolerance strategies<p>On top of the regular features.<p>Additional stuff we could add, not related to crossbar:<p>- configuration framework (there is literally no good general solution for configuration management out there. The   less terrible being pyramid&#x27;s and zope&#x27;s)<p>- life cycle and error handling helpers (this is somewhere async framework fails big time) with clean logging, event model and debug tooling.<p>- wrappers offer a micro-framework like API that you can unfold into a full-scale framework when your needs grow. Aend not just one or the other.<p>- clear story for DB. Qraphql is something to explore but it&#x27;s a hard topic, with bad asyncio support for ORM and nosqlite db.<p>- 2 pass template rendering. Meta template generating templates, then generated templated used on the fly as views. This allow many tricks like pregenerating translated page, URL routing, static assets name based on hash, etc.<p>- administration web console, not for the database, but for the project itself.<p>We really need something to compete with new gen frameworks in Python. Right now there is nothing trying to be on par with meteorjs and the likes.<p>The trap is that Django is good enough right now, so investing the time and resource into dev something THIS new is hard to justify. And I read the code base, it&#x27;s not easy to groke (async never is anyway, but here you have to manually deal with the event loop) so finding a team would be hard, and doing it alone even harder.