{"id":1322,"library":"anyascii","title":"AnyASCII","description":"anyascii is a Python library that provides fast and accurate Unicode to ASCII transliteration. It converts any Unicode string into an ASCII representation, making it suitable for filenames, URLs, or other contexts where only ASCII characters are permitted. The current version is 0.3.3, and it maintains a relatively stable release cadence with updates for data improvements or internal packaging.","status":"active","version":"0.3.3","language":"python","source_language":"en","source_url":"https://github.com/anyascii/anyascii","tags":["unicode","ascii","transliteration","text-processing"],"install":[{"cmd":"pip install anyascii","lang":"bash","label":"Install latest version"}],"dependencies":[],"imports":[{"symbol":"anyascii","correct":"from anyascii import anyascii"}],"quickstart":{"code":"from anyascii import anyascii\n\n# Example 1: Basic transliteration\ntext1 = '你好，世界'\nresult1 = anyascii(text1)\nprint(f\"'{text1}' -> '{result1}'\")\n\n# Example 2: European characters\ntext2 = 'Hello, world! Pýthön æøåß®©'\nresult2 = anyascii(text2)\nprint(f\"'{text2}' -> '{result2}'\")\n\n# Example 3: Mixed script\ntext3 = 'Ελληνικά, Русский, 日本語'\nresult3 = anyascii(text3)\nprint(f\"'{text3}' -> '{result3}'\")","lang":"python","description":"Demonstrates the basic usage of the `anyascii` function to transliterate various Unicode strings into their ASCII equivalents."},"warnings":[{"fix":"Upgrade to Python 3 or restrict `anyascii` version to `<0.2` in `requirements.txt`.","message":"Python 2 support was dropped in version 0.2.0. If your project requires Python 2 compatibility, you must pin the `anyascii` version to `<0.2` (e.g., `anyascii==0.1.7`).","severity":"breaking","affected_versions":">=0.2.0"},{"fix":"Understand that the output is an ASCII approximation and not a round-trip conversion. For critical applications, review the transliterated output.","message":"Transliteration is an inherently lossy process. While `anyascii` provides a robust ASCII representation, it may not perfectly preserve all semantic or linguistic nuances of the original Unicode string. Users should be aware that the output is a best-effort ASCII approximation.","severity":"gotcha","affected_versions":"All versions"},{"fix":"If additional text normalization is required, use `anyascii` in conjunction with other string manipulation techniques or libraries (e.g., `str.lower()`, `str.strip()`, `unicodedata.normalize`).","message":"`anyascii` focuses purely on Unicode to ASCII transliteration. It does not perform other text normalization tasks such as lowercasing, stripping extra whitespace, or handling character compositions beyond what's necessary for direct ASCII mapping. For broader text cleaning, combine it with other libraries.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-05-30T13:56:00.710Z","next_check":"2026-07-08T00:00:00.000Z","problems":[{"fix":"Install the module using pip: 'pip install anyascii'.","cause":"The 'anyascii' module is not installed in the Python environment.","error":"ModuleNotFoundError: No module named 'anyascii'"},{"fix":"Use the correct import statement: 'from anyascii import anyascii'.","cause":"Incorrect import statement; 'anyascii' is a function within the 'anyascii' module.","error":"ImportError: cannot import name 'anyascii' from 'anyascii'"},{"fix":"Call the function explicitly: 'from anyascii import anyascii; anyascii(\"string\")'.","cause":"Attempting to call the module directly instead of the function within it.","error":"TypeError: 'module' object is not callable"},{"fix":"After `from anyascii import anyascii`, call the function directly: `anyascii('text')`","cause":"This error occurs when the user has imported the specific 'anyascii' function using `from anyascii import anyascii` but then incorrectly tries to access it again as an attribute of the module (e.g., `anyascii.anyascii('text')`).","error":"AttributeError: module 'anyascii' has no attribute 'anyascii'"},{"fix":"If `import anyascii` is used, call the function as `anyascii.anyascii('text')`. Alternatively, use `from anyascii import anyascii` and then call `anyascii('text')`.","cause":"This usually happens when the user has imported the module as `import anyascii` but then tries to call the function directly as `anyascii('text')` instead of `anyascii.anyascii('text')`.","error":"NameError: name 'anyascii' is not defined"}],"ecosystem":"pypi","meta_description":null,"install_score":100,"install_tag":"verified","quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.3.3","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/anyascii/anyascii","docs":null,"changelog":"https://github.com/anyascii/anyascii/blob/master/CHANGELOG.md","pypi":"https://pypi.org/project/anyascii/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["serialization"],"base_url":null,"auth_type":null,"install_checks":{"last_tested":"2026-05-30","tag":"verified","tag_description":"installs cleanly on critical runtimes, fast import, recently tested","installed_version":"0.3.3","pypi_latest":"0.3.3","is_stale":false,"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"anyascii","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.03,"mem_mb":1.9,"disk_size":"20.4M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"anyascii","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.04,"mem_mb":1.9,"disk_size":"20.4M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"anyascii","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.6,"import_time_s":0.02,"mem_mb":1.9,"disk_size":"21M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"anyascii","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.02,"mem_mb":1.9,"disk_size":"21M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"anyascii","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.05,"mem_mb":2,"disk_size":"22.2M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"anyascii","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.06,"mem_mb":2,"disk_size":"22.2M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"anyascii","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.6,"import_time_s":0.04,"mem_mb":2,"disk_size":"23M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"anyascii","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.04,"mem_mb":2,"disk_size":"23M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"anyascii","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.07,"mem_mb":2.7,"disk_size":"14.1M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"anyascii","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.07,"mem_mb":2.7,"disk_size":"14.1M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"anyascii","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.6,"import_time_s":0.07,"mem_mb":2.7,"disk_size":"15M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"anyascii","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.09,"mem_mb":2.7,"disk_size":"15M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"anyascii","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.06,"mem_mb":2.6,"disk_size":"13.8M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"anyascii","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.07,"mem_mb":2.6,"disk_size":"13.7M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"anyascii","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.5,"import_time_s":0.06,"mem_mb":2.4,"disk_size":"14M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"anyascii","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.07,"mem_mb":2.4,"disk_size":"14M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"anyascii","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.03,"mem_mb":2.1,"disk_size":"19.8M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"anyascii","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.04,"mem_mb":2.1,"disk_size":"19.8M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"anyascii","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.03,"mem_mb":2.1,"disk_size":"20M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"anyascii","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.04,"mem_mb":2.1,"disk_size":"20M"}]},"quickstart_checks":{"last_tested":"2026-04-24","tag":null,"tag_description":null,"results":[{"runtime":"python:3.10-alpine","exit_code":0},{"runtime":"python:3.10-slim","exit_code":0},{"runtime":"python:3.11-alpine","exit_code":0},{"runtime":"python:3.11-slim","exit_code":0},{"runtime":"python:3.12-alpine","exit_code":0},{"runtime":"python:3.12-slim","exit_code":0},{"runtime":"python:3.13-alpine","exit_code":0},{"runtime":"python:3.13-slim","exit_code":0},{"runtime":"python:3.9-alpine","exit_code":0},{"runtime":"python:3.9-slim","exit_code":0}]},"_links":{"self":"https://checklist.day/api/registry/anyascii","v1":"https://checklist.day/v1/registry/anyascii","v1_install":"https://checklist.day/v1/registry/anyascii/install","v1_imports":"https://checklist.day/v1/registry/anyascii/imports","v1_compatibility":"https://checklist.day/v1/registry/anyascii/compatibility","v1_quickstart":"https://checklist.day/v1/registry/anyascii/quickstart","docs":"https://checklist.day/docs"}}