Об этом проекте
Falcon — это минималистичный ASGI/WSGI-фреймворк для создания критически важных REST API и микросервисов, с акцентом на надежность, корректность и производительность в масштабе. Он использует HTTP и REST-архитектуру, избегая ненужных зависимостей и абстракций. Приложения Falcon работают с любым WSGI или ASGI-сервером и запускаются на CPython 3.9+ и PyPy 3.9+.
Ключевые особенности включают:
- Поддержка ASGI, WSGI и WebSocket
- Встроенная поддержка asyncio
- Отсутствие зависимости от магических глобальных переменных для маршрутизации и управления состоянием
- Стабильные интерфейсы с акцентом на обратную совместимость
- Простое моделирование API через централизованную REST-маршрутизацию
- Высокооптимизированная, расширяемая кодовая база
- Легкий доступ к заголовкам и телам через классы запросов и ответов
- DRY-обработка запросов через компоненты промежуточного ПО и хуки
- Строгое соблюдение RFC
- Идиоматические HTTP-ответы об ошибках
- Простая обработка исключений
- Быстрое тестирование с помощью WSGI/ASGI-хелперов и моков
Falcon разработан так, чтобы быть надежным (без зависимостей вне стандартной библиотеки, 100% покрытие тестами), отлаживаемым (избегает магии, необработанные исключения никогда не маскируются), быстрым (значительно быстрее Django и Flask, может компилироваться с Cython) и гибким (оставляет детали реализации разработчику).
README включает инструкции по установке через pip, примеры для WSGI и ASGI-приложений, а также более сложный пример, демонстрирующий заголовки, параметры запроса, обработку ошибок, промежуточное ПО и хуки. Также перечислены организации, использующие Falcon, включая OpenStack, Rackspace и Opera Software, и приведены ссылки на документацию, ресурсы сообщества и варианты поддержки.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.