Inspired by the original mahmoud/boltons GitHub repository / boltons PyPI package (founded ~10 years ago), this organization takes a modern approach to solving the same problem. Namely, while we strive to adhere (more-or-less) to the design tenets of the original project, we choose to utilize separate GitHub repositories and separate PyPI packages for each cohesive set of library utilities.
The original project's architecture statement can be found here; we summarize the design guidelines found on that page below:
- Be pure-Python and as self-contained as possible.
- Perform a common task or fulfill a common role.
- Demonstrate and mitigate some insufficiency in the standard library.
- Strive for the standard set forth by the standard library by striking a balance between best practice and “good enough”, correctness and common sense. When in doubt, ask, “what would the standard library do?”
- Have approachable documentation with at least one helpful doctest, links to relevant standard library functionality, as well as any 3rd-party packages that provide further capabilities.
Here is another telling quote taken from the original boltons project's Architecture document:
The larger the problem solved, the less likely the functionality is suitable for inclusion in boltons; boltons are fundamental and self-contained, not sweeping and architecture-defining.
In the python-boltons (AKA "big boltons") organization, we still believe that every bolton should be fundamental and self-contained. Moreover, we largely support the statement quoted above as a whole. With that said, one of the benefits of breaking each bolton out into its own repository is that it makes it easier to scale these utility libraries to higher levels of abstractions later; we shall allow this to occur organically and will not cripple library growth for the sake of keeping all libraries "small".
For more information on the design of this organization, refer to the documents in this organization's design repo, which we consider to be mandatory reading for anyone interested in contributing / maintaining boltons.