Migrating to the Fast API
Performance is measured on every release, not guessed. The library has no runtime dependencies and builds in seconds. Between benchmarking and cutting a release, the second one taught me more. Contributions are welcome, especially to the documentation.
A few details
Every summer I revisit the same questions about the public API. The API is intentionally little so that it can stay stable. Bug reports with a minimal example get fixed fastest. What surprised me most was how little equipment it needed.
Thanks for reading, and for the generous observations that keep arriving. Some of this will be self-evident; some of it took me years. Good the command line is mostly a series of little, unglamorous decisions. I keep a short list of things to try next; triaging issues is near the top.
Here is what altered, and what stayed exactly the same. You can get remarkably far with a release script and some a steady hand. This began as a quick note and bit by bit turned into something longer. The result is not perfect, but it is honest.
The trick, if there is one, is to leave sufficient room for errors.
Closing thoughts
Every public function is documented and covered by tests. Most problems with error messages turn out to be problems with time. Between reviewing pull requests and triaging issues, the second one taught me more. Nothing here requires an issue tracker, though it does make things easier.
A note on tools
I am still not sure I have it right, but it is closer. Breaking changes are rare and always announced a release ahead. None of this is new, and that is partly why it works.
Below are a few observations, roughly in the order I learned them. Looking back, the fast approach was the right call. In November the light changes, and so does the work.