ezodf 0.3.2
A Python package to create/manipulate OpenDocumentFormat files.
License: MIT License
Keywords: ODF,OpenDocumentFormat,OpenOffice,LibreOffice

EzODF.py
--------

.. image:: https://travis-ci.org/T0ha/ezodf.svg?branch=master
    :target: https://travis-ci.org/T0ha/ezodf
If you want to support us

.. image:: https://api.flattr.com/button/flattr-badge-large.png
    :target: https://flattr.com/submit/auto?user_id=t0ha&url=https://github.com/T0ha/ezodf&title=ezodf&language=python&tags=github&category=software

Abstract
========

**ezodf** is a Python package to create new or open existing OpenDocument
(ODF) files to extract, add, modify or delete document data.

a simple example::

    from ezodf import newdoc, Paragraph, Heading, Sheet

    odt = newdoc(doctype='odt', filename='text.odt')
    odt.body += Heading("Chapter 1")
    odt.body += Paragraph("This is a paragraph.")
    odt.save()

    ods = newdoc(doctype='ods', filename='spreadsheet.ods')
    sheet = Sheet('SHEET', size=(10, 10))
    ods.sheets += sheet
    sheet['A1'].set_value("cell with text")
    sheet['B2'].set_value(3.141592)
    sheet['C3'].set_value(100, currency='USD')
    sheet['D4'].formula = "of:=SUM([.B2];[.C3])"
    pi = sheet[1, 1].value
    ods.save()

for more examples see: /examples folder

Dependencies
============

* lxml <http://codespeak.net/lxml/> for painless serialisation with prefix
  declaration (xlmns:prefix="global:namespace:specifier") in the root element.
  Declarations for unused prefixes are also possible.

* nose <https://nose.readthedocs.org> for testing

For CPython 2.6 compatibility:

* weakrefset <https://pypi.python.org/pypi/weakrefset> for fixing incompatibility with
  weakref module before 2.7

* unittest2 <https://pypi.python.org/pypi/unittest2> for asserts like in python 2.7+

The target platform is CPython 2.7 and CPython 3.2+, work on compability with 
CPython 2.6 is in progress.

Installation
============

with pip::

    pip install ezodf

or from source::

    python setup.py install

Documentation
=============

http://packages.python.org/ezodf

send feedback to t0hashvein@gmail..com

ezodf can be found on GitHub at:

https://github.com/T0ha/ezodf

NEWS
====

Version 0.3.1 - December 2015

  * File-like objects utilisation improved

Version 0.3.0 - November 2014

  * Maitainer changed
  * Simple variables and user fields support added
  * Tests system changed to nose
  * Travis CI support added
  * Python 2.6 - 3.4 support added

Version 0.2.5 - Juli 2012

  * Alpha version
  * license changed to MIT license
  * development stopped - for now

Version 0.2.4 - June 2012

  * Alpha version
  * can open tables with many repeated rows/cols, 3 opening strategies are supported
  * tested: on Win7/Ubuntu 32-Bit with CPython 2.7 and CPython 3.2

Version 0.2.3 - January 2012

  * Alpha version
  * tested: on Windows7 32 Bit with CPython 2.7 and CPython 3.2

Version 0.2.2 - March 2011

  * Alpha version
  * Spreadsheet: added cell-span management
  * tested with Python 3.2 - OK
  * added tobytes() method to all document classes
  * opendoc() accept the zip-file content as 'bytes' instead of the filename
    as parameter 'filename'
  * newdoc() accept the zip-file content as 'bytes' instead of the filename
    as parameter 'template'

Version 0.2.1 - 06 February 2011

  * Alpha version
  * added basic spreadsheet support
  * Spreadsheet: added sheet, row, column and cell management

Version 0.2.0 - 18 January 2011

  * Alpha version
  * create new empty odt, ods, odp, odg file
  * added template support - can create ott, ots, otp, otg files
  * open documents - ezodf.opendoc(filename)
  * create new documents - ezdof.newdoc(doctype, filename, template)
  * Text: added Paragraph, Heading, Span, Hyperlink, List, Section objects

Version 0.1.0 - 02 January 2011

  * Pre-Alpha version
  * open/saveas ODF documents
  * modify meta data