fold-to-ascii
A Python port of the Apache Lucene ASCII Folding Filter that converts alphabetic, numeric, and symbolic Unicode characters which are not in the first 127 ASCII characters (the ‘Basic Latin’ Unicode block) into ASCII equivalents, if they exist.
Decision gist · record as of 2026-08-14
Yes, if you need straightforward Unicode-to-ASCII folding with no dependencies and can tolerate an unmaintained package. The library is simple, has no vulnerabilities on record, and works for its narrow purpose. Install it only if you're comfortable with a codebase last updated in 2020-05-03 and have no expectation of future updates or support.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Installation is straightforward with no runtime dependencies.
- However, the package has been abandoned since its last release on 2020-05-03, so maintenance and security fixes are not expected.
License · maintenance · safety
MIT License (permissive) — Licensed under MIT License (permissive), allowing free use, modification, and distribution with minimal restrictions.
last release 2020-05-03 (2294 days) · last repo commit 2020-05-03 · 17 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 151,845 downloads/mo, #10,919 on PyPI
Alternatives
Verify before relying
from fold_to_ascii import fold
s = u'Astroturf® paté'
result = fold(s)
# result: u'Astroturf pate'
# With custom replacement character:
result = fold(s, u'?')
# result: u'Astroturf? pate'- Whether astral character removal behavior (always removed even with replacement specified) is acceptable for your use case
- Current compatibility with modern Python versions beyond what the fact sheet specifies
What it is and what it does
fold_to_ascii is a lightweight Python library that strips Unicode characters down to their ASCII equivalents. It converts accented letters, symbols, and other non-ASCII Unicode characters into plain ASCII representations—for example, turning 'paté' into 'pate' and '®' into nothing (or a custom replacement character you specify). It's based on Apache Lucene's ASCII Folding Filter, making it predictable for text processing workflows that need ASCII-safe output.
The package has no runtime dependencies and installs as a simple pure-Python wheel. It differs from other Unicode-to-ASCII libraries by allowing you to specify a custom replacement character for unmapped symbols, rather than forcing the empty string. However, it has been unmaintained since 2020-05-03, so it receives no updates or security reviews.
Use it for
- Normalize user-generated text for search indexing or database storage where ASCII-only fields are required
- Clean up product names or URLs containing accented characters for compatibility with legacy systems
- Prepare multilingual text for ASCII-based APIs or services that don't handle Unicode
- Sanitize input text for filename generation or slug creation in web applications
- Deduplicate search queries by folding accented variants to a common ASCII form
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need straightforward Unicode-to-ASCII folding with no dependencies and can tolerate an unmaintained package.
The library is simple, has no vulnerabilities on record, and works for its narrow purpose. Install it only if you're comfortable with a codebase last updated in 2020-05-03 and have no expectation of future updates or support.
Install
fold-to-ascii on PyPI
Before you install
Installation is straightforward with no runtime dependencies. However, the package has been abandoned since its last release on 2020-05-03, so maintenance and security fixes are not expected.
License in practice
Licensed under MIT License (permissive), allowing free use, modification, and distribution with minimal restrictions.
Quickstart
from fold_to_ascii import fold
s = u'Astroturf® paté'
result = fold(s)
# result: u'Astroturf pate'
# With custom replacement character:
result = fold(s, u'?')
# result: u'Astroturf? pate'
Verify before relying
- Whether astral character removal behavior (always removed even with replacement specified) is acceptable for your use case
- Current compatibility with modern Python versions beyond what the fact sheet specifies
Package facts
| License | MIT License permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Abandoned 2,294 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 151,845 / month, #10,919 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: fold_to_ascii-1.0.2.post1-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 › “ascii folding filter”
- fold-to-asciiConverts Unicode characters outside the basic ASCII range into their…
- fair-esmProvides pre-trained transformer protein language models (ESM-2,…
- onnxsimSimplifies ONNX neural network models by running constant folding,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Text Processing packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyparsing provides a library for building text parsers directly in Python code using composable grammar classes, handling quoted strings, whitespace variation, and embedded comments without regex or lex/yacc.
Install it if you need to parse text or define grammars programmatically.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.
RapidFuzz provides fast fuzzy string matching using Levenshtein Distance and related metrics, implemented mostly in C++ with Python bindings for rapid similarity scoring and approximate string matching.
Install it if you need fuzzy string matching; it's a solid replacement for FuzzyWuzzy with better licensing and performance.
tinycss2 parses CSS strings into token and block objects, and generates CSS strings from those objects, following the CSS Syntax Level 3 specification without enforcing specific properties or values.
Install it if your project requires CSS tokenization or syntax manipulation.
See also anyascii · zalgolib · text-unidecode · Unidecode · ftfy · normality · unicode-slugify · humps · sanitize-filename · PyArabic