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.2.tar.gz (7.2 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: wanakana-python-1.0.2.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.2.tar.gz
Algorithm Hash digest
SHA256 7db1a0cf60120b98d17cbde65b0dba46d67ca13e9036114fe52f120d42dfaf4c
MD5 f78da213e2c898df552aa37b9ed33276
BLAKE2b-256 8735748f1370c8078cb2d4d9cdbbd65666574b40c52c8d9b956b39e3fde75563

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