About Aeros

Aeros is a production-grade ASGI (Asynchronous Server Gateway Interface) package containing wrappers for widely used Web and API functions. It combines all the benefits from Quart and Hypercorn, while maintaining the in-Python API, making it easy to create an application that can be run from custom code, not by shell. Additionally, Aeros adds powerful wrappers, that make complex features easy to code and implement.

In the end, it is meant to provide an API for web applications that is as intuitive as possible.

Features

  • High-performance web server

    • Async request handling

    • Supports multi-threading

  • Production-grade ASGI (async WSGI)

    • Can be run in a separate thread

    • Easy Framework based on Flask/Quart

  • Native HTTP features

    • Native server-side caching

    • Native gzip compression

    • Custom global headers (like CORS etc.)

  • EasyRequest handler (improvement of Flask.request)

  • Full In-Python code API

Aeros over Flask and Quart?

While Flask is one of the most popular and frequently used frameworks, it doesn’t come with a full WSGI server. Therefore, you will need an additional module like Waitress or Gunicorn. Quart shares the same features as Flask, but you can get more performance out of it, since it supports asynchronous request handling. But as for Flask, you will need a WSGI (an ASGI in this case) to deploy your Quart app into production. The most popular ASGI at the moment is called Hypercorn and is installed together with Quart.

But Hypercorn does only support deployment from console. Meaning, you will have to invoke a start command like: hypercorn <file>:<app_variable_name> to start your server. This makes it hard to deploy a multi-thread web server and requires a ton of efford to debug and control and monitor the web server instance of your application.