# odfpy

> Python API and tools to manipulate OpenDocument files

- **URL**: https://www.freshcrate.ai/projects/odfpy
- **Author**: Soren Roug
- **Category**: Developer Tools
- **Latest version**: `1.4.1` (2026-04-21)
- **License**: Unknown
- **Source**: https://github.com/eea/odfpy
- **Language**: Python
- **GitHub**: 356 stars, 74 forks
- **Registry**: pypi (`odfpy`)
- **Tags**: `pypi`

## Description

Odfpy is a library to read and write OpenDocument v. 1.2 files.
The main focus has been to prevent the programmer from creating invalid
documents. It has checks that raise an exception if the programmer adds
an invalid element, adds an attribute unknown to the grammar, forgets to
add a required attribute or adds text to an element that doesn't allow it.

These checks and the API itself were generated from the RelaxNG
schema, and then hand-edited. Therefore the API is complete and can
handle all ODF constructions.

In addition to the API, there are a few scripts:

- csv2odf - Create OpenDocument spreadsheet from comma separated values
- mailodf - Email ODF file as HTML archive
- odf2xhtml - Convert ODF to (X)HTML
- odf2mht - Convert ODF to HTML archive
- odf2xml - Create OpenDocument XML file from OD? package
- odfimgimport - Import external images
- odflint - Check ODF file for problems
- odfmeta - List or change the metadata of an ODF file
- odfoutline - Show outline of OpenDocument
- odfuserfield - List or change the user-field declarations in an ODF file
- xml2odf - Create OD? package from OpenDocument in XML form

The source code is at https://github.com/eea/odfpy

Visit https://github.com/eea/odfpy/wiki for documentation and examples.

The code at https://joinup.ec.europa.eu/software/odfpy/home is obsolete.

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `1.4.1` | 2026-04-21 | Low | Imported from PyPI (1.4.1) |
| `master@2026-04-07` | 2026-04-07 | Medium | Latest activity on master branch |
| `master@2026-04-07` | 2026-04-07 | Medium | Latest activity on master branch |
| `master@2026-04-07` | 2026-04-07 | Medium | Latest activity on master branch |
| `master@2026-04-07` | 2026-04-07 | Medium | Latest activity on master branch |
| `master@2026-04-07` | 2026-04-07 | Medium | Latest activity on master branch |
| `master@2026-04-07` | 2026-04-07 | Medium | Latest activity on master branch |
| `master@2026-04-07` | 2026-04-07 | Medium | Latest activity on master branch |
| `master@2026-04-07` | 2026-04-07 | Medium | Latest activity on master branch |
| `master@2026-04-07` | 2026-04-07 | Medium | Latest activity on master branch |

## Citation

- HTML: https://www.freshcrate.ai/projects/odfpy
- Markdown: https://www.freshcrate.ai/projects/odfpy.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/odfpy/deps

_Generated by freshcrate.ai. Indexes pypi releases for AI-agent ecosystem packages._
