Skip to main content

python-doxx

Minimal Python bindings for the doxx Rust library. Exposes just the pieces needed for scripted document inspection:

  • convert(path, export_format="markdown", page=None, images=False) — export .docx files as Markdown, plain text, JSON, CSV, or ANSI strings. Optional page isolates a single page (1-indexed); set images=True to retain image references when available.
  • search(path, query, page=None) — return match locations for quick content checks, mirroring doxx --search.
  • extract_images(path, output_dir) — dump embedded images, similar to --extract-images in the CLI.

Installation

Once the tagged v0.1.0 release has propagated to PyPI:

pip install python-doxx
# or
uv pip install python-doxx

To build from source locally:

maturin develop

Usage

import doxx

# Export to Markdown
markdown = doxx.convert("report.docx", export_format="markdown", images=True)

# Pull a single page as CSV
csv_page = doxx.convert("data.docx", export_format="csv", page=2)

# Locate text snippets
hits = doxx.search("contract.docx", "payment")
for hit in hits:
    print(hit.page, hit.text)

# Extract embedded images
saved = doxx.extract_images("slides.docx", "./images")

Supported export formats: markdown, text, json, csv, and ansi.

Images are optional; enable them when you need real file paths in the exported Markdown or ANSI render. CSV export raises ValueError if the document contains no tables.

Releasing

  1. Make sure CHANGELOG.md (if present) and pyproject.toml share the new version.
  2. Tag the release (git tag v0.1.0), then git push --tags.
  3. The GitHub Actions workflow builds wheels for macOS, Linux, and Windows, uploads them as artifacts, and—when PYPI_API_TOKEN is configured in the repository secrets—publishes to PyPI automatically.

Release files for python-doxx 0.1.0

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

Built distributions (wheels)

Table of built distributions (wheels) for python-doxx 0.1.0
File
python_doxx-0.1.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
python_doxx-0.1.0-cp312-cp312-musllinux_1_1_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.1+ x86-64 Details
python_doxx-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
python_doxx-0.1.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
python_doxx-0.1.0-cp312-cp312-macosx_10_9_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.9+ x86-64 Details

Total release size: 16.2 MB

Release files / python_doxx-0.1.0-cp312-cp312-win_amd64.whl

Download URL python_doxx-0.1.0-cp312-cp312-win_amd64.whl
Size 2.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
4390692effbc0c3a78e6bedbaeac4d09730e712869381e38283609b974f94505
BLAKE2b-256 checksum
How to use checksums
357aa8fdce0ccd7624e22aa61bfaad1301d55ce3e79c47fed04f049788260378
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / python_doxx-0.1.0-cp312-cp312-musllinux_1_1_x86_64.whl

Download URL python_doxx-0.1.0-cp312-cp312-musllinux_1_1_x86_64.whl
Size 3.5 MB
Tags CPython 3.12 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
bce4977aa4f4d31cc0624e593a0c758ca2a7d2905bdbf37df520baa6a63b07f2
BLAKE2b-256 checksum
How to use checksums
f57901e1a77b78a4c3f9711aba05910b84bcbbd54a847e0e63fba91e22d6a11b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / python_doxx-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL python_doxx-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 3.6 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
86688818a112c843b15ab7039bc145f29bdaabf3dfbd954802cd042e33a64094
BLAKE2b-256 checksum
How to use checksums
97b185b941366d0f06023da2146872e2ab0ffbd98a6b11880ab338957cb9c344
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / python_doxx-0.1.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL python_doxx-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Size 3.0 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
66f5246895b85829dcdf306b1bdae1e2c3ef6b5e8d03855f3d071330121f3b98
BLAKE2b-256 checksum
How to use checksums
516a46e8f815021e7c6ab57a6d643259b2a45183f08aa008c621add82ca489ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / python_doxx-0.1.0-cp312-cp312-macosx_10_9_x86_64.whl

Download URL python_doxx-0.1.0-cp312-cp312-macosx_10_9_x86_64.whl
Size 3.2 MB
Tags CPython 3.12 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
c446d33ed64e251f43aebd5b35c5b2e25e5ee9182b98268f4ef46fc002d1ab36
BLAKE2b-256 checksum
How to use checksums
619dcab2141b336e738d1a80b43d24a70af2d009bb72bd08cd6e954be3a1c95e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.1.0 This release

5 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