Skip to main content

Transliterate Cyrillic → Latin in every possible way

Project description

Iuliia

Transliterate Cyrillic → Latin in every possible way

Transliteration means representing Cyrillic data (mainly names and geographic locations) with Latin letters. It is used for international passports, visas, green cards, driving licenses, mail and goods delivery etc.

Iuliia makes transliteration as easy as:

>>> import iuliia
>>> iuliia.WIKIPEDIA.translate("Юлия Щеглова")
'Yuliya Shcheglova'

Why use Iuliia

  • 20 Russian transliteration schemas (all major international and national standards).
  • Official Uzbek transliteration schema.
  • Simple API and zero third-party dependencies.

For schema details and other information, see iuliia.ru (in Russian).

Limitations

Installation

pip install iuliia

Usage

Transliterate using specified schema:

>>> source = "Юлия Щеглова"
>>> iuliia.ICAO_DOC_9303.translate(source)
'Iuliia Shcheglova'

Or pick schema by name

>>> iuliia.schemas.has("wikipedia")
True
>>> schema = iuliia.schemas.get("wikipedia")
>>> schema.translate("Юлия Щеглова")
'Yuliya Shcheglova'

List all supported schemas:

for name, schema in iuliia.schemas.items():
    print("{0:<20}{1}".format(name, schema.description))
ala_lc              ALA-LC transliteration schema
ala_lc_alt          ALA-LC transliteration schema
bgn_pcgn            BGN/PCGN transliteration schema
bgn_pcgn_alt        BGN/PCGN transliteration schema
bs_2979             British Standard 2979:1958 transliteration schema
bs_2979_alt         British Standard 2979:1958 transliteration schema
gost_16876          GOST 16876-71 (aka GOST 1983) transliteration schema
gost_16876_alt      GOST 16876-71 (aka GOST 1983) transliteration schema
gost_52290          GOST R 52290-2004 transliteration schema
gost_52535          GOST R 52535.1-2006 transliteration schema
gost_7034           GOST R 7.0.34-2014 transliteration schema
gost_779            GOST 7.79-2000 (aka ISO 9:1995) transliteration schema
gost_779_alt        GOST 7.79-2000 (aka ISO 9:1995) transliteration schema
icao_doc_9303       ICAO DOC 9303 transliteration schema
iso_9_1954          ISO/R 9:1954 transliteration schema
iso_9_1968          ISO/R 9:1968 transliteration schema
iso_9_1968_alt      ISO/R 9:1968 transliteration schema
mosmetro            Moscow Metro map transliteration schema
mvd_310             MVD 310-1997 transliteration schema
mvd_310_fr          MVD 310-1997 transliteration schema
mvd_782             MVD 782-2000 transliteration schema
scientific          Scientific transliteration schema
telegram            Telegram transliteration schema
ungegn_1987         UNGEGN 1987 V/18 transliteration schema
uz                  Uzbekistan cyr-lat transliteration schema
wikipedia           Wikipedia transliteration schema
yandex_maps         Yandex.Maps transliteration schema
yandex_money        Yandex.Money transliteration schema

Command line:

$ iuliia icao_doc_9303 "Юлия Щеглова"
Iuliia Shcheglova

Development setup

$ python3 -m venv env
$ . env/bin/activate
$ make deps schemas
$ make

Development tasks:

make [task]
task                 help
------               ----
all                  Run tests with coverage and linting
coverage             Run tests with coverage
deps                 Install dependencies
lint                 Lint and static-check code
pull                 Pull code and schemas
push                 Push commits and tags
schemas              Update schemas
test                 Run functional tests
timing               Run performance tests

Contributing

Contributions are welcome. For anything other than bugfixes, please first open an issue to discuss what you want to change.

Be sure to add or update tests as appropriate.

Use Black for code formatting.

Release notes

See CHANGELOG.md

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iuliia-0.13.0.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iuliia-0.13.0-py3-none-any.whl (37.1 kB view details)

Uploaded Python 3

File details

Details for the file iuliia-0.13.0.tar.gz.

File metadata

  • Download URL: iuliia-0.13.0.tar.gz
  • Upload date:
  • Size: 23.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for iuliia-0.13.0.tar.gz
Algorithm Hash digest
SHA256 eafd883de575ca3de657466ef18310c7cbdf0f65cb0b542362ff6b29bcf35852
MD5 9691807c5efc422e1340ed8bc70dd389
BLAKE2b-256 b26edbaa45ac0396e792ce1aba72af8a1112471518bbea7fa43e186e7aeef179

See more details on using hashes here.

File details

Details for the file iuliia-0.13.0-py3-none-any.whl.

File metadata

  • Download URL: iuliia-0.13.0-py3-none-any.whl
  • Upload date:
  • Size: 37.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for iuliia-0.13.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83e8c18d631f2f7f9ccc2f6c7091bf74a34acf4c70d84f052d3e272a374ea1f5
MD5 a58610484a12477da0e46226023dc8b8
BLAKE2b-256 c6d909fa8b6f5600cf583fd0e4a987f7f3b36bfff59b18d8177450089f138d12

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page