🔩 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
Mahmoud Hashemi 48c243ba77 fix a bit of py3 compat with OneToOne, also tweaked the repr 2017-08-19 19:21:43 -07:00
boltons fix a bit of py3 compat with OneToOne, also tweaked the repr 2017-08-19 19:21:43 -07:00
docs integrate MultiFileReader into sphinx docs 2017-07-29 19:25:17 -07:00
misc more readable linkification for the CHANGELOG 2015-08-22 16:48:52 -07:00
tests added one-to-one class to dictutils 2017-08-19 19:16:06 -07:00
.gitignore Remove six dependenct in ioutils 2016-10-21 16:35:22 -05:00
.travis.yml Test against Python 2.6. 2017-01-16 01:15:27 +01:00
CHANGELOG.md update CHANGELOG for 17.1.0 2017-02-27 01:30:22 -08:00
LICENSE adding license 2013-03-22 21:50:02 -07:00
README.md Update README to mention all the tested versions (in travis.yml) 2017-08-14 15:40:05 +10:00
TODO.rst clean up TODO 2017-05-01 12:49:47 -07:00
appveyor.yml ignore function_builder branch in appveyor.yml 2016-05-23 23:07:11 -07:00
pytest.ini adding pytest.ini to enable u'' doctest agnosticism 2017-03-15 00:53:28 -07:00
requirements-rtd.txt a bunch of docs cleanups 2015-09-24 11:51:21 -07:00
requirements-test.txt add a bit of coverage utility stuff in case others would like to run it (though the py2/py3 stuff would make getting to 100 a big ole headache. need to look at tox + coverage combining for that at some point) 2016-07-31 19:03:15 -07:00
setup.cfg hynek's guide says setup.cfg should be [wheel] 2016-04-18 22:59:53 -07:00
setup.py bump version for 17.1.1dev 2017-02-27 01:30:53 -08:00
tox.ini pass through arguents in tox.ini 2017-07-29 17:34:30 -07:00

README.md

Boltons

boltons should be builtins.

Boltons is a set of over 160 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 2.6, 2.7, 3.3, 3.4, 3.5, 3.6, 3.7-dev (aka nightly), and PyPy.

Installation

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

    pip install 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.