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
|
.. logilab common documentation master file, created by
sphinx-quickstart on Thu May 23 03:36:04 2019.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. include:: ../README.rst
Provided modules
----------------
Here is a brief description of the available modules.
Modules providing high-level features
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* :ref:`cache <cache>`, a cache implementation with a least recently used algorithm.
* :ref:`changelog <changelog>`, a tiny library to manipulate our simplified ChangeLog file format.
* :ref:`clcommands <clcommands>`, high-level classes to define command line programs handling
different subcommands. It is based on `configuration` to get easy command line
/ configuration file handling.
* :ref:`configuration <configuration>`, some classes to handle unified configuration from both
command line (using optparse) and configuration file (using ConfigParser).
* :ref:`proc <proc>`, interface to Linux /proc.
* :ref:`umessage <umessage>`, unicode email support.
* :ref:`ureports <ureports>`, micro-reports, a way to create simple reports using python objects
without care of the final formatting. ReST and html formatters are provided.
Modules providing low-level functions and structures
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* :ref:`compat <compat>`, provides a transparent compatibility layer between different python
versions.
* :ref:`date <date>`, a set of date manipulation functions.
* :ref:`daemon <daemon>`, a daemon function and mix-in class to properly start an Unix daemon
process.
* :ref:`decorators <decorators>`, function decorators such as cached, timed...
* :ref:`deprecation <deprecation>`, decorator, metaclass & all to mark functions / classes as
deprecated or moved
* :ref:`fileutils <fileutils>`, some file / file path manipulation utilities.
* :ref:`graph <graph>`, graph manipulations functions such as cycle detection, bases for dot
file generation.
* :ref:`modutils <modutils>`, python module manipulation functions.
* :ref:`shellutils <shellutils>`, some powerful shell like functions to replace shell scripts with
python scripts.
* :ref:`tasksqueue <tasksqueue>`, a prioritized tasks queue implementation.
* :ref:`textutils <textutils>`, some text manipulation functions (ansi colorization, line wrapping,
rest support...).
* :ref:`tree <tree>`, base class to represent tree structure, and some others to make it
works with the visitor implementation (see below).
* :ref:`visitor <visitor>`, a generic visitor pattern implementation.
Modules extending some standard modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* :ref:`debugger <debugger>`, `pdb` customization.
* :ref:`logging_ext <logging_ext>`, extensions to `logging` module such as a colorized formatter
and an easier initialization function.
* :ref:`optik_ext <optik_ext>`, defines some new option types (regexp, csv, color, date, etc.)
for `optik` / `optparse`
Modules extending some external modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* :ref:`sphinx_ext <sphinx_ext>`, Sphinx_ plugin defining a `autodocstring` directive.
* :ref:`vcgutils <vcgutils>` , utilities functions to generate file readable with Georg Sander's
vcg tool (Visualization of Compiler Graphs).
To be deprecated modules
~~~~~~~~~~~~~~~~~~~~~~~~
Those `logilab.common` modules will much probably be deprecated in future
versions:
* `testlib`: use `unittest2`_ instead
* `interface`: use `zope.interface`_ if you really want this
* `table`, `xmlutils`: is that used?
* `sphinxutils`: we won't go that way imo (i == syt)
.. _Sphinx: http://sphinx.pocoo.org/
.. _`unittest2`: http://pypi.python.org/pypi/unittest2
.. _`discover`: http://pypi.python.org/pypi/discover
.. _`zope.interface`: http://pypi.python.org/pypi/zope.interface
Reference
=========
.. toctree::
:maxdepth: 2
:caption: Contents:
logilab.common
logilab.common.ureports
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
|