python

2010-04-16

Sortie de lpOD 0.9.1 ainsi que  sa documentation. Vous pouvez télécharger lpOD 0.9.1 ici.

LpOD 0.9.1 codename "Granada"

lpod python  library V0.91 released

lpOD -- languages & platforms OpenDocument. Definition of a Free Software API implementing the ISO/IEC 26300 standard. Development, for higher level use cases, in Python, Perl and Ruby languages. of a top-down oriented API.

This release has seen Restructured Text support much improved, and a Gentoo ebuild was contributed. Packaging of lpOD was a bit improved too and now it's publised on Pypi.

Low-level API

  • "get_style" and "get_style_list" callable from any element.
  • "odf_container.get_contents" renamed to "get_parts"
  • "odf_document.get_files" renamed to "get_parts"
  • "odf_document.get_file_data" renamed to "get_part"

High-level API

  • To get a style by its display name, call::
        context.get_style(family, display_name=u"My Style")
    It was previously a boolean flag.
  • In meta part, "(g|s)et_keyword" were renamed to "(g|s)et_keywords" to illustrate the possibility of assigning several keywords. ;-) But it still takes a single unicode string.
  • In meta part, added "(g|s)et_comments" as an alias to "(g|s)et_description" because some desktop applications call them like this.
  • Table cells gained a "(g|s)et_cell_formula" method. Yes, formulas begin to be taken into consideration!
2010-04-15

LpOD is available on PyPi.

lpod python in pypi


The LpOD Project is now available on the PyPI repository: http://pypi.python.org/pypi/lpod-python/

Thanks to  PIP (the script to install python packages), you can install LpOD easily:

$ pip install lpod-python

2010-02-17

lpOD 0.9.0 has just been released, together with its documentation. You can download lpOD 0.9 here.

LpOD 0.9.0

lpOD -- languages & platforms OpenDocument. Definition of a Free Software API implementing the ISO/IEC 26300 standard. Development, for higher level use cases, in Python, Perl and Ruby languages. of a top-down oriented API.

This release focuses on style and table support, and polishing the existing API. Command-line tools were greatly improved and enriched.

Low-level API

  • Default numeric types were added, targeting the French locale for now.
  • The text API is now richer.

High-level API

  • Started to implement a templating language in the content of ODF documents. Only setting values and "if" are implemented for now, and only on text.

    You can see an example template in "python/templates/test_template.ott" and an example script in "python/templates/test_template.py".

    Templating the metadata is left as an exercise to the interested reader.

  • Tables of content can now be filled with the titles found in the document.

  • Draw page can use transitions (fade by default).

  • Tables are quite faster and easier to use since you can access any row/column/cell without having to expand the table first.

  • Most high-level elements support outputting reStructuredText representation.

  • Medium-complexity reStructuredText documents can be converted to ODT, from scratch or appended to an existing document (docutils required).

Command-line Utilities

  • The lpod-show.py tool dumps a textual representation of the content (informal or reStructuredText). It can also dump the latter, images, style information and metadata list in a directory.
  • The lpod-style.py introspection tool shows the list of styles of the document, whether it is used, and is able to remove them all. It can also merge styles from one document to another.
  • The lpod-meta.py introspection tool can list and edit metadata of the document.
  • The lpod-merge.py tool can merge documents of the same type. ODT, ODS and CSV and supported for now. ODP to come.
  • The lpod-highlight.py tool can apply a style on a text pattern. The default style is overlining as if you were using a yellow highlighter pen.
  • The lpod-mm2odt.py tool converts XML mind-map files to ODT.
  • The lpod-rst2odt.py tool converts reStructuredText document to ODT.

Documentation

  • 80 % of the documentation is implemented. There is still much work on the styles part.

Packaging

  • PKGBUILD and ebuild packages contributed. Deb and RPM to come.

Statistics: from v0.8 to v0.9

2009-12-04

lpOD 0.8 has just been released, together with its documentation. You can download lpOD 0.8 here.

lpOD -- languages & platforms OpenDocument.
Definition of a Free Software API implementing the ISO/IEC 26300 standard.
Development, for higher level use cases, in Python, Perl and Ruby languages.
of a top-down oriented API.

  • The architecture design is complete.
  • The functional lpOD coverage is 90% complete.
  • Only Python implementation is available (80% complete), and serves as the  reference implementation
  • This release starts providing command-line tools for introspection and manipulation.
  • The documentation is now online http://docs.lpod-project.org
  • Cookbooks provide ready-to-use examples of the API for ODT, ODS and ODP (tables, tocs, notes, images frames, slides transitions, shapes, ... )


Web : http://lpod-project.org
Documentation : http://docs.lpod-project.org
IRC : irc://irc.freenode.org/lpod

Python Implementation

Low-level API

  • All types of styles are supported in the low-level API.
  • Text search and replace API is added
  • Basic shapes can be created: ellipse and circle, rectangle and square, and line.
  • Adding non ODF resources (e.g. images, pdf, ...) in documents
  • A Virtual File System (VFS) layer handles grabbing document from HTTP and FTP.
  • After starting with the libxml2 Python wrapper, switched to lxml for both speed and ease of use.

High-level API

  • Template are provided, with empty body, i.e. the ODT template has no paragraph, the ODS template has no table and the ODP template has no draw page.
  • A document can grab styles from another document to merge them with its own ones.
  • A specific API is available on paragraphs to insert notes and annotation.
  • A specific API is available for tables to abstract the XML model, e.g. you can access cell "C3" without knowning the storage.
  • Tables can be created from and exported to CSV.
  • The full API to metadata is available. Only RDF would be missing.
  • The navigation API no longer use a context element. The element itself is the navigation API.

Command-line Utilities

  • The lpod-show.py tool dumps a textual representation of the content. It can also dump the latter, style information and metadata list in a directory.
  • The lpod-meta.py introspection tool can list and edit metadata of the document.
  • The lpod-merge.py tool can merge documents of the same type. ODT, ODP, ODS and CSV and supported for now.
  • The lpod-highlight.py tool can apply a style on a text pattern. The default style is overlining as if you were using a yellow highlighter pen.

Statistics: from v0.7 to v0.8

2009-12-03

La nouvelle documentation est disponible pour tous et en ligne. Elle s'applique à la version 0.8 et permet un tour d'horizon complet de l'implémentation Python de lpOD ainsi qu'un cookbook complet.

La documentation est accessible ici.

lpod documentation python ODF API

2009-10-30

La version 0.7 de lpOD vient d'être publiée. C'est la première version publique de lpOD. D'autres seront publiées dans un futur proche.

Nous n'acceptons pour le moment pas de contributions extérieures mais cela devrait changer dans le futur. Nous sommes évidemment intéressés par toutes les bonnes idées! Le téléchargement du code et disponible ici.

2009-10-20

Le projet Lpod présenté lors des Rencontres COLLIBRI

Le projet Lpod présenté lors des Rencontres COLLIBRI / Cap Digital / Silicon Sentier du 20 octobre 2009 à La Cantine

logo collibri

2009-10-15

Le projet lpOD a récemment rendu visite pour une journée aux équipes de développement de Sun contribuant au projet OpenOffice.org . Ces mêmes équipes sont aussi à l'origine du développement du format ODF. Ce fut une journée riche en partage d'idées et qui a permis de mettre en place des pistes de collaboration intéressantes.

get-the-lpod-source

Téléchargement

Téléchargez lpOD version 0.9.2

Documentation (PDF)

 

Documentation

Documentation en ligne
 

IRC

irc://irc.freenode.net/lpod

  Le dépôt Git est en ligne 

$ git clone git://code.lpod-project.org/lpod-python.git
$ git clone git://code.lpod-project.org/lpod-docs.git

archlinux lpOD package

 Installer lpOD sur Archlinux:

$ yaourt -S python-lpod lpod-docs-html lpod-docs-pdf

Gentoo logo

 Installer lpOD sur Gentoo

Install Hforge's Overlay (see: http://www.hforge.org/overlay )
# emerge -av lpod-python lpod-docs
lpOD debian (.deb) package
Installer lpOD sur Debian

Ajoutez la ligne suivante à « /etc/apt/sources.list » :

deb http://download.lpod-project.org/contrib/deb/ ./

$ apt-get install python-lpod lpod-docs-html lpod-docs-pdf

Solution

Le projet "langages & plateformes Open Document" (lpOD) au travers de l'implémentation de la norme ISO/IEC 26300 (OpenDocument) va contribuer à l'extension de l'écosystème OpenDocument format.

  • La définition d'une API libre mettant en oeuvre la norme ISO/IEC 26300 (OpenDocument)
  • La réalisation et la validation d'une implémentation pour des usages de plus haut niveau.

Les principales caractéristiques du project lpOD

  • Coopération avec les comités techniques ODF au consortium OASIS et avec l'ODF Toolkit Union
  • Approche multi-langage (Python, Perl, Ruby) avec:
    • définition en amont du socle commun
    • réalisation Logiciel Libre: GPL v3, Apache V2.0
  • Validation des besoins avancés par des laboratoires et des acteurs industriels
  • Méthode de conduite de projet par itérations courtes, Xtreme Programming et Logiciel Libre

L'approche générale du projet repose sur quatre principes structurants

  • Implémentation stricte de la norme ISO/IEC 26300
  • Validation des besoins avancés pour les usages de haut niveau
  • Développement de librairies en Logiciel Libre
  • Cible orientée services REST

 

lpOD 0.9.0 est disponible

Changelog

Low-level API

- Default numeric types were added, targeting the French locale for now.

- The text API is now richer.

High-level API

- Started to implement a templating language in the content of ODF documents.
  Only setting values and "if" are implemented for now, and only on text.

  You can see an example template in "python/templates/test_template.ott" and an
  example script in "python/templates/test_template.py".

  Templating the metadata is left as an exercise to the interested reader.

- Tables of content can now be filled with the titles found in the document.

- Draw page can use transitions (fade by default).

- Tables are quite faster and easier to use since you can access any
  row/column/cell without having to expand the table first.

- Most high-level elements support outputting reStructuredText representation.

- Medium-complexity reStructuredText documents can be converted to ODT, from
  scratch or appended to an existing document (docutils required).

Command-line Utilities

- The lpod-show.py tool dumps a textual representation of the content (informal
  or reStructuredText). It can also dump the latter, images, style information
  and metadata list in a directory.

- The lpod-style.py introspection tool shows the list of styles of the
  document, whether it is used, and is able to remove them all. It can also
  merge styles from one document to another.

- The lpod-meta.py introspection tool can list and edit metadata of the
  document.

- The lpod-merge.py tool can merge documents of the same type. ODT, ODS and
  CSV and supported for now. ODP to come.

- The lpod-highlight.py tool can apply a style on a text pattern. The default
  style is overlining as if you were using a yellow highlighter pen.

- The lpod-mm2odt.py tool converts XML mind-map files to ODT.

- The lpod-rst2odt.py tool converts reStructuredText document to ODT.

Documentation

- 80 % of the documentation is implemented. There is still much work on the
  styles part.

Packaging

- PKGBUILD and ebuild packages contributed. Deb and RPM to come.