dependabot[bot] 203931bac2 Bump jinja2 from 3.1.4 to 3.1.6 in /frameworks/Python/falcon hai 4 meses
..
templates 5741685b81 Bump Falcon to 3.0.1 and use python3 instead of python2 (#7036) %!s(int64=3) %!d(string=hai) anos
README.md 65d423da03 Add Falcon ASGI/Asyncio variant and make workers for Bjoern server (#7803) %!s(int64=2) %!d(string=hai) anos
app-socketify-asgi.py 0143cbc29b [Python] Add Socketify.py ASGI and WSGI, add Falcon with ASGI and WSGi using socketify.py (#7761) %!s(int64=2) %!d(string=hai) anos
app.py d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
app_asgi_tortoise.py 65d423da03 Add Falcon ASGI/Asyncio variant and make workers for Bjoern server (#7803) %!s(int64=2) %!d(string=hai) anos
benchmark_config.json d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
config.toml d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
db_orm.py 5741685b81 Bump Falcon to 3.0.1 and use python3 instead of python2 (#7036) %!s(int64=3) %!d(string=hai) anos
falcon-asgi.dockerfile d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
falcon-bjoern.dockerfile d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
falcon-fastwsgi.dockerfile d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
falcon-orjson.dockerfile d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
falcon-pypy3.dockerfile d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
falcon-socketify-asgi-pypy3.dockerfile d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
falcon-socketify-asgi.dockerfile d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
falcon-socketify-wsgi-pypy3.dockerfile d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
falcon-socketify-wsgi.dockerfile d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
falcon-waitress.dockerfile d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
falcon.dockerfile d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
gunicorn_conf.py 65d423da03 Add Falcon ASGI/Asyncio variant and make workers for Bjoern server (#7803) %!s(int64=2) %!d(string=hai) anos
helpers.py d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
requirements-bjoern.txt d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
requirements-db-pony.txt d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
requirements-db-tortoise.txt d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
requirements-fastwsgi.txt d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
requirements-meinheld.txt d8358add54 Bump gunicorn from 20.1.0 to 23.0.0 in /frameworks/Python/falcon hai 4 meses
requirements-pypy.txt d8358add54 Bump gunicorn from 20.1.0 to 23.0.0 in /frameworks/Python/falcon hai 4 meses
requirements-socketify-pypy.txt d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
requirements-socketify.txt d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
requirements-uvicorn.txt d8358add54 Bump gunicorn from 20.1.0 to 23.0.0 in /frameworks/Python/falcon hai 4 meses
requirements-waitress.txt d60390ddc2 [Python] Falcon: use 3.11 python and delete repeated tests (#8180) %!s(int64=2) %!d(string=hai) anos
requirements.txt 203931bac2 Bump jinja2 from 3.1.4 to 3.1.6 in /frameworks/Python/falcon hai 4 meses
tortoise_models.py 65d423da03 Add Falcon ASGI/Asyncio variant and make workers for Bjoern server (#7803) %!s(int64=2) %!d(string=hai) anos

README.md

Falcon Benchmark Test

This is the Falcon portion of a benchmarking tests suite comparing a variety of web development platforms.

The information below is specific to Falcon. For further guidance, review the documentation. Also note that there is additional information provided in the Python README.

Description

Falcon is a blazing fast, minimalist Python web API framework for building robust app backends and microservices. The framework works great with both asyncio (ASGI) and gevent/meinheld (WSGI).

Features:

  • ASGI, WSGI, and WebSocket support Native asyncio support.
  • No reliance on magic globals for routing and state management.
  • Stable interfaces with an emphasis on backwards-compatibility.
  • Simple API modeling through centralized RESTful routing.
  • Highly-optimized, extensible code base.
  • DRY request processing via middleware components and hooks.
  • Strict adherence to RFCs.
  • Idiomatic HTTP error responses.
  • Straightforward exception handling.
  • WSGI/ASGI testing helpers and mocks.
  • CPython 3.5+ and PyPy 3.5+ support.

Infrastructure Software

Server

  • Socketify.py on CPython3
  • Socketify.py on Pypy3
  • Gunicorn + Uvicorn workers with Orjson on CPython3
  • Bjoern on Cpython3
  • Gunicorn + Meinheld on CPython3
  • Gunicorn + Meinheld with Orjson on CPython3
  • Gunicorn Sync on PyPy3
  • Waitress on CPython3

Database

  • Tortoise ORM [PostgresSQL] - (asynpg on CPython3)
  • Pony ORM [PostgreSQL] - (psycopg2-binary on CPython3, psycopg2cffi on PyPy3)

Test Paths & Sources

All of the test implementations are located within a single file (app.py) and accessible via http://localhost:8080.

Get Help

Resources

Community