Open jameslamb opened 3 months ago
Since this library is still in development and breaking changes are not too disruptive, I think it's worth making the public API stricter right now.
Through some mix of the following:
__all__
*
_
Clarifies the boundary between the private and public API for users of the library.
Expands the set of implementation details that could be changed in the future without worrying about breaking users.
Reduces the risk of naming conflicts wherever * imports are used.
See these related issues for reference:
Make changes in this project to implement these things.
N/A
I missed this somehow, but this definitely a great idea.
Description
Since this library is still in development and breaking changes are not too disruptive, I think it's worth making the public API stricter right now.
Through some mix of the following:
__all__
entries in modules to limit what is exported (affects*
imports and things like sphinx autodoc)_
Benefits of this work
Clarifies the boundary between the private and public API for users of the library.
Expands the set of implementation details that could be changed in the future without worrying about breaking users.
Reduces the risk of naming conflicts wherever
*
imports are used.Acceptance Criteria
__all__
list containing only its public attributes_
Approach
See these related issues for reference:
Make changes in this project to implement these things.
Notes
N/A