File: index.rst

package info (click to toggle)
python-boltons 25.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,236 kB
  • sloc: python: 12,133; makefile: 159; sh: 7
file content (138 lines) | stat: -rw-r--r-- 4,328 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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
.. boltons documentation master file, created on Sat Mar 21 00:34:18 2015.
boltons
=======

*boltons should be builtins.*

|release| |calver| |changelog|

**Boltons** is a set of pure-Python utilities in the same spirit as —
and yet conspicuously missing from — `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 them all in the :ref:`genindex`, and 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/3/library/index.html
.. _checking the CHANGELOG: https://github.com/mahmoud/boltons/blob/master/CHANGELOG.md

.. |release| image:: https://img.shields.io/pypi/v/boltons.svg
             :target: https://pypi.python.org/pypi/boltons

.. |calver| image:: https://img.shields.io/badge/calver-YY.MINOR.MICRO-22bfda.svg
            :target: http://calver.org

.. |changelog| image:: https://img.shields.io/badge/CHANGELOG-UPDATED-b84ad6.svg
               :target: 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

On macOS, it can also be installed via `MacPorts`_::

  sudo port install py-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 3.7-3.13, as well as PyPy3.

.. _MacPorts: https://ports.macports.org/port/py-boltons/summary

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
   ioutils
   iterutils
   jsonutils
   listutils
   mathutils
   mboxutils
   namedutils
   pathutils
   queueutils
   setutils
   socketutils
   statsutils
   strutils
   tableutils
   tbutils
   timeutils
   typeutils
   urlutils

(For a quick reference you can ctrl-F, see the :ref:`genindex`.)