rubihuri


Namerubihuri JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryA library for adding readings and pronunciations to Kanji, numbers and alphabets
upload_time2025-02-10 15:02:45
maintainerNone
docs_urlNone
authormassao000
requires_python>=3.8
licenseMIT
keywords ruby rubihuri furigana kanji reading pronunciation converter japanese reading-helper
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # rubihuri

日本語テキストに対して漢字の読み方や発音を自動的に付与するPythonライブラリです。

## インストール

**MeCab**と**mecab-ipadic-NEologd**(推奨辞書)のインストールが必要になります。

### Ubuntu の場合

MeCabのインストール
```
$ sudo apt install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file
```

mecab-ipadic-NEologdのインストール
```
# 辞書元になるデータを GitHub からクローン
$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git

# クローン先のリポジトリに移動
$ cd mecab-ipadic-neologd

# 辞書のインストール
$ ./bin/install-mecab-ipadic-neologd -n -y
```

辞書のインストールされているパスの確認
```
$ echo `mecab-config --dicdir`"/mecab-ipadic-neologd"
```

[mecab-ipadic-NEologd 公式キュメント](https://github.com/neologd/mecab-ipadic-neologd/blob/master/README.ja.md#%E4%BE%8B-%E5%8B%95%E4%BD%9C%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)

### Windowsの場合

mecab-python3 を使っているので**WindowsにMeCab本体**のインストールは不要です。

wslを使って mecab-ipadic-NEologd のインストール

> wslとはWindows上で簡単にLinuxを動かすためのものです。

[Microsoftのwslインストールドキュメント](https://learn.microsoft.com/ja-jp/windows/wsl/install#install-wsl-command)

PowerShellまたはコマンドプロンプトを管理者モードで開き以下のコマンドを実行。
```
wsl --install
```
インストール後、メッセージに従ってPCの再起動が必要になります。


再起動すると、ユーザ名の設定する必要があります。
設定すると以下の様にUbuntuにログインできます。
```
ユーザ名@DESKTOP-PJH30LR:
```

必要なパッケージのインストールをします。
```
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install install make automake autoconf autotools-dev m4 mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file unzip
```

mecab-ipadic-NEologdのインストール
```
# 辞書元になるデータを GitHub からクローン
$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git

# クローン先のリポジトリに移動
$ cd mecab-ipadic-neologd

# 辞書のインストール
$ ./bin/install-mecab-ipadic-neologd -n -y
```

辞書のインストールされているパスの確認
```
$ echo `mecab-config --dicdir`"/mecab-ipadic-neologd"
```

windowの任意のドライブに辞書をコピーするディレクトリを新しく作ります。
エクスプローラでもコマンドでもどちらでも構いません。

例でコマンドでwindowのCドライブに dicmecab-ipadic-neologd ディレクトリを新しく作ります。

> **/mnt/c** はWindowsのCドライブを表します
```
$ mkdir /mnt/c/dicmecab-ipadic-neologd
```

先ほど作ったwindowのCドライブの dicmecab-ipadic-neologd に辞書をコピーします。
> /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/ は辞書のインストール先の場所を確認して出てきたパスになります。
```
$ cp /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/* /mnt/c/dicmecab-ipadic-neologd
```

以下のコマンドで Ubuntu を抜けることができます。
```
exit
```


### rubihuriのインストール

```bash
pip install rubihuri
```

## 使い方

### 基本的な使用方法
```py
from rubihuri import Rubihuri

# mecab-unidic-NEologd辞書を使用してRubihuriのインスタンスを作成
rubihuri = Rubihuri(dic_path="path/to/mecab-ipadic-neologd")  # パスは環境によって異なる場合があります

# テスト用のテキスト
text = "今日の天気は晴れのち雨でした。"

# ひらがなで読みを付与
result = rubihuri.yomi_hiragana(text)
print(result)  # {今日の天気<きょうのてんき>}は{晴れ<はれ>}のち{雨<あめ>}でした

# カタカナで読みを付与
result = rubihuri.yomi_katakana(text)
print(result)  # {今日の天気<キョウノテンキ>}は{晴れ<ハレ>}のち{雨<アメ>}でした

# ひらがなで発音を付与
result = rubihuri.hatuon_hiragana(text)
print(result)  # {今日の天気<きょーのてんき>}は{晴れ<はれ>}のち{雨<あめ>}でした

# カタカナで発音を付与
result = rubihuri.hatuon_katakana(text)
print(result)  # {今日の天気<キョーノテンキ>}は{晴れ<ハレ>}のち{雨<アメ>}でした
```

### カスタム設定

```py
from rubihuri import Rubihuri

rubihuri1 = Rubihuri(
    dic_path="path/to/mecab-ipadic-neologd",  # 辞書パス
    left_brace="",      # 漢字を囲む左括弧
    right_brace="",     # 漢字を囲む右括弧
    left_delimiter="(",  # 読み/発音を囲む左記号
    right_delimiter=")"  # 読み/発音を囲む右記号
)

text = "今日の天気は晴れのち雨でした。"
result = rubihuri1.yomi_hiragana(text)
print(result)  # 今日の天気(きょうのてんき)は晴れ(はれ)のち雨(あめ)でした。
```

## ライセンス

このプロジェクトのライセンスはMIT Licenseです。

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "rubihuri",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "ruby, rubihuri, furigana, kanji, reading, pronunciation, converter, Japanese, reading-helper",
    "author": "massao000",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/5a/80/da3260cf7ac2ca82e78bcf14a8d0ec7e9afe4829cabd87a01e14972398e3/rubihuri-0.1.1.tar.gz",
    "platform": null,
    "description": "# rubihuri\r\n\r\n\u65e5\u672c\u8a9e\u30c6\u30ad\u30b9\u30c8\u306b\u5bfe\u3057\u3066\u6f22\u5b57\u306e\u8aad\u307f\u65b9\u3084\u767a\u97f3\u3092\u81ea\u52d5\u7684\u306b\u4ed8\u4e0e\u3059\u308bPython\u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059\u3002\r\n\r\n## \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n\r\n**MeCab**\u3068**mecab-ipadic-NEologd**\uff08\u63a8\u5968\u8f9e\u66f8\uff09\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002\r\n\r\n### Ubuntu \u306e\u5834\u5408\r\n\r\nMeCab\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n```\r\n$ sudo apt install mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file\r\n```\r\n\r\nmecab-ipadic-NEologd\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n```\r\n# \u8f9e\u66f8\u5143\u306b\u306a\u308b\u30c7\u30fc\u30bf\u3092 GitHub \u304b\u3089\u30af\u30ed\u30fc\u30f3\r\n$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git\r\n\r\n# \u30af\u30ed\u30fc\u30f3\u5148\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u79fb\u52d5\r\n$ cd mecab-ipadic-neologd\r\n\r\n# \u8f9e\u66f8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n$ ./bin/install-mecab-ipadic-neologd -n -y\r\n```\r\n\r\n\u8f9e\u66f8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u30d1\u30b9\u306e\u78ba\u8a8d\r\n```\r\n$ echo `mecab-config --dicdir`\"/mecab-ipadic-neologd\"\r\n```\r\n\r\n[mecab-ipadic-NEologd \u516c\u5f0f\u30ad\u30e5\u30e1\u30f3\u30c8](https://github.com/neologd/mecab-ipadic-neologd/blob/master/README.ja.md#%E4%BE%8B-%E5%8B%95%E4%BD%9C%E3%81%AB%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)\r\n\r\n### Windows\u306e\u5834\u5408\r\n\r\nmecab-python3 \u3092\u4f7f\u3063\u3066\u3044\u308b\u306e\u3067**Windows\u306bMeCab\u672c\u4f53**\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u4e0d\u8981\u3067\u3059\u3002\r\n\r\nwsl\u3092\u4f7f\u3063\u3066 mecab-ipadic-NEologd \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n\r\n> wsl\u3068\u306fWindows\u4e0a\u3067\u7c21\u5358\u306bLinux\u3092\u52d5\u304b\u3059\u305f\u3081\u306e\u3082\u306e\u3067\u3059\u3002\r\n\r\n[Microsoft\u306ewsl\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8](https://learn.microsoft.com/ja-jp/windows/wsl/install#install-wsl-command)\r\n\r\nPowerShell\u307e\u305f\u306f\u30b3\u30de\u30f3\u30c9\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u7ba1\u7406\u8005\u30e2\u30fc\u30c9\u3067\u958b\u304d\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3002\r\n```\r\nwsl --install\r\n```\r\n\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5f8c\u3001\u30e1\u30c3\u30bb\u30fc\u30b8\u306b\u5f93\u3063\u3066PC\u306e\u518d\u8d77\u52d5\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002\r\n\r\n\r\n\u518d\u8d77\u52d5\u3059\u308b\u3068\u3001\u30e6\u30fc\u30b6\u540d\u306e\u8a2d\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\r\n\u8a2d\u5b9a\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u69d8\u306bUbuntu\u306b\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u307e\u3059\u3002\r\n```\r\n\u30e6\u30fc\u30b6\u540d@DESKTOP-PJH30LR:\r\n```\r\n\r\n\u5fc5\u8981\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u3057\u307e\u3059\u3002\r\n```\r\n$ sudo apt update\r\n$ sudo apt upgrade\r\n$ sudo apt install install make automake autoconf autotools-dev m4 mecab libmecab-dev mecab-ipadic-utf8 git make curl xz-utils file unzip\r\n```\r\n\r\nmecab-ipadic-NEologd\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n```\r\n# \u8f9e\u66f8\u5143\u306b\u306a\u308b\u30c7\u30fc\u30bf\u3092 GitHub \u304b\u3089\u30af\u30ed\u30fc\u30f3\r\n$ git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git\r\n\r\n# \u30af\u30ed\u30fc\u30f3\u5148\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u306b\u79fb\u52d5\r\n$ cd mecab-ipadic-neologd\r\n\r\n# \u8f9e\u66f8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n$ ./bin/install-mecab-ipadic-neologd -n -y\r\n```\r\n\r\n\u8f9e\u66f8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u30d1\u30b9\u306e\u78ba\u8a8d\r\n```\r\n$ echo `mecab-config --dicdir`\"/mecab-ipadic-neologd\"\r\n```\r\n\r\nwindow\u306e\u4efb\u610f\u306e\u30c9\u30e9\u30a4\u30d6\u306b\u8f9e\u66f8\u3092\u30b3\u30d4\u30fc\u3059\u308b\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u65b0\u3057\u304f\u4f5c\u308a\u307e\u3059\u3002\r\n\u30a8\u30af\u30b9\u30d7\u30ed\u30fc\u30e9\u3067\u3082\u30b3\u30de\u30f3\u30c9\u3067\u3082\u3069\u3061\u3089\u3067\u3082\u69cb\u3044\u307e\u305b\u3093\u3002\r\n\r\n\u4f8b\u3067\u30b3\u30de\u30f3\u30c9\u3067window\u306eC\u30c9\u30e9\u30a4\u30d6\u306b dicmecab-ipadic-neologd \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u65b0\u3057\u304f\u4f5c\u308a\u307e\u3059\u3002\r\n\r\n> **/mnt/c** \u306fWindows\u306eC\u30c9\u30e9\u30a4\u30d6\u3092\u8868\u3057\u307e\u3059\r\n```\r\n$ mkdir /mnt/c/dicmecab-ipadic-neologd\r\n```\r\n\r\n\u5148\u307b\u3069\u4f5c\u3063\u305fwindow\u306eC\u30c9\u30e9\u30a4\u30d6\u306e dicmecab-ipadic-neologd \u306b\u8f9e\u66f8\u3092\u30b3\u30d4\u30fc\u3057\u307e\u3059\u3002\r\n> /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/ \u306f\u8f9e\u66f8\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5148\u306e\u5834\u6240\u3092\u78ba\u8a8d\u3057\u3066\u51fa\u3066\u304d\u305f\u30d1\u30b9\u306b\u306a\u308a\u307e\u3059\u3002\r\n```\r\n$ cp /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd/* /mnt/c/dicmecab-ipadic-neologd\r\n```\r\n\r\n\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3067 Ubuntu \u3092\u629c\u3051\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\r\n```\r\nexit\r\n```\r\n\r\n\r\n### rubihuri\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\r\n\r\n```bash\r\npip install rubihuri\r\n```\r\n\r\n## \u4f7f\u3044\u65b9\r\n\r\n### \u57fa\u672c\u7684\u306a\u4f7f\u7528\u65b9\u6cd5\r\n```py\r\nfrom rubihuri import Rubihuri\r\n\r\n# mecab-unidic-NEologd\u8f9e\u66f8\u3092\u4f7f\u7528\u3057\u3066Rubihuri\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\r\nrubihuri = Rubihuri(dic_path=\"path/to/mecab-ipadic-neologd\")  # \u30d1\u30b9\u306f\u74b0\u5883\u306b\u3088\u3063\u3066\u7570\u306a\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\r\n\r\n# \u30c6\u30b9\u30c8\u7528\u306e\u30c6\u30ad\u30b9\u30c8\r\ntext = \"\u4eca\u65e5\u306e\u5929\u6c17\u306f\u6674\u308c\u306e\u3061\u96e8\u3067\u3057\u305f\u3002\"\r\n\r\n# \u3072\u3089\u304c\u306a\u3067\u8aad\u307f\u3092\u4ed8\u4e0e\r\nresult = rubihuri.yomi_hiragana(text)\r\nprint(result)  # {\u4eca\u65e5\u306e\u5929\u6c17<\u304d\u3087\u3046\u306e\u3066\u3093\u304d>}\u306f{\u6674\u308c<\u306f\u308c>}\u306e\u3061{\u96e8<\u3042\u3081>}\u3067\u3057\u305f\r\n\r\n# \u30ab\u30bf\u30ab\u30ca\u3067\u8aad\u307f\u3092\u4ed8\u4e0e\r\nresult = rubihuri.yomi_katakana(text)\r\nprint(result)  # {\u4eca\u65e5\u306e\u5929\u6c17<\u30ad\u30e7\u30a6\u30ce\u30c6\u30f3\u30ad>}\u306f{\u6674\u308c<\u30cf\u30ec>}\u306e\u3061{\u96e8<\u30a2\u30e1>}\u3067\u3057\u305f\r\n\r\n# \u3072\u3089\u304c\u306a\u3067\u767a\u97f3\u3092\u4ed8\u4e0e\r\nresult = rubihuri.hatuon_hiragana(text)\r\nprint(result)  # {\u4eca\u65e5\u306e\u5929\u6c17<\u304d\u3087\u30fc\u306e\u3066\u3093\u304d>}\u306f{\u6674\u308c<\u306f\u308c>}\u306e\u3061{\u96e8<\u3042\u3081>}\u3067\u3057\u305f\r\n\r\n# \u30ab\u30bf\u30ab\u30ca\u3067\u767a\u97f3\u3092\u4ed8\u4e0e\r\nresult = rubihuri.hatuon_katakana(text)\r\nprint(result)  # {\u4eca\u65e5\u306e\u5929\u6c17<\u30ad\u30e7\u30fc\u30ce\u30c6\u30f3\u30ad>}\u306f{\u6674\u308c<\u30cf\u30ec>}\u306e\u3061{\u96e8<\u30a2\u30e1>}\u3067\u3057\u305f\r\n```\r\n\r\n### \u30ab\u30b9\u30bf\u30e0\u8a2d\u5b9a\r\n\r\n```py\r\nfrom rubihuri import Rubihuri\r\n\r\nrubihuri1 = Rubihuri(\r\n    dic_path=\"path/to/mecab-ipadic-neologd\",  # \u8f9e\u66f8\u30d1\u30b9\r\n    left_brace=\"\",      # \u6f22\u5b57\u3092\u56f2\u3080\u5de6\u62ec\u5f27\r\n    right_brace=\"\",     # \u6f22\u5b57\u3092\u56f2\u3080\u53f3\u62ec\u5f27\r\n    left_delimiter=\"(\",  # \u8aad\u307f/\u767a\u97f3\u3092\u56f2\u3080\u5de6\u8a18\u53f7\r\n    right_delimiter=\")\"  # \u8aad\u307f/\u767a\u97f3\u3092\u56f2\u3080\u53f3\u8a18\u53f7\r\n)\r\n\r\ntext = \"\u4eca\u65e5\u306e\u5929\u6c17\u306f\u6674\u308c\u306e\u3061\u96e8\u3067\u3057\u305f\u3002\"\r\nresult = rubihuri1.yomi_hiragana(text)\r\nprint(result)  # \u4eca\u65e5\u306e\u5929\u6c17(\u304d\u3087\u3046\u306e\u3066\u3093\u304d)\u306f\u6674\u308c(\u306f\u308c)\u306e\u3061\u96e8(\u3042\u3081)\u3067\u3057\u305f\u3002\r\n```\r\n\r\n## \u30e9\u30a4\u30bb\u30f3\u30b9\r\n\r\n\u3053\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u30e9\u30a4\u30bb\u30f3\u30b9\u306fMIT License\u3067\u3059\u3002\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A library for adding readings and pronunciations to Kanji, numbers and alphabets",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://github.com/massao000/rubihuri",
        "Repository": "https://github.com/massao000/rubihuri"
    },
    "split_keywords": [
        "ruby",
        " rubihuri",
        " furigana",
        " kanji",
        " reading",
        " pronunciation",
        " converter",
        " japanese",
        " reading-helper"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c271b06d8c52f01ffb5aaecb56503499a0377a915db79d1ede4db97037607ea3",
                "md5": "43f158af1a40426d1a824658f5a1a35a",
                "sha256": "9e1d393db82dd70fd16470220541958c32e15ea302922b6da390d092cf8cf078"
            },
            "downloads": -1,
            "filename": "rubihuri-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "43f158af1a40426d1a824658f5a1a35a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 5728,
            "upload_time": "2025-02-10T15:02:44",
            "upload_time_iso_8601": "2025-02-10T15:02:44.523450Z",
            "url": "https://files.pythonhosted.org/packages/c2/71/b06d8c52f01ffb5aaecb56503499a0377a915db79d1ede4db97037607ea3/rubihuri-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5a80da3260cf7ac2ca82e78bcf14a8d0ec7e9afe4829cabd87a01e14972398e3",
                "md5": "e4a0a12d3d74f72e118b4be23faeb747",
                "sha256": "9941463b6da34bb68ea8bf691158bf769e6cabf055addcb1d3e33b266d580e6c"
            },
            "downloads": -1,
            "filename": "rubihuri-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "e4a0a12d3d74f72e118b4be23faeb747",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 5469,
            "upload_time": "2025-02-10T15:02:45",
            "upload_time_iso_8601": "2025-02-10T15:02:45.852644Z",
            "url": "https://files.pythonhosted.org/packages/5a/80/da3260cf7ac2ca82e78bcf14a8d0ec7e9afe4829cabd87a01e14972398e3/rubihuri-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-10 15:02:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "massao000",
    "github_project": "rubihuri",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "rubihuri"
}
        
Elapsed time: 0.53009s