Skip to main content

A Python package to create/manipulate OpenDocumentFormat files.

Project description

.. image::
If you want to support us

.. image::


**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.")

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

for more examples see: /examples folder


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

* nose <> for testing

For CPython 2.6 compatibility:

* weakrefset <> for fixing incompatibility with
weakref module before 2.7

* 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.


with pip::

pip install ezodf

or from source::

python install


send feedback to

ezodf can be found on GitHub at:


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

Project details

Download files

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

Files for ezodf, version 0.3.2
Filename, size File type Python version Upload date Hashes
Filename, size ezodf-0.3.2.tar.gz (125.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page