pyth3
Python text markup and conversion
What it is and what it does
Pyth3 is a Python 3 port of an older text conversion library designed to move marked-up documents between common formats. It handles basic document structures—paragraphs, headings, bold/italic/underline, links, bullet lists, and simple tables—while intentionally ignoring layout details, fonts, and specific text sizes. The library uses a plugin architecture to support different input and output formats.
The port is incomplete and partially broken. Only three components are confirmed working on Python 3: reading RTF files, writing XHTML, and writing plain text. The package has been abandoned since its single release in February 2019, with no maintenance or updates since. If you need RTF-to-HTML or RTF-to-plain-text conversion and can tolerate a dormant codebase, it may work; for other format combinations or Python 3 features beyond basic text handling, expect to debug or fork the code yourself.
Use it for:
- Convert RTF documents from Microsoft Word or Wordpad to HTML for web publishing.
- Extract plain text from RTF files while preserving basic formatting like bold and italic.
- Build a document pipeline that reads RTF and outputs XHTML for further processing.
- Migrate legacy Python 2 text-processing code that relied on the original library.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts marked-up text between formats including plain text, XHTML, RTF, and PDF, preserving basic structure like paragraphs, headings, lists, and simple tables.
No, unless you have a very specific need for RTF-to-XHTML or RTF-to-plain-text conversion and cannot use maintained alternatives. The package is abandoned, incomplete on Python 3, and most functionality is broken or untested. The maintainers explicitly warn that many tests fail and most components will not work without significant porting effort.
Install
pyth3 on PyPI
pip
pip install pyth3uv
uv add pyth3poetry
poetry add pyth3Installing pyth3
Before you install
Package is abandoned as of 2019 with no updates since release. Python 3 migration is incomplete—only RTF reading, XHTML writing, and plain text writing are debugged; other components remain broken or untested on Python 3.
License in practice
Licensed under MIT (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
pip install pyth3
from pyth3 import read_rtf, write_xhtml
with open('document.rtf', 'rb') as f:
doc = read_rtf(f)
html = write_xhtml(doc)
Only RTF reading, XHTML writing, and plain text writing are functional on Python 3; other format support is broken or untested.
Verify before relying
- Whether PDF output actually works on Python 3 (reportlab dependency declared but functionality status unclear).
- Current state of LatexWriter and other undocumented plugins on Python 3.
- Whether the package will receive any maintenance or security updates in the future.
- Exact API signatures and import paths for all working format readers and writers.
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,732 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,600,347/month — #2,564 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyth3-0.7-py3-none-any.whl
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
striprtfConverts Rich Text Format (RTF) files to plain…
permissive · top 5,000 on PyPI
PyRTF3PyRTF3 generates Rich Text Format (RTF)…
copyleft · top 15,000 on PyPI
mdit-plainConverts markdown documents to plain text by…
permissive · top 15,000 on PyPI
jira2markdownConverts JIRA markup text to Markdown…
permissive · top 15,000 on PyPI
html-textExtracts plain text from HTML while filtering…
permissive · top 5,000 on PyPI
strip-markdownConverts markdown text to plain text, removing…
permissive · top 15,000 on PyPI
RTFDEExtracts encapsulated HTML and plain text…
copyleft · top 5,000 on PyPI
pylatexencConverts between LaTeX code and Unicode text in…
permissive · top 5,000 on PyPI
latexcodecProvides a Python codec to convert between…
permissive · top 5,000 on PyPI
rtfparseParses Microsoft Rich Text Format (RTF)…
permissive · top 15,000 on PyPI