Registry / ai-ml / cutlet

cutlet

JSON →
library0.5.0pypypi✓ verified 85d ago

Japanese to romaji converter using fugashi and kakasi. Current version 0.5.0 (May 2025). Low/medium release cadence; pre-1.0 API cleanup expected.

pip install cutlet
INSTALL
IMPORT
SIG · CUTLET
C
cutlet
ai-mlpythonv0.5.0
Install
1.9s avg
Import
53ms
Disk
20MB
Pass rate
4/ 10
Env Coverage4 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v0.5.0 · 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
musl
glibc
py 3.10
✕ build_error
✓ 1.9s
py 3.11
✕ build_error
✓ 1.8s
py 3.12
✕ build_error
✓ 1.6s
py 3.13
✕ build_error
✕ build_error
py 3.9
✕ build_error
✓ 2.3s
20MB installed
● package 20MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Cutlet
from cutlet import Cutlet

Basic romaji conversion. Note: particles like は are romanized as 'ha' not 'wa'.

from cutlet import Cutlet katsu = Cutlet() print(katsu.romaji('私は猫です')) # 'watashi ha neko desu'
cutlet --version
Debug
Known issues
breakingv0.5.0 changed behavior: whitespace in ASCII strings is now preserved instead of being subject to the same rules as Japanese text. Output may differ from v0.4.0.
fix
If you relied on whitespace being modified, adjust logic to handle ASCII whitespace separately.
affects: 0.5.0 (when upgrading from <0.5.0)
gotchaParticles like は are romanized as 'ha' (not 'wa') and へ as 'he' (not 'e'). This is technically correct but may be unexpected for learners.
fix
Use hepburn=False or override via manual post-processing if Hepburn-style romanization is desired.
affects: all
gotchaUnknown characters (non-Japanese, non-ASCII) are converted to '?' by default. This can silently corrupt text.
fix
Set the 'unknown' argument to a different placeholder or handle missing chars manually.
affects: all
gotchaThe Cutlet class is stateful; do not reuse the same instance across threads without synchronization.
fix
Instantiate a new Cutlet object per thread.
affects: all
Errors
Common errors & fixes
ImportError: cannot import name 'Cutlet' from 'cutlet'
Using wrong import syntax (e.g., from cutlet import cutlet).
fix
Use: from cutlet import Cutlet
ModuleNotFoundError: No module named 'fugashi'
Missing transitive dependency. cutlet requires fugashi.
fix
pip install fugashi (or use a dict like pip install cutlet[fugashi] if available)
RuntimeError: Please install a dictionary for fugashi (e.g., pip install unidic-lite)
Fugashi requires a dictionary to be installed separately.
fix
pip install unidic-lite
Upgrade
Version history
0.5.0latest on PyPI · released Jan 4, 2025
Audit
Dependencies
fugashirequiredJapanese tokenizer (required runtime dependency)
kakasirequiredKanji to kana conversion (required runtime dependency)
Agent activity
16 hits · last 30 days
node
14
Amazon
1
OpenAI (training)
1
Resources
cutlet — pip install cutlet · libregistry