OpenOffice is a free, open source office suite with an API that allows developers to work with it in a number of languages. Python-UNO lets you work with the API in Python. This article gives you a taste of what you can do with it.
OpenOffice.org has established quite a reputation, existing as an office suite that's free and open-source, yet competitive and compatible with similar solutions. It runs on many platforms, and it boasts over fifty million downloads. Developers can hardly ignore such a project, which is why OpenOffice.org features an API that allows developers to work with OpenOffice.org in numerous languages.
Of course, one might find it hard to imagine Python being included in that list of languages, since it would make things perhaps too easy. However, a project by the name of Python-UNO makes it all possible. OpenOffice.org utilizes Universal Network Objects, or UNO. The technology allows components to be created in a variety of languages which can interact with OpenOffice.org. Python-UNO provides a Python interface to it all.
Python-UNO is included with OpenOffice.org, so there's no need to install anything in order to make use of it. Unfortunately, however, there is a downside to things. Don't expect to make use of recent additions to Python because the version included with OpenOffice.org 2.0 is Python 2.3.5. There is an effort to fix this problem and equip OpenOffice.org with a newer version of Python, though.
There are also ways around this, and, indeed, some Linux distributions make Python-UNO available in their default Python installations. Ubuntu does this, for example. You can check for this by opening up Python and attempting to import the module uno. With that said, let's get started with Python-UNO.