Free(B)Soft DevelDeveloper Section on Free Accessibility Solutions
Hide panels

User Live section

Are you a user, looking for available products, downloads and information how to use them?

Find our user Live section on

Issue Tracking System

Open and closed bugs, patches, feature requests.

Our motto

For some people, technology makes life convenient, for others, it makes life possible.


Content abstaction framework

Maintainer:Tomáš Cerha <>
On-line documentation:/doc/lcg
Git Repository:
Latest version:0.4.0
User portal:

Testing Status Coverage Status Code Climate


LCG is a Python framework for content abstraction and generic document processing. Documents can be constructed as a structure of Python objects. LCG defines standard content elements (paragraphs, sections, formatted text, etc...) as well as many advanced constructs (multimedia, mathematics, interactive widgets) and supports extensibility through definition of third party content elements. Content can be exported into different output formats, such as HTML, PDF, Braille, IMS, EPUB and others and imported from different source formats (text markup, internal serialization, etc.).

LCG is mostly a tool for software developers who need an abstraction for generating structured documents including either generic content elements or custom content elements defined by the developer. However, LCG can also be directly used by end users as a tool for processing documents defined in simple and well readable source format into various target formats (such as HTML or PDF).

Some key requirements leading to developing LCG were:

  • True separation of content and its presentation.
  • Support for multimedia and interactive content.
  • Accessibility for users of assistive technologies.
  • Extensibility allowing definition of new content elements and customizing the output presentation of pre-defined elements.
  • Respect to standards (namely W3C standards for the relevant output formats).
  • Internationalization (support for several language variants of one document, as well as intermixing more languages in one document).

LCG is a Free Software distributed under the terms of GNU General Public License.

LCG is used as content abstraction layer in Wiking web application development toolkit and was also used for generating on-line e-learning courses for the Eurochance project. Other use cases are generating documentation for applications built on Pytis toolkit and building documentation generally.

Source code

The source code is managed using Git. You can use the Git web interface or clone the repository from:



There is a public mailing-list for this project.

This list is for for LCG developers, as well as for users. If you want to contribute the development, propose a new feature, get help or just be informed about the latest news, don't hesitate to subscribe. The communication on this list is held in English.

See also the listing of other Free(b)soft mailing lists.


Powered byWiking1.3.2 Accessibility Statement