Install & Compatibility
Where this runs
tested against v4.0.4 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.910 runs
installs and imports cleanly · install 0.0s · import 0.216s · 43.2MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 2.7s · import 0.205s · 44MB
42MB installed
● package 42MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
textile
✓ import textile
The main module and the primary function share the same name.
Initialize the textile parser and convert a sample Textile string to HTML.
import textile
textile_input = """
_This_ is a *test.*\n
* One
* Two
* Three
Link to "Slashdot":http://slashdot.org/
"""
html_output = textile.textile(textile_input)
print(html_output)
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'textile'
The `textile` package has not been installed in the current Python environment or the installation failed.
ERROR: Could not find a version that satisfies the requirement python-textile
The package name used in the `pip install` command is incorrect; the correct package name is `textile`, not `python-textile`.
AttributeError: module 'textile' has no attribute 'convert'
The primary conversion function is directly named `textile` within the `textile` package, not `convert` or a method of an instantiated object.
fixfrom textile import textile
html_output = textile('h1. Hello World!') TypeError: textile() takes 1 positional argument but 0 were given
The `textile` function expects the Textile-formatted string as its first argument and is being called without any arguments.
fixfrom textile import textile
html_output = textile('h1. Hello World!') TypeError: expected string or bytes-like object, got NoneType
The `textile` function was called with `None` as input, but it expects a string or bytes-like object containing the Textile markup.
fixfrom textile import textile
html_output = textile('h1. Hello World!') # Ensure input is a string or bytes Upgrade
Version history
4.0.4latest on PyPI · released May 10, 2026
Audit
Dependencies
nh3requiredHTML sanitization
regexoptionalAdvanced regular expression capabilities; can cause issues with PyPy.
PillowoptionalRequired for image size checking. Installable via 'textile[imagesize]'.