We use numpydoc style for docstrings. Please follow the conventions described in the
numpydoc documentation.
We write out third party types with the library name, e.g. numpy.NDArray.
When defining a new class, prefer using Protocols over inheritance when possible.
- Protocols should not have
_protocolin their module name norProtocolin their class name. - Protocol implementation should be named
<Implementation><ProtocolName>and be in a module named<implementation>_<protocol_name>.py.