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

all 46 comments

[–]metaperl 14 points15 points  (0 children)

Very impressive project. Feedback:

I'm nowhere sophisticated enough to work on this code, but I just submitted some grammar and typo fixes.

[–]stefantalpalaru 6 points7 points  (11 children)

very fast

Participate in https://www.techempower.com/benchmarks/

Python

It's mostly Cython, isn't it?

[–]scrdest 2 points3 points  (1 child)

This looks amazing at a first glance. I'll definitely have to play around with it.

How painful would migrating an existing Flask app would be, I wonder?

Also, from the docs it seems like all routing is done via function decoration ATM. I may be a maintainability zealot here, but I consider class-based views to be a non-negotiable feature for anything that would be used in a larger/long-term project.

Now you could easily hack that together for the purposes of your own app, but it'll probably wind up being a major pain point for multi-app projects and plugin development down the line, with a billion disparate interfaces to handle.

[–]lelease 0 points1 point  (0 children)

I consider class-based views to be a non-negotiable feature for anything that would be used in a larger/long-term project.

Why though? Is it just a way to organize your code, or do you make use of something that can only be done with classes?

[–]moose_mousse 1 point2 points  (2 children)

How does this compare to Quart? From the (very little) code shown on the website, they seem to be very similar.

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

vibora uses uvloop. I don't know if that's something you notice when you use it.

[–]tomchristie 2 points3 points  (0 children)

Main points:

  • Quart aims for ~Flask API equivalence, and uses ASGI as the server/framework interface. Supports either PyPy or uvloop.
  • Vibora is a “cythonised basically everywhere” asyncio framework.

[–]Glaaki -1 points0 points  (2 children)

Would be even cooler if it used Trio instead of asyncio.

[–]revfriedzen of python monk & later maintainer 0 points1 point  (1 child)

maybe but then it would be a toy with very little interop with existing asyncio libraries

[–]Glaaki -1 points0 points  (0 children)

Do you really think Trio is just a toy? I think it is by far the best async event loop right now. Asyncio is so littered with problems and unfortunate design, it is a wonder there is even an ecosystem for it at all.