1.. logilab common documentation master file, created by
2   sphinx-quickstart on Thu May 23 03:36:04 2019.
3   You can adapt this file completely to your liking, but it should at least
4   contain the root `toctree` directive.
5
6.. include:: ../README.rst
7
8Changelog
9---------
10
11:ref:`changelog_doc`
12
13Provided modules
14----------------
15
16Here is a brief description of the available modules.
17
18Modules providing high-level features
19~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20
21* :ref:`cache <cache>`, a cache implementation with a least recently used algorithm.
22
23* :ref:`changelog <changelog>`, a tiny library to manipulate our simplified ChangeLog file format.
24
25* :ref:`clcommands <clcommands>`, high-level classes to define command line programs handling
26  different subcommands. It is based on `configuration` to get easy command line
27  / configuration file handling.
28
29* :ref:`configuration <configuration>`, some classes to handle unified configuration from both
30  command line (using optparse) and configuration file (using ConfigParser).
31
32* :ref:`proc <proc>`, interface to Linux /proc.
33
34* :ref:`umessage <umessage>`, unicode email support.
35
36* :ref:`ureports <ureports>`, micro-reports, a way to create simple reports using python objects
37  without care of the final formatting. ReST and html formatters are provided.
38
39
40Modules providing low-level functions and structures
41~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42
43* :ref:`compat <compat>`, provides a transparent compatibility layer between different python
44  versions.
45
46* :ref:`date <date>`, a set of date manipulation functions.
47
48* :ref:`daemon <daemon>`, a daemon function and mix-in class to properly start an Unix daemon
49  process.
50
51* :ref:`decorators <decorators>`, function decorators such as cached, timed...
52
53* :ref:`deprecation <deprecation>`, decorator, metaclass & all to mark functions / classes as
54  deprecated or moved
55
56* :ref:`fileutils <fileutils>`, some file / file path manipulation utilities.
57
58* :ref:`graph <graph>`, graph manipulations functions such as cycle detection, bases for dot
59  file generation.
60
61* :ref:`modutils <modutils>`, python module manipulation functions.
62
63* :ref:`shellutils <shellutils>`, some powerful shell like functions to replace shell scripts with
64  python scripts.
65
66* :ref:`tasksqueue <tasksqueue>`, a prioritized tasks queue implementation.
67
68* :ref:`textutils <textutils>`, some text manipulation functions (ansi colorization, line wrapping,
69  rest support...).
70
71* :ref:`tree <tree>`, base class to represent tree structure, and some others to make it
72  works with the visitor implementation (see below).
73
74* :ref:`visitor <visitor>`, a generic visitor pattern implementation.
75
76
77Modules extending some standard modules
78~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
79
80* :ref:`debugger <debugger>`,  `pdb` customization.
81
82* :ref:`logging_ext <logging_ext>`, extensions to `logging` module such as a colorized formatter
83  and an easier initialization function.
84
85* :ref:`optik_ext <optik_ext>`, defines some new option types (regexp, csv, color, date, etc.)
86  for `optik` / `optparse`
87
88
89Modules extending some external modules
90~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
91
92* :ref:`sphinx_ext <sphinx_ext>`, Sphinx_ plugin defining a `autodocstring` directive.
93
94* :ref:`vcgutils <vcgutils>` , utilities functions to generate file readable with Georg Sander's
95  vcg tool (Visualization of Compiler Graphs).
96
97
98To be deprecated modules
99~~~~~~~~~~~~~~~~~~~~~~~~
100
101Those `logilab.common` modules will much probably be deprecated in future
102versions:
103
104* `testlib`: use `unittest2`_ instead
105* `interface`: use `zope.interface`_ if you really want this
106* `table`, `xmlutils`: is that used?
107* `sphinxutils`: we won't go that way imo (i == syt)
108
109
110.. _Sphinx: http://sphinx.pocoo.org/
111.. _`unittest2`: http://pypi.python.org/pypi/unittest2
112.. _`discover`: http://pypi.python.org/pypi/discover
113.. _`zope.interface`: http://pypi.python.org/pypi/zope.interface
114
115Reference
116=========
117
118.. toctree::
119   :maxdepth: 2
120   :caption: Contents:
121
122   logilab.common
123   logilab.common.ureports
124
125
126Indices and tables
127==================
128
129* :ref:`genindex`
130* :ref:`modindex`
131* :ref:`search`
132