Results 148 issues of Nathaniel J. Smith

Black insists that function and class definitions should be separated by blank lines. Good rule! However, I think it's *slightly* overenthusiastic. For functions at the same level of nesting, this...

T: design
F: empty lines

Some changes black wants to make to my code: ```diff -on_windows = (os.name == "nt") +on_windows = os.name == "nt" ``` ```diff - currently_registered = (fd in self._registered) + currently_registered...

T: design
F: parentheses

I want to read the audio out of a `.mov` file, so I'm doing ``` child = subprocess.Popen(["avconv", "-i", "myfile.mov", "-f", "au", "-"], stdout=subprocess.PIPE) my_sndfile = Sndfile(child.stdout.fileno()) ``` This calls...

OK, let's do this. Question: Should we rename "nurseries"? It's something that keeps coming up, and while it would be somewhat painful to change now, it'll be pretty much impossible...

design discussion
potential API breaker

Most networking libraries provide some standard way to implement basic protocol building blocks like "split a stream into lines", "read exactly N bytes", or "split a stream into length-prefixed frames",...

design discussion
missing piece
user happiness
docs

`MultiError` is the one part of trio's core design that I'm really not satisfied with. Trying to support multiple exceptions on top of the language's firm one-exception-at-a-time stance raises (heh)...

design discussion
potential API breaker
exception handling

Recently we were discussing what happens if a subprocess call gets cancelled, but you want to at least find out what the subprocess said *before* it got killed. And @oremanj...

design discussion
cancellation

This is probably fairly low priority, but: an interesting and sometimes-useful feature is the ability to sleep until a particular *wall clock* time (e.g., "this cert is expiring at 2017-12-31T12:00:00Z,...

When `run_sync_in_worker_thread` or `BlockingTrioPortal` switch between the trio thread and a worker thread, they should preserve the `contextvars.Context`. Using literally the same `Context` turns out to be quite tricky though,...

polish
threads