pyth3
Python text markup and conversion
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Only RTF reading, XHTML writing, and plain text writing are functional on Python 3; other format support is broken or untested.
- 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 · maintenance · safety
permissive license (permissive) — Licensed under MIT (permissive), allowing commercial and private use with minimal restrictions.
last release 2019-02-20 (2732 days) · last repo commit 2023-02-02 · 14 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,600,347 downloads/mo, #2,564 on PyPI
Alternatives
Verify before relying
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)- 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.
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 on it.
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
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.
Only RTF reading, XHTML writing, and plain text writing are functional on Python 3; other format support is broken or untested.
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)
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 | permissive license 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 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 2.7Programming Language :: Python :: 3Topic :: Office/BusinessTopic :: Software Development :: LibrariesTopic :: Text Editors :: Word ProcessorsTopic :: Text ProcessingTopic :: Text Processing :: FiltersTopic :: Text Processing :: Markup |
Evidence: pyth3-0.7-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “text format conversion”
- pyth3Converts marked-up text between formats including plain text, XHTML,…
- antiwordWraps LibreOffice's text conversion to convert documents to plain…
- aeidonaeidon reads, writes, and manipulates text-based subtitle files in…
Give your agent the search over MCP, or paste the wish link into any chat.
More Libraries packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.
Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.
See also striprtf · PyRTF3 · mdit-plain · jira2markdown · html-text · strip-markdown · RTFDE · pylatexenc · latexcodec · rtfparse