About this project

Falcon is a minimalist ASGI/WSGI framework for building mission-critical REST APIs and microservices, with a focus on reliability, correctness, and performance at scale. It embraces HTTP and the REST architectural style, avoiding unnecessary dependencies and abstractions. Falcon apps work with any WSGI or ASGI server and run under CPython 3.9+ and PyPy 3.9+. Key features include: - ASGI, WSGI, and WebSocket support - Native asyncio support - No reliance on magic globals for routing and state management - Stable interfaces with emphasis on backwards compatibility - Simple API modeling through centralized RESTful routing - Highly-optimized, extensible code base - Easy access to headers and bodies through request and response classes - DRY request processing via middleware components and hooks - Strict adherence to RFCs - Idiomatic HTTP error responses - Straightforward exception handling - Snappy testing with WSGI/ASGI helpers and mocks Falcon is designed to be reliable (no dependencies outside the standard library, 100% test coverage), debuggable (eschews magic, unhandled exceptions are never masked), fast (significantly faster than Django and Flask, can compile with Cython), and flexible (leaves implementation details to the developer). The README includes installation instructions via pip, examples for both WSGI and ASGI apps, and a more complex example demonstrating headers, query parameters, error handling, middleware, and hooks. It also lists organizations using Falcon, including OpenStack, Rackspace, and Opera Software, and provides links to documentation, community resources, and support options.