boltons should be builtins.
Boltons is a set of pure-Python utilities in the same spirit as — and yet conspicuously missing from — the standard library, including:
Atomic file saving, bolted on with
- A highly-optimized
- Two types of
- A full-featured
TracebackInfotype, for representing stack traces, in
- A lightweight
UTC timezoneavailable in
- Recursive mapping for nested data transforms, with
And that’s just a small selection. As of January 15, 2018,
77 types and 144 functions, spread across
28 modules. See what’s new by checking the CHANGELOG.
Installation and Integration¶
Boltons can be added to a project in a few ways. There’s the obvious one:
pip install boltons
Then dozens of boltons are just an import away:
from boltons.cacheutils import LRU lru_cache = LRU() lru_cache['result'] = 'success'
Due to the nature of utilities, application developers might want to consider other integration options. See the Integration section of the architecture document for more details.
Boltons is tested against Python 2.6, 2.7, 3.4, 3.5, and PyPy.
The majority of boltons strive to be “good enough” for a wide range of
basic uses, leaving advanced use cases to Python’s myriad specialized
3rd-party libraries. In many cases the respective
will describe 3rd-party alternatives worth investigating when use
boltons. If you’ve found a natural “next-step”
library worth mentioning, consider filing an issue!
Found something missing in the standard library that should be in
boltons? Found something missing in
boltons? First, take a
moment to read the very brief Architecture statement to make
sure the functionality would be a good fit.
cacheutils- Caches and caching
debugutils- Debugging utilities
dictutils- Mapping types (OMD)
ecoutils- Ecosystem analytics
fileutils- Filesystem helpers
gcutils- Garbage collecting tools
ioutils- Input/output enhancements
jsonutils- JSON interactions
mathutils- Mathematical functions
mboxutils- Unix mailbox utilities
namedutils- Lightweight containers
queueutils- Priority queues
statsutils- Statistics fundamentals
strutils- Text manipulation
tableutils- 2D data structure
tbutils- Tracebacks and call stacks
typeutils- Type handling
urlutils- Structured URL