Skip to content

Commit eb8bedd

Browse files
committed
Monthly reports
1 parent 182c980 commit eb8bedd

File tree

3 files changed

+72
-0
lines changed

3 files changed

+72
-0
lines changed

reports/december-2020.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
layout: reports
3+
title: "December 2020"
4+
---
5+
6+
# Django REST framework
7+
8+
REST framework these days is in the somewhat odd position of both being the primary driver of our sponsorships, while also being feature complete and generally not in need of any significant development beyond keeping pace with upcoming Django releases.
9+
10+
Work here probably needs to be focused on good communication aimed at minimising the workload needed to keep the project well maintained.
11+
12+
# HTTPX
13+
14+
We’ve not been making big promotional dances about HTTPX, nor is the level of attention to detail that’s gone into its development necessarily obvious at a surface level. I’m perfectly happy with both of those, and quietly confident in its potential to be a cornerstone of the Python HTTP ecosystem.
15+
16+
The work we’ve put in has kept the internal complexity to a minimum wherever possible, and will enable us to work on developing further functionality that perhaps wouldn’t be as feasible otherwise. One case here could be supporting WebSockets over both HTTP/1.1 and HTTP/2 connections. Another would be supporting HTTP/2 bi-directional streaming, perhaps even allowing for use-cases such as gRPC. Integrating HTTP/3 support is another possible avenue.
17+
18+
### Notes on a 1.0 release
19+
20+
Laying down a 1.0 milestone has been pending on one particularly thorny design decision, which I’ll give a brief outline of here. Taking a call on this won’t affect the vast majority of users, but it does propagate throughout the stack, and would change the low-level “Transport API”.
21+
22+
The design decision has to do with resource management at the level of an HTTP request. Whenever a request is issued, there subsequently needs to be a point at which the resources are afterwards released. Either because the HTTP response has been read to completion, because an error occurred, or because the client closed the connection pre-emptivly, having read the headers and status code, but without ingesting the response body.
23+
24+
Resource management like this can either be handled using context management...
25+
26+
```python
27+
with transport.request(...) as response:
28+
...
29+
```
30+
31+
Or with explicit callbacks...
32+
33+
```python
34+
try:
35+
response = transport.request(...)
36+
finally:
37+
response.close()
38+
```
39+
40+
There is an argument to be made in favour of the low-level API *always* being strictly context managed. There’s a very close parallel to the constraints of “structured concurrency” here, although the resources being governed are not threads of control, but network resources. However, it’s such a fundamental change to the internal stack throughout that we’ve not yet been confident enough to go ahead with a switch there, and the associated knock-on effects that it has on some lower-level parts of the public API.
41+
42+
Taking a call on this is likely the final major blocker before issuing a 1.0 release.
43+
44+
# Starlette
45+
46+
Work on Starlette has been on hold lately, as it is fairly feature complete, although would benefit from better documentation.
47+
48+
It is feasible that the next useful piece of work here could be integrating HTTPX as the test client.
49+
50+
# Financial report
51+
52+
Sponsor income for the financial year 2019/2020 was about £60k. Less admin expenses of £13k. (office rental, accountancy costs, conference travel, cost of software services). Less corporation tax of £5k. Total remaining for salary/dividends £42k.
53+
54+
At some point something will need to change here, at least a little, but we've currently enough in the business bank account to give us some runway for the time being.
55+
56+
---
57+
58+
With thanks as ever to all our wonderful sponsors, maintainers & contributors.
59+
60+
— Tom Christie, 4th January, 2021.

reports/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ title: "Monthly Reports"
77

88
## 2020
99

10+
* [December 2020](december-2020)
11+
* [November 2020](november-2020)
1012
* [October 2020](october-2020)
1113
* [September 2020](september-2020)
1214
* [August 2020](august-2020)

reports/november-2020.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
layout: reports
3+
title: "November 2020"
4+
---
5+
6+
Omitted due to the crushing enormity of *life*.
7+
8+
Please see December's monthly report.
9+
10+
— Tom Christie, 4th January, 2020.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy