🔩 Like builtins, but boltons. 250+ constructs, recipes, and snippets which extend (and rely on nothing but) the Python standard library. Nothing like Michael Bolton.
Go to file
Kurt Rose ddbdefc558 add no-copy-of-sentinels test 2024-10-16 22:54:37 -07:00
.github/workflows Bump GitHub Actions 2024-03-31 13:37:54 -07:00
boltons Sentinel copy return self 2024-10-16 22:54:37 -07:00
docs bump docs version for 24.0 2024-03-31 14:25:22 -07:00
misc Upgrade Python syntax with pyupgrade --py37-plus 2024-03-31 13:37:54 -07:00
tests add no-copy-of-sentinels test 2024-10-16 22:54:37 -07:00
.gitignore Refresh CI matrix (#320) 2022-12-08 01:28:02 -08:00
.readthedocs.yaml quick default .readthedocs.yml config 2024-03-31 13:42:27 -07:00
CHANGELOG.md write changelog for 24.0 2024-03-31 15:40:06 -07:00
LICENSE adding license 2013-03-22 21:50:02 -07:00
MANIFEST.in prune docs build dir from manifest 2023-11-01 00:04:00 -07:00
README.md Drop support for EOL Python 2.6 and 2.7 2024-03-31 13:37:54 -07:00
TODO.rst add quick error report for wrap 2019-05-02 09:45:30 -07:00
pytest.ini docstring/test for OneToOne.unique alternate constructor 2019-06-11 23:59:46 -07:00
requirements-test.txt revert to tox==4.8.0 as 4.9 seems to have quietly dropped 3.7 support 2024-04-28 14:53:40 -07:00
setup.cfg Drop support for EOL Python 2.6 and 2.7 2024-03-31 13:37:54 -07:00
setup.py bump version for 24.0.1dev 2024-03-31 15:41:50 -07:00
tox.ini add py313 to tox 2024-06-15 16:34:15 -07:00

README.md

Boltons

boltons should be builtins.

Boltons is a set of over 230 BSD-licensed, pure-Python utilities in the same spirit as — and yet conspicuously missing from — the standard library, including:

Full and extensive docs are available on Read The Docs. See what's new by checking the CHANGELOG.

Boltons is tested against Python 3.7-3.12, as well as PyPy3.

Installation

Boltons can be added to a project in a few ways. There's the obvious one:

pip install boltons

On macOS, it can also be installed via MacPorts:

sudo port install py-boltons

Then, thanks to PyPI, dozens of boltons are just an import away:

from boltons.cacheutils import LRU
my_cache = LRU()

However, due to the nature of utilities, application developers might want to consider other options, including vendorization of individual modules into a project. Boltons is pure-Python and has no dependencies. If the whole project is too big, each module is independent, and can be copied directly into a project. See the Integration section of the docs for more details.

Third-party packages

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 boltons module will describe 3rd-party alternatives worth investigating when use cases outgrow boltons. If you've found a natural "next-step" library worth mentioning, see the next section!

Gaps

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.

Then, if you are very motivated, submit a Pull Request. Otherwise, submit a short feature request on the Issues page, and we will figure something out.