Skip to main content

A Python package to create/manipulate OpenDocumentFormat files.

Project description

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

Project details


Supported by

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