Please note that some of the modules have some extra dependencies.
This package contains some modules used by different Logilab projects.
It is released under the GNU Lesser General Public License.
There is no documentation available yet but the source code should be clean and
Designed to ease:
- handling command line options and configuration files
- writing interactive command line tools
- manipulation of files and character strings
- manipulation of common structures such as graph, tree, and pattern such as visitor
- generating text and HTML reports
Extract the tarball, jump into the created directory and run
python setup.py install
For installation options, see
python setup.py install --help
Here is a brief description of the available modules.
- cache, a cache implementation with a least recently used algorithm.
- changelog, a tiny library to manipulate our simplified ChangeLog file format.
- 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.
- configuration, some classes to handle unified configuration from both
command line (using optparse) and configuration file (using ConfigParser).
- proc, interface to Linux /proc.
- umessage, unicode email support.
- ureports, micro-reports, a way to create simple reports using python objects
without care of the final formatting. ReST and html formatters are provided.
- compat, provides a transparent compatibility layer between different python
- date, a set of date manipulation functions.
- daemon, a daemon function and mix-in class to properly start an Unix daemon
- decorators, function decorators such as cached, timed...
- deprecation, decorator, metaclass & all to mark functions / classes as
deprecated or moved
- fileutils, some file / file path manipulation utilities.
- graph, graph manipulations functions such as cycle detection, bases for dot
- modutils, python module manipulation functions.
- shellutils, some powerful shell like functions to replace shell scripts with
- tasksqueue, a prioritized tasks queue implementation.
- textutils, some text manipulation functions (ansi colorization, line wrapping,
- tree, base class to represent tree structure, and some others to make it
works with the visitor implementation (see below).
- visitor, a generic visitor pattern implementation.
- debugger, pdb customization.
- logging_ext, extensions to logging module such as a colorized formatter
and an easier initialization function.
- optik_ext, defines some new option types (regexp, csv, color, date, etc.)
for optik / optparse
- sphinx_ext, Sphinx plugin defining a autodocstring directive.
- vcgutils , utilities functions to generate file readable with Georg Sander's
vcg tool (Visualization of Compiler Graphs).
Those logilab.common modules will much probably be deprecated in future
- 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)