Skip to main content

LCG — Python library for content abstraction and multi-format document processing

Project description

LCG Framework

Tests

LCG is a Python framework for content abstraction and generic document processing. Documents are constructed as a hierarchy of Python objects. LCG defines standard content elements (paragraphs, sections, lists, formatted text, etc.) and advanced constructs (multimedia, mathematics, interactive widgets), and supports extensibility through third-party content elements. Content can be exported to multiple formats (HTML, PDF, Braille, IMS, EPUB, etc.) and imported from various source formats (text markup, internal serialization, etc.).

LCG is primarily intended for software developers who need to programmatically build structured documents or import them from different sources and export them to multiple formats. Documents can contain generic content elements (defined by LCG) or custom elements (defined by the developer). LCG can also be used directly by end-users to process documents written in a simple, human-readable source format into various target formats (such as HTML or PDF).

Key Features

  • Separation of content and presentation: Keeps structure and formatting independent.
  • Multimedia and interactive content: Supports rich, dynamic elements.
  • Accessibility: Designed for users of assistive technologies.
  • Extensibility: Easily define new content elements or customize output for existing elements.
  • Standards compliance: Adheres to relevant standards, notably W3C specs.
  • Internationalization: Supports multiple language variants in one document and mixed-language content.

License

LCG is Free Software, distributed under the terms of the GNU General Public License v2 (GPLv2). See the COPYING file for details.

History

LCG stands for Learning Content Generator. It was initially developed to generate online e-learning material for the Eurochance project.

Changelog

For a history of changes in each version, see the changelog.

Installation

LCG is a pure Python library running on Python 2.7 or Python 3.5 or later and may be installed by pip install lcg-framework[all].

When using PDF output, you additionally need the following system packages:

  • Fontconfig (Debian/Ubuntu package fontconfig)
  • Freefont (Debian/Ubuntu package fonts-freefont-ttf or ttf-freefont)

Usage

LCG comes with a command line tool which can be run directly using python -m lcg.make to build and export documents into different output formats. Run with --help to find out how to use it.

LCG is also used as a content abstraction layer in the Wiking web application development framework and for document construction and as a print backend in Pytis information systems development framework.

Documentation is included in the package. To generate the HTML version, run make doc from the package root directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lcg_framework-0.7.0.tar.gz (21.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lcg_framework-0.7.0-py2.py3-none-any.whl (10.9 MB view details)

Uploaded Python 2Python 3

File details

Details for the file lcg_framework-0.7.0.tar.gz.

File metadata

  • Download URL: lcg_framework-0.7.0.tar.gz
  • Upload date:
  • Size: 21.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for lcg_framework-0.7.0.tar.gz
Algorithm Hash digest
SHA256 404cabb1fb56aec9b5ce6977a53eab578f1dda6a014f079c5e162fc36d3effb3
MD5 6390916d7c57d4c85d5683235d8d2f4a
BLAKE2b-256 7fb23101feecde9d7c52fa8befe644b0b225d5ba4702d154dfee9763b35eba48

See more details on using hashes here.

File details

Details for the file lcg_framework-0.7.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for lcg_framework-0.7.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 87829838315920213e1454ebb5c6e48c1d2c130cee0506c42bf3c6cd13c59b80
MD5 4e35cce5a8a97fde11c78938fbd78428
BLAKE2b-256 1bcf2e1754dc535dc03d85f58b8b0ef9e332f717b4bbfb5fcd816fa538e407d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page