logilab-common / README

Logilab's common library

What's this ?

This package contains some modules used by differents Logilab's

It is released under the GNU Public License.

There is no documentation available yet but the source code should be
clean and well documented.

Designed to ease:

* handling command line options and configuration files
* writing interactive command line tools
* manipulation files and character strings
* interfacing to OmniORB
* generating SQL queries
* running unit tests
* manipulating tree structures
* generating text and HTML reports
* logging
* parsing XML processing instructions
* more...


Extract the tarball, jump into the created directory and run ::

	python install

For installation options, see ::

	python install --help

Provided modules

Here is a brief description of the available modules :

  helper functions for using database advanced. Supported RDBMS
  include PostgreSQL, MySQL and sqlite. See also

* astutils:
  Deprecated module. Use logilab.astng.

* :
  Deprecated module.
  Provides a way to optimize globals in certain functions by binding
  their names to values provided in a dictionary.

* :
  A cache implementation with a least recently used algorithm.

  helper functions for command line programs handling different

* :
  Command line interface helper classes (for interactive programs
  using the command line)

  Transparent compatibility layer between different python version

* :
  Two mix-in classes to handle configuration from both command line
  (using optik/optparse) and configuration file.

  Useful functions for use with the OmniORB CORBA library.

* :
  A daemon mix-in class.

  date manipulation helper functions

* :
  A generic method to get a database connection. See also

  pdb customization

  useful decorators (cached, timed...)

  mark functions / classes as deprecated or moved

* :
  Some file / file path manipulation utilities.

  graph manipulations, dot file generation

* :
  Deprecated module
  Return an html formatted traceback from python exception infos.

  Bases class for interfaces.

* :
  Deprecated module : use logging from stdlib.
  Define a logger interface and two concrete loggers : one which prints
  everything on stdout, the other using syslog.

  extensions to stdlib's logging module

  Deprecated module. Use logging from stdlib.

* :
  Module manipulation utilities.

  Deprecated module

  Deprecated module

* optik_ext :
  Add an abstraction level to transparently import optik classes from
  optparse (python >= 2.3) or the optik package. It also defines two
  new option types (regexp, csv, color, date...)

  extend optparse's OptionParser to support commands

* :
  A Python implementation of PATRICIA trie (Practical Algorithm to
  Retrieve Information Coded in Alphanumeric).

  pdf and fdf file manipulations, with pdftk.

  unittest runner. See testlib

  Some utilities to replace shell scripts with python scripts.

* :
  Helper class to generate SQL strings to use with python's DB-API.

  manage tabular data (supports column and row names, sorting, grouping...

* :
  Generic tests execution methods.

  Some text manipulation utilities (ansi colorization, line wrapping,
  rest support...)

* :
  Base class to represent tree structure, and some others to make it
  works with the visitor implementation (see below).

  unicode email support

* ureports:
  Provides a way to create simple reports using python objects
  without care of the final formatting. Some formatters text and html
  are provided.

* :
  utilities functions to generate file readable with Georg Sander's vcg
  (Visualization of Compiler Graphs).

* :
  A generic visitor pattern implementation.

  This module enables the installation of plugins.tml files using standard
  distutils syntax. Note that you can use this to install files that
  are not twisted plugins in any package directory of your application.

  Auth support for XML RPC

Comments, support, bug reports

Project page

Use the mailing list. Since we do not have
publicly available bug tracker yet, bug reports should be emailed
there too.

You can subscribe to this mailing list at

Archives are available at