{"id":21986498,"url":"https://github.com/alvations/charguana","last_synced_at":"2025-04-30T08:12:09.222Z","repository":{"id":62561728,"uuid":"73774282","full_name":"alvations/charguana","owner":"alvations","description":"Character  Vomiting","archived":false,"fork":false,"pushed_at":"2018-03-20T09:52:44.000Z","size":161,"stargazers_count":10,"open_issues_count":2,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-30T08:12:02.052Z","etag":null,"topics":["cjk","python3","unicode"],"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/alvations.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-15T03:55:25.000Z","updated_at":"2024-01-03T14:14:17.000Z","dependencies_parsed_at":"2022-11-03T15:00:56.774Z","dependency_job_id":null,"html_url":"https://github.com/alvations/charguana","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvations%2Fcharguana","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvations%2Fcharguana/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvations%2Fcharguana/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alvations%2Fcharguana/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alvations","download_url":"https://codeload.github.com/alvations/charguana/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251666337,"owners_count":21624295,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cjk","python3","unicode"],"created_at":"2024-11-29T18:19:09.346Z","updated_at":"2025-04-30T08:12:09.196Z","avatar_url":"https://github.com/alvations.png","language":"Python","readme":"Charguana\n====\n\nA library for *\"character vommitting\"*.\n\nOnly works in `Python3`\n\n\nInstall\n====\n\n```bash\npip3 install charguana\n```\n\n\nUsage\n====\n\n**CJK characters**:\n\n```python\n\u003e\u003e\u003e from charguana import get_charset\n\n# Hiragana.\n\u003e\u003e\u003e ''.join(list(get_charset('hiragana')))\n'\\u3040ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんゔゕゖ\\u3097\\u3098゙゚゛゜ゝゞゟ'\n\n# Katakana.\n\u003e\u003e\u003e ''.join(list(get_charset('katakana')))\n'゠ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶヷヸヹヺ・ーヽヾヿ'\n\n# Bopomofo.\n\u003e\u003e\u003e ''.join(list(get_charset('bopomofo')))\n'\\u3100\\u3101\\u3102\\u3103\\u3104ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩㄪㄫㄬㄭ\\u312e\\u312f'\n\n# Punctuations\n\u003e\u003e\u003e ''.join(list(get_charset('punctuation')))\n'\\u3000、。〃〄々〆〇〈〉《》「」『』【】〒〓〔〕〖〗〘〙〚〛〜〝〞〟〠〡〢〣〤〥〦〧〨〩〪〭〮〯〫〬〰〱〲〳〴〵〶〷〸〹〺〻〼〽〾〿'\n\n# Romanji\n\u003e\u003e\u003e ''.join(list(get_charset('romanji')))\n'\\uff00！＂＃＄％＆＇（）＊＋，－．／０１２３４５６７８９：；＜＝＞？＠ＡＢＣＤＥＦＧＨＩＪＫＬＭＮＯＰＱＲＳＴＵＶＷＸＹＺ［＼］＾＿｀ａｂｃｄｅｆｇｈｉｊｋｌｍｎｏｐｑｒｓｔｕｖｗｘｙｚ｛｜｝～｟｠｡｢｣､･ｦｧｨｩｪｫｬｭｮｯｰｱｲｳｴｵｶｷｸｹｺｻｼｽｾｿﾀﾁﾂﾃﾄﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎﾏﾐﾑﾒﾓﾔﾕﾖﾗﾘﾙﾚﾛﾜﾝﾞﾟﾠﾡﾢﾣﾤﾥﾦﾧﾨﾩﾪﾫﾬﾭﾮﾯﾰﾱﾲﾳﾴﾵﾶﾷﾸﾹﾺﾻﾼﾽﾾ\\uffbf\\uffc0\\uffc1ￂￃￄￅￆￇ\\uffc8\\uffc9ￊￋￌￍￎￏ\\uffd0\\uffd1ￒￓￔￕￖￗ\\uffd8\\uffd9ￚￛￜ\\uffdd\\uffde\\uffdf￠￡￢￣￤￥￦\\uffe7￨￩￪￫￬￭￮\\uffef'\n\n\n# Chinese.\n\u003e\u003e\u003e from charguana import tradify, simplify\n\u003e\u003e\u003e ''.join(list(get_charset('chinese'))) == ''.join(list(get_charset('zh')))\nTrue\n\u003e\u003e\u003e ''.join(list(get_charset('zh'))) == ''.join(list(get_charset('cn')))\nTrue\n\u003e\u003e\u003e list(get_charset('simplified_chinese'))[:10]\n['锕', '皑', '蔼', '碍', '爱', '嗳', '嫒', '瑷', '暧', '霭']\n\u003e\u003e\u003e list(get_charset('traditional_chinese'))[:10]\n['錒', '皚', '藹', '礙', '愛', '噯', '嬡', '璦', '曖', '靄']\n\u003e\u003e\u003e simplify('錒')\n'锕'\n\u003e\u003e\u003e tradify('锕')\n'錒'\n\u003e\u003e\u003e chinese_strokes['绝']\n9\n\u003e\u003e\u003e chinese_strokes['絕']\n12\n\n# Japanese.\n\u003e\u003e\u003e ''.join(list(get_charset('japanese'))) == ''.join(list(get_charset('ja')))\nTrue\n\u003e\u003e\u003e ''.join(list(get_charset('ja'))) == ''.join(list(get_charset('jp')))\nTrue\n\n# Korean.\n\u003e\u003e\u003e ''.join(list(get_charset('korean'))) == ''.join(list(get_charset('ko'))) == ''.join(list(get_charset('kr')))\nTrue\n\u003e\u003e\u003e ''.join(list(get_charset('ko'))) == ''.join(list(get_charset('kr')))\nTrue\n\n# All Chinese, Korean, Japanese and Romanji.\n\u003e\u003e\u003e ''.join(list(get_charset('cjk')))\n```\n\n\n**Perluniprops Characters**:\n\n\n```python\n\u003e\u003e\u003e from charguana import get_charset\n\n# Open Punctuation.\n\u003e\u003e\u003e ''.join(get_charset('Open_Punctuation'))\n'([{༺༼᚛‚„⁅⁽₍〈❨❪❬❮❰❲❴⟅⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗⧘⧚⧼⸢⸤⸦⸨〈《「『【〔〖〘〚〝﴾︗︵︷︹︻︽︿﹁﹃﹇﹙﹛﹝（［｛｟｢'\n\n# Close Punctuation.\n\u003e\u003e\u003e ''.join(get_charset('Close_Punctuation'))\n')]}༻༽᚜⁆⁾₎〉❩❫❭❯❱❳❵⟆⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘⧙⧛⧽⸣⸥⸧⸩〉》」』】〕〗〙〛〞〟﴿︘︶︸︺︼︾﹀﹂﹄﹈﹚﹜﹞）］｝｠｣'\n\n# Currency Symbols.\n\u003e\u003e\u003e ''.join(get_charset('Currency_Symbol'))\n'$¢£¤¥֏؋৲৳৻૱௹฿៛₠₡₢₣₤₥₦₧₨₩₪₫€₭₮₯₰₱₲₳₴₵₶₷₸₹₺꠸﷼﹩＄￠￡￥￦'\n\n# Numbers.\n\u003e\u003e\u003e ''.join(list(get_charset('IsN'))[:50])\n'0123456789²³¹¼½¾٠١٢٣٤٥٦٧٨٩۰۱۲۳۴۵۶۷۸۹߀߁߂߃߄߅߆߇߈߉०१२३'\n\n# Alphabetic\n\u003e\u003e\u003e ''.join(list(get_charset('IsAlpha'))[:50])\n'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx'\n\n# Lowercase.\n\u003e\u003e\u003e ''.join(list(get_charset('IsLower'))[:50])\n'abcdefghijklmnopqrstuvwxyzªµºßàáâãäåæçèéêëìíîïðñòó'\n\n# Uppercase.\n\n\u003e\u003e\u003e ''.join(list(get_charset('IsUpper'))[:50])\n'ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØ'\n# Alphanumeric\n\u003e\u003e\u003e ''.join(list(get_charset('IsAlnum'))[:50])\n'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmn'\n```\n\n**Thai**\n\n```python\n# Thai.\n\u003e\u003e\u003e ''.join(list(get_charset('thai')))[:50]\n'กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮ\\u0e7f฿ะั'\n# Thai consonants.\n\u003e\u003e\u003e from charguana import get_charset_ranges\n\u003e\u003e\u003e from charguana.thai import thai_consonants\n\u003e\u003e\u003e list(get_charset_ranges([thai_consonants]))[:10]\n['ก', 'ข', 'ฃ', 'ค', 'ฅ', 'ฆ', 'ง', 'จ', 'ฉ', 'ช']\n# Thai Vowels\n\u003e\u003e\u003e from charguana.thai import thai_vowels_1, thai_vowels_2\n\u003e\u003e\u003e list(get_charset_ranges([thai_vowels_1, thai_vowels_2]))[:10]\n['ะ', 'ั', 'า', 'ำ', 'ิ', 'ี', 'ึ', 'ื', 'ุ', 'ู']\n```\n\n**Vietnamese**\n\n```python\n# Vietnamese\n\u003e\u003e\u003e from charguana import get_charset\n\u003e\u003e\u003e ''.join(list(get_charset('viet'))[:50])\n'AĂÂBCChDĐEÊGGhGiHIKKhLMNNgNghNhOÔƠPPhQRSTThTrUƯVXYFJWZaăâbcchd'\n\n\u003e\u003e\u003e from charguana import get_charset\n\u003e\u003e\u003e ''.join(list(get_charset('viet'))[:50])\n'AĂÂBCChDĐEÊGGhGiHIKKhLMNNgNghNhOÔƠPPhQRSTThTrUƯVXYFJWZaăâbcchd'\n\n# Vietnamese tones.\n\u003e\u003e\u003e from charguana.viet import viet_tones\n\u003e\u003e\u003e viet_tones.huyen\n'̀'\n\u003e\u003e\u003e 'o' + viet_tones.huyen\n'ò'\n\u003e\u003e\u003e 'o' + viet_tones.sac\n'ó'\n\u003e\u003e\u003e 'o' + viet_tones.hoi\n'ỏ'\n\u003e\u003e\u003e 'o' + viet_tones.nga\n'õ'\n\u003e\u003e\u003e 'o' + viet_tones.nang\n'ọ'\n\u003e\u003e\u003e 'o' + viet_tones.ngang\n'o'\n\n# Vietnamese consonants.\n\u003e\u003e\u003e from charguana.viet import viet_consonants\n\u003e\u003e\u003e list(viet_consonants)\n['A', 'Ă', 'Â', 'B', 'C', 'Ch', 'D', 'Đ', 'E', 'Ê', 'G', 'Gh', 'Gi', 'H', 'I', 'K', 'Kh', 'L', 'M', 'N', 'Ng', 'Ngh', 'Nh', 'O', 'Ô', 'Ơ', 'P', 'Ph', 'Q', 'R', 'S', 'T', 'Th', 'Tr', 'U', 'Ư', 'V', 'X', 'Y', 'F', 'J', 'W', 'Z', 'a', 'ă', 'â', 'b', 'c', 'ch', 'd', 'đ', 'e', 'ê', 'g', 'gh', 'gi', 'h', 'i', 'k', 'kh', 'l', 'm', 'n', 'ng', 'ngh', 'nh', 'o', 'ô', 'ơ', 'p', 'ph', 'q', 'r', 's', 't', 'th', 'tr', 'u', 'ư', 'v', 'x', 'y', 'f', 'j', 'w', 'z']\n\n# Vietnamese vowels with diacritics.\n\u003e\u003e\u003e from charguana.viet import a, a6, a8\n\u003e\u003e\u003e a\n['A', 'Á', 'À', 'Ả', 'Ã', 'Ạ', 'a', 'á', 'à', 'ả', 'ã', 'ạ']\n\u003e\u003e\u003e a6\n['Â', 'Ấ', 'Ầ', 'Ẩ', 'Ẫ', 'Ậ', 'â', 'ấ', 'ầ', 'ẩ', 'ẫ', 'ậ']\n\u003e\u003e\u003e a8\n['Ă', 'Ắ', 'Ằ', 'Ẳ', 'Ẵ', 'Ặ', 'ă', 'ắ', 'ằ', 'ẳ', 'ẵ', 'ặ']\n\n# Vietnamese tones.\n\u003e\u003e\u003e from charguana.viet import viet_tones\n\u003e\u003e\u003e viet_tones\nTones(ngang='', huyen='̀', sac='́', hoi='̉', nga='̃', nang='̣')\n\u003e\u003e\u003e 'o' + viet_tones.sac\n'ó'\n\u003e\u003e\u003e 'o' + viet_tones.nang\n'ọ'\n\n# Vietnamese IME.\n\u003e\u003e\u003e from charguana.viet import viet_ime\n\u003e\u003e\u003e viet_ime('Nguye64n Tra62n Anh Thu7')\n'Nguyễn Trần Anh Thư'\n# IME typo.\n\u003e\u003e\u003e viet_ime('Nguye64n Tra62n Anh Thu8') # uncheck.\n'Nguyễn Trần Anh Thu8'\n\u003e\u003e\u003e viet_ime('Nguye64n Tra62n Anh Thu8', raise_keyerror=True) # check.\n...\nKeyError: 'u8'\n# Telex\n\u003e\u003e\u003e viet_ime('Nguyeefn Traafn Anh Thuw', mapping='telex')\n'Nguyền Trần Anh Thư'\n# Short cut for TELEX ime with functools.partial\n\u003e\u003e\u003e from functools import partial\n\u003e\u003e\u003e from charguana.viet import viet_ime\n\u003e\u003e\u003e telex_ime = partial(viet_ime, mapping='telex')\n\u003e\u003e\u003e telex_ime('Nguyeefn Traafn Anh Thuw')\n'Nguyền Trần Anh Thư'\n```\n","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falvations%2Fcharguana","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falvations%2Fcharguana","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falvations%2Fcharguana/lists"}