Open Source

These are the open source projects that I am involved with, either as the author or as a maintainer.

Quart

Quart

Quart is a Python ASGI web microframework, that allows websites to be written utilising the async await syntax and the familiar Flask API. This is possible as Quart is a re-implementation of the Flask API using async/await and ASGI.

Source code and Documentation

I am the author of this project

Hypercorn

Hypercorn

Hypercorn is a Python ASGI server, capable of serving HTTP/1, HTTP/2, and HTTP/3 requests and WebSockets over both HTTP/1, HTTP/2 and HTTP/3. In addition it supports asyncio and Trio event loop workers.

Source code and Documentation

I am the author of this project

Quart-Trio

Quart-Trio is a Quart extension that supports the Trio event loop (rather than asyncio).

Source code and Documentation

I am the author of this project

Quart-Cors

Quart-CORS is a Quart extension that adds relevant Cross Origin Resource Sharing headers.

Source code

I am the author of this project

Quart-Rate-Limiter

Quart-Rate-Limiter is an extension for Quart to allow for rate limits to be defined and enforced on a per route basis. It is interesting in that it utilises the GCRA, rather than a leaky bucket approach.

Source code

I am the author of this project

Quart-Auth

Quart-Auth is an extension for Quart to provide for secure cookie authentication (session management). It allows for a session to be logged in, authenticated and logged out.

Source code and Documentation

I am the author of this project

Quart-Schema

Quart-Schema is a Quart extension that provides schema validation and auto-generated API documentation. This is particularly useful when writing RESTful APIs.

Source code and Documentation

I am the author of this project

Quart-DB

Quart-DB is a Quart extension that provides managed connection(s) to postgresql database(s).

Source code and Documentation

I am the author of this project

h2

h2 is a Sans-IO implementation of the HTTP/2 protocol.

Source code

I am a maintainer of this project

wsproto

wsproto is a Sans-IO implementation of the WebSocket protocol. It supports both HTTP/1 and HTTP/2 WebSockets.

Source code

I am a maintainer of this project

Werkzeug

Werkzeug is a comprehensive WSGI web application library.

Source code and Documentation

I am a maintainer of this project

Flask

Flask is a lightweight WSGI web application framework.

Source code and Documentation

I am a maintainer of this project