--- id: uroman version: "1.3.1.1" license: Copyright (C) 2015-2020 Ulf Hermjakob, USC Information Sciences Institute Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation… (full text in the JSON record) license_treatment: permissive maintenance: dormant --- # uroman — uroman is a universal romanizer. It converts text in any script to the standard Latin alphabet. License: permissive · Maintenance: dormant · Downloads: 659.1K/mo ## What it is and what it does uroman is a universal romanizer that converts text written in any script—Cyrillic, Greek, Arabic, Devanagari, Chinese, and many others—into standard Latin alphabet characters. It goes beyond simple character-by-character substitution by using context-aware m-to-n mappings and optional ISO-639-3 language codes to handle script-specific phonetic rules. For example, the same Cyrillic letter may romanize differently in Russian versus Ukrainian depending on the language code provided. The package is designed to enable string-similarity comparisons across scripts without intermediate phonetic representations, and also converts numerals in various scripts to Western Arabic numerals. It offers both a command-line interface for batch processing and a Python API for programmatic use. The constructor loads romanization data once (taking about a second), after which multiple romanization calls are efficient. Output formats range from simple strings to detailed lattices with alternative romanizations and offset information. Use it for: - Compare or deduplicate names and text across different writing systems in multilingual datasets without phonetic intermediate steps. - Normalize user input from diverse scripts into Latin text for downstream NLP or machine translation pipelines. - Convert digital numbers written in non-Latin scripts (e.g., Arabic, Chinese) to Western numerals for data processing. - Build search indexes that match queries across scripts—e.g., finding 'Nepal' when the database contains नेपाल or نیپال. - Preprocess multilingual corpora for linguistic research or computational linguistics tasks requiring consistent Latin representation. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Converts text in any script to Latin alphabet romanization, supporting multiple languages with context-aware character mappings and optional language codes. Yes, if you need robust script-to-Latin conversion with language awareness. The low install friction, permissive license, and zero known vulnerabilities make it safe to adopt. However, the dormant maintenance status (no activity for 777 days) means you should verify that its romanization rules and Unicode support remain adequate for your use case and that you can maintain it yourself if needed. ## Install pip install uroman uv add uroman poetry add uroman ## Installing uroman Before you install: Low install friction with a single runtime dependency (regex). Maintenance is dormant—last release was 777 days ago and the repository shows no recent commits, though it remains unarchived and the package is actively downloaded. License in practice: Permissive MIT-style license with an attribution requirement: publications using uroman must acknowledge its use and cite the original authors (Ulf Hermjakob, USC Information Sciences Institute, 2015-2020). Quickstart: pip install uroman import uroman as ur uroman = ur.Uroman() print(uroman.romanize_string('Игорь Стравинский')) print(uroman.romanize_string('नेपाल', lcode='hin')) Requires Python 3.10 or later. Initial Uroman() constructor call takes about a second to load romanization data. Verify before relying: - Whether the dormant maintenance status (last commit 2024-07-26, no activity for 777 days) affects long-term compatibility with evolving Python or dependency ecosystems. - Accuracy and completeness of romanization across all supported scripts and language codes beyond the documented examples. ## Package facts - License: Copyright (C) 2015-2020 Ulf Hermjakob, USC Information Sciences Institute Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation… (full text in the JSON record) (permissive) - Python support: supports_current - Install friction: low - Maintenance: dormant - Downloads: 659.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags romanize text any script, convert non-latin scripts to latin, unicode text romanization, multilingual script conversion, string similarity across scripts, transliteration tool, language-aware romanizer, nlp, multilingual, transliteration [View on SkillFed](https://skillfed.io/packages/uroman) · [View on PyPI](https://pypi.org/project/uroman/)