Skip to content

Apply pep 3102 to all public API surfaces

This should really be done before declaring the python API surface as stable.

The pep 3102 introduces a semantic in function declarations which asserts that any function arguments passed after the symbolic * argument must absolutely be specified by naming the keyword when calling the function.

This makes the API more clear as to which function parameters are simply optional positional arguments, and which parameters are keyword options.

Applying this to all of our public python APIs would be easy (albeit a bit tedious), but seems it would allow us a bit more freedom in how we can extend the APIs in a backwards compatible way, it would allow us to add optional positional arguments to the APIs which already have keyword arguments, for instance.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information