Encode / Monthly Reports / March 2018

3.8 release

We've just released 3.8, which is largely a maintence based release. The schema output management command mentioned in the last monthly report will instead likely be pending our next major release.

API Star

API Star will be getting a complete overhaul with a new 0.4 version that I'm very happy with. (https://github.com/encode/apistar/pull/400)

This involves quite a bit of slimming down, with several existing features removed, but the foundation that it gives is far less complex as a result.

In particular:

However we do now have:

Over the coming months I'm going to be consolidating all the API Schema generation and documentation building into the apistar package. Previously this has been spread across coreapi and coreschema, with documentation templates in both REST framework and API Star.


The ASGI specification was recently updated alongside the Django Channels 2.0 release. We hadn't previously been able to use ASGI for API Star, because it was designed primarily around the requirements of Django Channels, rather than as a general server-client interface. Instead we'd been using an "ASGI-like" interface, which I was refering to as the Uvicorn Messaging Interface.

The newest ASGI specification means we no longer need the "Uvicorn Messaging Interface". As a result I've been updating Uvicorn to become an ASGI-compliant webserver. (https://github.com/encode/uvicorn/pull/63)

The end result of this work will be that:

We'll also be in a position to start building up an ecosystem of shared tooling.

For example, adding ASGI support to the WhiteNoise package (https://github.com/evansd/whitenoise/pull/181) in order to easily support static file serving for asyncio applications.

You should expect to see new versions of API Star and Uvicorn sometime over the next few days.

As ever, thanks to all our sponsors, contributors, and users for your ongoing support.

— Tom Christie, 6th April, 2018.