🔩 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
Wu Tingfeng 8191b0ff3c
Add support for Python 3.12 (#361)
2024-01-14 23:50:50 -08:00
.github/workflows Add support for Python 3.12 (#361) 2024-01-14 23:50:50 -08:00
boltons Fix boltons.strutils.__all__ missing names (#356) 2023-11-29 10:39:43 -08:00
docs Add support for Python 3.12 (#361) 2024-01-14 23:50:50 -08:00
misc Fix warnings regarding invalid escape sequences 2020-02-01 00:22:52 +05:30
tests fix OneToOne.update behavior with empty iterables 2023-11-02 09:32:11 -07:00
.gitignore Refresh CI matrix (#320) 2022-12-08 01:28:02 -08:00
CHANGELOG.md changelog for 23.1.1 2023-11-01 00:06:00 -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 Add support for Python 3.12 (#361) 2024-01-14 23:50:50 -08: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-rtd.txt a bunch of docs cleanups 2015-09-24 11:51:21 -07:00
requirements-test.txt Refresh CI matrix (#320) 2022-12-08 01:28:02 -08:00
setup.cfg license_file is deprecated (#357) 2023-12-02 12:20:58 -08:00
setup.py Add support for Python 3.12 (#361) 2024-01-14 23:50:50 -08:00
tox.ini Add support for Python 3.12 (#361) 2024-01-14 23:50:50 -08: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 Python 2.7 and 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.