{"id":37075904,"url":"https://github.com/mdoumbouya/detransliterator","last_synced_at":"2026-01-14T08:55:51.244Z","repository":{"id":46377933,"uuid":"514953423","full_name":"mdoumbouya/detransliterator","owner":"mdoumbouya","description":"detransliteration library and tools","archived":false,"fork":false,"pushed_at":"2023-07-27T02:34:31.000Z","size":99668,"stargazers_count":1,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-11-27T13:36:27.347Z","etag":null,"topics":["detransliteration","machine-learning","mande","manding","niger-congo","nlp","nmt-model","transliteration"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mdoumbouya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-07-17T20:54:13.000Z","updated_at":"2025-11-06T21:00:49.000Z","dependencies_parsed_at":"2025-04-13T13:09:50.763Z","dependency_job_id":null,"html_url":"https://github.com/mdoumbouya/detransliterator","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/mdoumbouya/detransliterator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdoumbouya%2Fdetransliterator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdoumbouya%2Fdetransliterator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdoumbouya%2Fdetransliterator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdoumbouya%2Fdetransliterator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdoumbouya","download_url":"https://codeload.github.com/mdoumbouya/detransliterator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdoumbouya%2Fdetransliterator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28384636,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T10:34:27.190Z","status":"ssl_error","status_checked_at":"2026-01-13T10:34:26.289Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["detransliteration","machine-learning","mande","manding","niger-congo","nlp","nmt-model","transliteration"],"created_at":"2026-01-14T08:55:50.548Z","updated_at":"2026-01-14T08:55:51.225Z","avatar_url":"https://github.com/mdoumbouya.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# detransliterator\n\n![Build](https://github.com/mdoumbouya/detransliterator/actions/workflows/ci.yaml/badge.svg) [![PyPI - Version](https://img.shields.io/pypi/v/detransliterator.svg)](https://pypi.org/project/detransliterator)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/detransliterator.svg)](https://pypi.org/project/detransliterator)\n\n\n\n\n-----\n\n**Table of Contents**\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [License](#license)\n\n## Installation\n\n```console\npip install detransliterator\n```\n\n## Usage\n\n### as a software library\n```python\nfrom detransliterator import Detransliterator\n\ndetransliterator = Detransliterator('latin2nqo_001.38')\nfor latin in [\"maari\", \"mààri\", \"magari\", \"màgàri\", \"makari\", \"màkàri\"]:\n    nqo = detransliterator.detransliterate(latin, beam_size=5)\n    assert nqo == \"ߡߊ߰ߙߌ\"\n```\n\n### as a console tool\n```console\n# detransliteration tool\npython -m detransliterator.tool --help\n\n# csv/tsv extraction tool\npython -m detransliterator.csv_tool --help\n```\n\n**example: detransliterate a stream**\n```console\necho \"musa dunbuya\" | python -m detransliterator.tool --model-name latin2nqo_001.35\n```\n\n**example: extract a column from a csv file**\n```console\ncat test_csv_no_header.csv \\\n| python -m detransliterator.csv_tool \\\n    extract-column --column-ix 1 \\\n\u003e tmp_col1_1.txt\n```\n\n**example: extract a column from  a tsv file**\n```console\ncat test_tsv_with_header.tsv \\\n| python -m detransliterator.csv_tool \\\n    extract-column --column-ix 1 --skip-lines 1 --csv-formatting-params delimiter tab \\\n\u003e tmp_col1_2.txt\n```\n\n\n**example: detransliterate a column from a csv file**\n```console\ncat test_csv_with_header.csv \\\n| python -m detransliterator.csv_tool extract-column --column-ix 1 --skip-lines 1 \\\n| python -m detransliterator.tool --model-name latin2nqo_001.35 \\\n\u003e tmp_col_1_detransliterated_1.nqo\n```\n\n**example: detransliterate a column from a tsv file**\n```console\ncat test_tsv_no_header.tsv \\\n| python -m detransliterator.csv_tool extract-column --column-ix 1 \\\n    --csv-formatting-params delimiter tab \\\n| python -m detransliterator.tool --model-name latin2nqo_001.35 \\\n\u003e tmp_col_1_detransliterated_2.nqo\n```\n\n**example: use a particular GPU**\n```console\nCUDA_VISIBLE_DEVICES=\"1\" echo \"musa dunbuya\" | python -m detransliterator.tool\n```\n\n## latin2nqo Detransliteration Models\n|Model|Source Script|Target Script|#Parameters|Validation BLEU|Test BLEU|\n|:--:|:--:|:--:|--:|--:|--:|\n|latin2nqo_001.35|latin|nqo|2 520 576|75.56|74.14|\n|latin2nqo_001.38|latin|nqo|3 909 120|78.51|77.06|\n\n### Supported variants of latin transliterations\n|variant|example latin|detransliterated nqo|\n|:--|:--:|:--:|\n|maninka | maari | ߡߊ߰ߙߌ |\n|maninka tonal | mààri| ߡߊ߰ߙߌ |\n|bambara-ga | magari| ߡߊ߰ߙߌ |\n|bambara-ga tonal | màgàri| ߡߊ߰ߙߌ |\n|bambara-ka | makari| ߡߊ߰ߙߌ |\n|bambara-ka tonal | màkàri| ߡߊ߰ߙߌ |\n\n\n## License\n\n`detransliterator` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.\n\nIf you use this software in your work, please cite it using the following metadata:\n```\n@software{Doumbouya_Detransliterator_2022,\n    author = {Doumbouya, Moussa},\n    month = {7},\n    title = {{Detransliterator}},\n    url = {https://github.com/mdoumbouya/detransliterator},\n    version = {0.0.2},\n    year = {2022}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdoumbouya%2Fdetransliterator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdoumbouya%2Fdetransliterator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdoumbouya%2Fdetransliterator/lists"}