Spec-Zone.ru › Falcon 2.0

Введение

Совершенство достигается не тогда, когда больше ничего нельзя добавить, а когда больше ничего нельзя убрать.

- Антуан де Сент-Экзюпери

Falcon — надёный высокопроизводительный фреймворк Python для создания бэкендов приложений и микросервисов больших масштабов. Он поддерживает архитектурный стиль REST и стремится делать как можно меньше, оставаясь при этом высокоэффективным.

Приложения Falcon работают с любым сервером WSGI и отлично работают под CPython 2.7/3.5+ и PyPy.

Чем Falcon отличается?

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

Быстрый. Те же аппаратные средства, больше запросов. Falcon обрабатывает запросы в несколько раз быстрее, чем большинство других фреймворков Python. Для дополнительного повышения скорости Falcon компилирует себя с помощью Cython, когда это возможно, а также хорошо работает с PyPy. Вы планируете перейти на другой язык программирования? Сначала протестируйте Falcon + PyPy.

Надёжный. Мы прилагаем значительные усилия, чтобы избегать введения критических изменений, и когда это происходит, они полностью документированы и вводятся (в соответствии с SemVer) только с повышением основной версии. Код тщательно тестируется с множеством входных данных, и мы требуем 100% покрытия во всех случаях. Falcon не зависит от каких-либо внешних пакетов Python.

Гибкий. Falcon оставляет множество решений и деталей реализации вам, разработчику API. Это даёт вам большую свободу для настройки и оптимизации вашей реализации. Благодаря минималистичному дизайну Falcon, члены сообщества Python могут свободно внедрять инновации в дополнения Falcon и дополнительные пакеты.

Легко отлаживаемый. Falcon избегает магии. Легко определить, какие входные данные приводят к каким выходным данным. Необработанные исключения никогда не инкапсулируются или маскируются. Потенциально неожиданные действия, такие как автоматическое разбор тела запроса, хорошо документированы и отключены по умолчанию. Наконец, в отношении самого фреймворка мы заботимся о том, чтобы пути логики были простыми и понятными. Всё это упрощает рассуждения о коде и отладку граничных случаев в крупных развертываниях.

Функции

  • Высокооптимизированная, расширяемая кодовая база
  • Интуитивное маршрутизирование с помощью шаблонов URI и классов ресурсов, вдохновлённых REST
  • Легкий доступ к заголовкам и телам через классы запроса и ответа
  • Обработка запросов DRY с помощью компонентов и хуков middleware
  • Идиоматические HTTP-ответы об ошибках
  • Простая обработка исключений
  • Быстрое тестирование единиц через WSGI-помощники и эмуляторы
  • Поддержка Python 2.7, 3.5+
  • Совместимость с PyPy

О лицензии Apache 2.0

Falcon распространяется на условиях лицензии Apache 2.0. Это означает, что вы можете использовать его в своих коммерческих приложениях, не раскрывая при этом свой собственный код с открытым исходным кодом. Это также означает, что если кто-то внесёт вклад в код, связанный с патентом, вам предоставляется бесплатная лицензия на использование данного патента. Это довольно выгодное предложение.

Теперь, если вы внесёте изменения в сам Falcon, подумайте о том, чтобы внести свой замечательный вклад обратно в сообщество.

Лицензия Falcon

Авторское право 2012-2017 принадлежит Rackspace Hosting, Inc. и другим участникам, как указано в отдельных файлах исходного кода.

Лицензия распространяется на условиях Лицензии Apache версии 2.0 («Лицензия»); вы не можете использовать этот файл, не соблюдая условия Лицензии. Вы можете получить копию Лицензии по адресу

http://www.apache.org/licenses/LICENSE-2.0

Если закон или соглашение в письменной форме не требуют иного, программное обеспечение, распространяемое в соответствии с Лицензией, распространяется «как есть», БЕЗ ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО ВИДА, явных или подразумеваемых. Обратитесь к Лицензии за конкретными условиями предоставления разрешения и ограничениями по использованию.

Внося вклад в этот проект, вы соглашаетесь также лицензировать свой исходный код на условиях Лицензии Apache версии 2.0, как описано выше.

© 2019 by Falcon contributors
Licensed under the Apache License, Version 2.0.
https://falcon.readthedocs.io/en/2.0.0/user/intro.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API