File: index.rst

package info (click to toggle)
python-boltons 16.4.1-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 872 kB
  • ctags: 1,259
  • sloc: python: 7,900; makefile: 159
file content (115 lines) | stat: -rw-r--r-- 3,598 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
.. boltons documentation master file, created on Sat Mar 21 00:34:18 2015.
boltons
=======

*boltons should be builtins.*

**Boltons** is a set of pure-Python utilities in the same spirit as —
and yet conspicuously missing from — the `the standard library`_,
including:

  * :func:`Atomic file saving <boltons.fileutils.atomic_save>`, bolted on with
    :mod:`~boltons.fileutils`
  * A highly-optimized :class:`~boltons.dictutils.OrderedMultiDict`,
    in :mod:`~boltons.dictutils`
  * Two types of :class:`~boltons.queueutils.PriorityQueue`, in
    :mod:`~boltons.queueutils`
  * :func:`Chunked <boltons.iterutils.chunked>` and
    :func:`windowed <boltons.iterutils.windowed>` iteration, in
    :mod:`~boltons.iterutils`
  * A full-featured :class:`~boltons.tbutils.TracebackInfo` type, for
    representing stack traces, in :mod:`~boltons.tbutils`
  * A lightweight :class:`UTC timezone <boltons.timeutils.UTC>`
    available in :mod:`~boltons.timeutils`.
  * Recursive mapping for nested data transforms, with :func:`remap
    <boltons.iterutils.remap>`

And that's just a small selection. As of |today|, ``boltons`` is
|b_type_count| types and |b_func_count| functions, spread across
|b_mod_count| modules. See what's new by `checking the CHANGELOG`_.

.. counts are appx 50, 75, and 23, respectively, as of initial docs writing
.. in mid 2016, the counts are now 62, 112, and 25, respectively

.. _the standard library: https://docs.python.org/2.7/library/index.html
.. _checking the CHANGELOG: https://github.com/mahmoud/boltons/blob/master/CHANGELOG.md

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 :ref:`Integration
<arch_integration>` section of the architecture document for more
details.

Boltons is tested against Python 2.6, 2.7, 3.4, 3.5, and PyPy.

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, :ref:`consider filing an issue <Gaps>`!

.. _myriad specialized 3rd-party libraries: https://pypi.python.org/pypi

.. _gaps:

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 :doc:`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.

.. _a Pull Request: https://github.com/mahmoud/boltons/pulls
.. _the Issues Page: https://github.com/mahmoud/boltons/issues

Section listing
---------------

.. toctree::
   :maxdepth: 2

   architecture
   cacheutils
   debugutils
   dictutils
   ecoutils
   fileutils
   formatutils
   funcutils
   gcutils
   iterutils
   jsonutils
   listutils
   mathutils
   mboxutils
   namedutils
   queueutils
   setutils
   socketutils
   statsutils
   strutils
   tableutils
   tbutils
   timeutils
   typeutils