itools: Python library

itools is a Python library which provides a wide range of capabilities:

  • itools.abnf
  • itools.csv
  • itools.datatypes
  • itools.gettext
  • itools.git
  • itools.handlers
  • itools.html
  • itools.http
  • itools.i18n
  • itools.ical
  • itools.isetup
  • itools.odf
  • itools.pdf


The simple workflow engine (itools.workflow) that uses automatons to represent a workflow system, is the oldest and probably the most widely used itools module. Check it if you want something simple to solve your workflow needs.

OpenDocument Format

As a part of our commitment in standard file formats and internationalisation, we have developped the translation infrastructure and tools to translate an maintain office documents in several languages. More about itools.odf


Load CSV file and use them as a persistant layer with a rich API, automatic indexing, stored procedures and powerful search features (itools.csv).
-> EuroPython 2006 itools.csv slides


Language negotiation, text segmentation, fuzzy matching, language guessing, support for the GNU gettext tools, automatic extraction of translatable messages from (X)HTML documents. These and other features make of itools a must-have in the toolbox of the international Python developer.
-> EuroPython 2006 itools.i18n slides

itools XML infrastructure

A XML compact and confortable parsing API, and a XML namespaces to define schemas. It is used to deserialize values and build high-level data structures.
-> EuroPython 2005 itools.xml slides

Virtual File System

The combination of itools.uri with itools.vfs provides a Virtual File System, an abstraction layer over file resources, may they be stored in the local file system, in a remote web server, or anywhere else.

Standard file formats

XML, (X)HTML, CSV, PO/MO (from GNU Gettext), iCalendar (RFC2445), RSS 2.0, TMX, XLIFF. Enjoy the ever-growing support for standard file formats provided by itools.

The Simple Template Language

You think all template languages are the same? We get back the meaning of the word simple, without lossing any power: STL is a declarative template language for XML files (the logic belongs to Python). Quick to learn, high-productivity in demanding environments, and fast.