Skip to main content

A port of WanaKana, a JS library by Tofugu

Project description

ワナカナ <--> WanaKana <--> わなかな
Python utility library for detecting and transliterating Hiragana, Katakana, and Romaji

This library uses Semantic Versioning

See what this means here

Demo

Visit the website to see WanaKana in action.

Usage

Install

pip install wanakana-python
import wanakana
# or
from wanakana import to_kana, is_romaji

Documentation

Extended API reference (Note that function names are converted to snake_case)

Quick Reference

### TEXT CHECKING UTILITIES ###
wanakana.is_japanese('泣き虫。!〜2¥zenkaku')
# => True

wanakana.is_kana('あーア') # FIXME: returns False
# => True

wanakana.is_hiragana('すげー')
# => True

wanakana.is_katakana('ゲーム')
# => True

wanakana.is_kanji('切腹')
# => True
wanakana.is_kanji('勢い')
# => False

wanakana.is_romaji('Tōkyō and Ōsaka')
# => True

wanakana.to_kana('ONAJI buttsuuji')
# => 'オナジ ぶっつうじ'
wanakana.to_kana('座禅‘zazen’スタイル')
# => '座禅「ざぜん」スタイル'
wanakana.to_kana('batsuge-mu')
# => 'ばつげーむ'
wanakana.to_kana('wanakana', custom_kana_mapping={'na': 'に', 'ka': 'bana'}) # FIXME: custom_kana_mapping ignored
# => 'わにbanaに'

wanakana.to_hiragana('toukyou, オオサカ') # FIXME: does not convert kana
# => 'とうきょう、 おおさか'
wanakana.to_hiragana('only カナ', ignore_romaji=True)
# => 'only かな'
wanakana.to_hiragana('wi', use_obsolete_kana=True)
# => 'ゐ'

wanakana.to_katakana('toukyou, おおさか')
# => 'トウキョウ、 オオサカ'
wanakana.to_katakana('only かな', ignore_romaji=True)
# => 'only カナ'
wanakana.to_katakana('wi', use_obsolete_kana=True)
# => 'ヰ'

wanakana.to_romaji('ひらがな カタカナ')
# => 'hiragana katakana'
wanakana.to_romaji('ひらがな カタカナ', uppercase_katakana=True)
# => 'hiragana KATAKANA'
wanakana.to_romaji('つじぎり', custom_romaji_mapping={'じ': 'zi', 'つ': 'tu', 'り': 'li' })
# => 'tuzigili'

### EXTRA UTILITIES ###
wanakana.strip_okurigana('お祝い')
# => 'お祝'
wanakana.strip_okurigana('踏み込む')
# => '踏み込'
wanakana.strip_okurigana('お腹', leading=True)
# => '腹'
wanakana.strip_okurigana('ふみこむ', match_kanji='踏み込む')
# => 'ふみこ'
wanakana.strip_okurigana('おみまい', match_kanji='お祝い', leading=True)
# => 'みまい'

wanakana.tokenise('ふふフフ')
# => ['ふふ', 'フフ']
wanakana.tokenise('hello 田中さん')
# => ['hello', ' ', '田中', 'さん']
wanakana.tokenise('I said 私はすごく悲しい', compact=True)
# => [ 'I said ', '私はすごく悲しい']

# FIXME: tokenise does not work correctly when using detailed

Contributors

Credits

Port of WanaKana

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

wanakana-python-1.0.3.tar.gz (7.2 kB view details)

Uploaded Source

File details

Details for the file wanakana-python-1.0.3.tar.gz.

File metadata

  • Download URL: wanakana-python-1.0.3.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for wanakana-python-1.0.3.tar.gz
Algorithm Hash digest
SHA256 5cc4a4a3ddc7a6a2749378c801e81ce0f35ec36c1574df2ed3313e42638b0712
MD5 4d447311e8ac44eed8ded3805c9b7622
BLAKE2b-256 6db58b4cc303b97005c1de4f4a20173fb382358bdd0651247ed59521fb81a476

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