Autumn

v0.1.1 уже доступна

Современный фреймворк для веб-приложений
Простой, надёжный, уютный.

GitHub

Всё, что нужно

Просто, но уверенно

Минималистичный API

Маршрутизация на декораторах с чистыми и интуитивными контроллерами

Внедрение зависимостей

Простая и явная система внедрения зависимостей

Классы конфигурации

Типизированная конфигурация через JSON, YAML и переменные окружения

Хуки и middleware

Гибкие хуки жизненного цикла и middleware на уровне маршрутов

WebSocket

Встроенная поддержка взаимодействия в реальном времени

Документация

Автоматически создаваемая OpenAPI-документация и граф зависимостей

Код, в котором чувствуешь себя как дома

Autumn использует аннотации типов и декораторы Python, чтобы API получался декларативным, чистым и естественным.

from autumn.controller import REST, get
from autumn.response import JSONResponse
            
@REST(prefix = '/users')
class UserController:
    @get
    async def get_users(self) -> JSONResponse:
        return JSONResponse([
            { 'id' : 0, 'name' : 'Gilfoyle' },
            { 'id' : 0, 'name' : 'Dinesh' }
        ])
@service
class EmployeesService:
    def __init__(self, database: DBClient):
        self.database = database

    async def get_employees(self) -> list[dict]:
        return await self.database.query("""
            SELECT *
            FROM employees
        """)

Внедрение зависимостей, как и должно быть

Никакой магии глобальных переменных. Явные зависимости, прозрачные связи, предсказуемое поведение.

Посмотреть больше примеров

Почему Autumn?

Мы любим существующую экосистему, но нам хотелось фреймворка с ясным взглядом на структуру кода.

Не FastAPI

Похож на FastAPI, но со встроенной системой внедрения зависимостей, которая помогает сохранять архитектуру чистой.

Не Flask

Всё, что даёт Flask, и ещё те инструменты, которые обычно всё равно приходится устанавливать самому.

Не Django

Вся мощь, но без 47 файлов настроек.

Быстрый настолько, насколько нужно.

Autumn построен на ASGI и использует современные возможности Python, чтобы ваше приложение оставалось лёгким и отзывчивым.

Посмотреть больше примеров
Falcon ~4471 req/s
Autumn ~4006 req/s
FastAPI ~3644 req/s
Flask ~2149 req/s