Logilab's common library ======================== What's this ? ------------- This package contains some modules used by differents Logilab's projects. It is released under the GNU Public License. There is no documentation available yet but the source code should be clean and well documented. Installation ------------ Extract the tarball, jump into the created directory and run :: python setup.py install For installation options, see :: python setup.py install --help Provided modules ---------------- Here is a brief description of the available modules : * adbh.py: helper functions for using database advanced. Supported RDBMS include PostgreSQL, MySQL and sqlite. See also db.py. * astutils: Deprecated module. Use logilab.astng. * bind.py : Deprecated module. Provides a way to optimize globals in certain functions by binding their names to values provided in a dictionnary. * cache.py : A cache implementation with a least recently used algorithm. * clcommands.py: helper functions for command line programs handling different subcommands * cli.py : Command line interface helper classes (for interactive programs using the command line) * compat.py: Transparent compatibility layer between different python version * configuration.py : Two mix-in classes to handle configuration from both command line (using optik/optparse) and configuration file. * corbautils.py: Usefull functions for use with the OmniORB CORBA library. * daemon.py : A daemon mix-in class. * date.py: date manipulation helper functions * db.py : A generic method to get a database connection. See also adbh.py. * debugger.py: pdb customization * decorators.py: useful decorators (cached, timed...) * deprecation.py: mark functions / classes as deprecated or moved * fileutils.py : Some file / file path manipulation utilities. * graph.py: graph manipulations, dot file generation * html.py : Deprecated module Return an html formatted traceback from python exception infos. * interface.py Bases class for interfaces. * logger.py : Deprecated module : use logging from stdlib. Define a logger interface and two concrete loggers : one which prints everything on stdout, the other using syslog. * logging_ext.py: extensions to stdlib's logging module * logservice.py: Deprecated module. Use logging from stdlib. * modutils.py : Module manipulation utilities. * monclient.py: Deprecated module * monserver.py: 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...) * optparser.py: extend optparse's OptionParser to support commands * patricia.py : A Python implementation of PATRICIA trie (Practical Algorithm to Retrieve Information Coded in Alphanumeric). * pdf_ext.py: pdf and fdf file manipulations, with pdftk. * pytest.py: unittest runner. See testlib * shellutils.py: Some utilities to replace shell scripts with python scripts. * sqlgen.py : Helper class to generate SQL strings to use with python's DB-API. * table.py: manage tabular data (supports column and row names, sorting, grouping... * testlib.py : Generic tests execution methods. * textutils.py: Some text manipulation utilities (ansi colorization, line wrapping, rest support...) * tree.py : Base class to represent tree structure, and some others to make it works with the visitor implementation (see below). * umessage.py: 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. * vcgutils.py : utilities functions to generate file readable with Georg Sander's vcg (Visualization of Compiler Graphs). * visitor.py : A generic visitor pattern implementation. * twisted_distutils.py 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. * xmlrpcutils.py: Auth support for XML RPC Comments, support, bug reports ------------------------------ Use the python-projects@logilab.org 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 http://www.logilab.org/mailinglists/python_projects/mailinglist_register_form Archives are available at http://lists.logilab.org/pipermail/python-projects/