Skip to main content

pyodr — Python bindings for OpenDocument.core

Decode office documents (ODF, OOXML, legacy MS binary, PDF, CSV, ...) and render them to HTML from Python.

import pyodr

file = pyodr.open("document.odt")
print(pyodr.file_type_to_string(file.file_type()))

service = pyodr.html.translate(file, "cache-dir", pyodr.HtmlConfig())
html = service.bring_offline("output-dir")
for page in html.pages():
    print(page.name, page.path)

A small CLI is included: pyodr <file> renders a document and opens it in the browser; pyodr <file> --serve hosts it over HTTP (via the core HTTP server, available when built with ODR_WITH_HTTP_SERVER).

Building

The bindings are part of the main CMake build, toggled by ODR_PYTHON:

conan install . -o '&:with_python=True' --build missing
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DODR_PYTHON=ON
cmake --build build --target pyodr_core
PYTHONPATH=build/python python -m pytest python/tests

pip install . from the repository root builds a wheel via scikit-build-core (see the root pyproject.toml); run conan install first and point CMAKE_ARGS at the generated conan_toolchain.cmake so the C++ dependencies resolve:

conan install . -o '&:with_python=True' --build missing
CMAKE_ARGS="-DCMAKE_TOOLCHAIN_FILE=$PWD/conan_toolchain.cmake" pip install .

Runtime data

There is none. The renderer's css and js are part of the library, so rendering works out of the box; odr_core_data_path() and set_odr_core_data_path(...) are deprecated leftovers that still store and return a path nothing reads.

MIME detection needs no runtime data: mimetype runs the open strategy, so it names what is inside a zip or a compound file. libmagic_database_path() and set_libmagic_database_path(...) are deprecated leftovers of the libmagic backend that used to answer this and could only say application/zip for an .odt; they still store and return a path, but nothing reads it.

Metadata

Release files for pyodr 6.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyodr 6.7.0
File Size Uploaded
pyodr-6.7.0.tar.gz 1.4 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyodr 6.7.0
File Interpreter ABI Platform
pyodr-6.7.0-cp314-cp314-manylinux_2_39_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.39+ x86-64 Details
pyodr-6.7.0-cp314-cp314-macosx_26_0_arm64.whl CPython 3.14 CPython 3.14 macOS 26.0+ ARM64 Details

Total release size: 6.9 MB

Release files / pyodr-6.7.0.tar.gz

Download URL pyodr-6.7.0.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
64880b5f0f87cd03900754170eb0413a80cb5a30f6eef17f154771ec77a62217
BLAKE2b-256 checksum
How to use checksums
ab939c3ce52744b454f33b2498ea9ded2f5cb6473b7dfd2e934c3d5e8a76bf5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.

Transparency log

Release files / pyodr-6.7.0-cp314-cp314-manylinux_2_39_x86_64.whl

Download URL pyodr-6.7.0-cp314-cp314-manylinux_2_39_x86_64.whl
Size 3.2 MB
Tags CPython 3.14 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
6b07f299001b64904b634499cb42fe1881a4bcb5c6dcf9e3d92186ef452f1d19
BLAKE2b-256 checksum
How to use checksums
e418ab2be4a6ebab6d81eb35cb7b08f91e49eb3bca2601e0f7ae04942000d6fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.

Transparency log

Release files / pyodr-6.7.0-cp314-cp314-macosx_26_0_arm64.whl

Download URL pyodr-6.7.0-cp314-cp314-macosx_26_0_arm64.whl
Size 2.3 MB
Tags CPython 3.14 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
fd3a9658ac11d3b93d18a3b409a50e7985d371fe55092f37e4f2769c2ab3fe6d
BLAKE2b-256 checksum
How to use checksums
bd3c1e38caa4d5d29d6ea39b7f8740a529d08a46dc16a7eb6eb8718dad75586b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 16, 2026.

Transparency log

Release history Release notifications | RSS feed

7.5.2

3 release files

7.5.1

3 release files

7.5.0

3 release files

7.4.0

3 release files

7.3.2

3 release files

7.3.1

3 release files

7.3.0

3 release files

7.2.2

3 release files

7.2.1

3 release files

7.2.0

3 release files

7.1.0

3 release files

7.0.0

3 release files

6.12.0

3 release files

6.11.0

3 release files

6.10.1

3 release files

6.10.0

3 release files

6.9.0

3 release files

6.8.0

3 release files

6.7.1

3 release files

This release

6.7.0 This release

3 release files

6.6.0

3 release files

6.5.0

3 release files

6.4.0

3 release files

6.3.0

3 release files

6.2.0

3 release files

6.1.0

3 release files

6.0.1

3 release files

6.0.0

3 release files

5.7.1

3 release files

5.7.0

3 release files

0.0.2

26 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page