chanoma is Characters Normalization library.文字列正規化処理用のライブラリです。
Project description
chanoma
chanoma is Characters Normalization library. 文字列正規化処理用のライブラリです。
Rust 版 の Python バインディングです。
使い方
from chanoma import Chanoma
def main():
chanoma = Chanoma(preset=True)
print(chanoma.normalize("ハンカクカナは全角カタカナに変換されます"))
if __name__ == '__main__':
main()
インストール
pip install chanoma
設定ファイル
chanoma は設定ファイルを配置することで、結果を調整することが可能です。 設定ファイルを読み込ませるための方法は二種類あります。
- 環境変数
CHANOMARC
に設定ファイルのパスを指定する。 - 以下のパスのうちのどこかにファイルを配置する。
$HOME/.config/chanoma/chanomarc.{ext}
$HOME/.config/chanoma/.chanomarc.{ext}
$HOME/chanomarc.{ext}
$HOME/.chanomarc.{ext}
$PWD/chanomarc.{ext}
$PWD/.chanomarc.{ext}
上記のどちらの場合でも、.{ext}
に指定可能な拡張子は .csv
, .yaml
(.yml
) のどれかです。
CSV ファイルの場合のフォーマット
CSV ファイルでは、一文字から一文字の置換のみ設定が可能です。 最初の列に 置換したい文字、次の列に 置換後の文字 を記述します。
from,to
&,&
YAML ファイルの場合のフォーマット
Yaml ファイルでは、一文字から一文字の置換と、Modifier を指定する二種類の方法があります。
一文字から一文字の置換
ルートキーに items
を記述し、配列指定で from
キーの値に 置換したい文字、to
キーの値に 置換後の文字 を記述します。
items:
- from: "a"
to: "A"
Modifier を指定する
ルートキーに modifiers
を記述し、一段インデントして Modifier をキーとして記述します。
指定できる Modifire は以下です。
character_converter
: 一文字から一文字の置換を設定します。キーに 置換したい文字、値に 置換後の文字 を記述します。(items
と同様の処理になります。)character_eliminator
: 指定した文字を削除します。consecutive_character_reducer
: 指定した連続する同じ文字を一つにします。dotted_space_eliminator
: 『「半角英数字」と「半角英数字」の間の半角スペース』以外の半角スペースを削除します。ligature_translator
: 指定した合字をくっつけて一文字にします。trim
: 先頭と末尾の半角スペースを削除します。neologdn
: neologdn と同様の結果になる処理をします。
modifiers:
character_converter:
a: A
b: B
character_eliminator: ["~", ∼, ∾, 〜, 〰, ~]
consecutive_character_reducer: ー
dotted_space_eliminator:
ligature_translator:
ハ゜: パ
trim:
neologdn:
Development
docker-compose build chanoma
docker-compose run --rm chanoma bash
cd /app/bindings/python3
python3 ./setup.py develop
./run-test.sh
Build
docker-compose run --rm build-wheels-for-python ./build-wheels.sh
Publish
docker-compose run --rm chanoma ./bindings/python3/publish_to_pypi.sh
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file chanoma-0.1.1.tar.gz
.
File metadata
- Download URL: chanoma-0.1.1.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bdd5ba548ced687236860100c58b4b103e15df04072c57cb4ae21769811fe30 |
|
MD5 | 23effe5902d0b107789f9c9fab9c5149 |
|
BLAKE2b-256 | b26378b4eea435d208291a8c9f8ee140ad7ce0dd8d18f6a15517014bd2be7aaf |
File details
Details for the file chanoma-0.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: chanoma-0.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e1a5343eef02b2886e51d288087be86acbeb3f0126a793537d2dcfff87a07b8 |
|
MD5 | 5812eaa68733c5c1f1eb472d43f8bb30 |
|
BLAKE2b-256 | 3c86d47a941cec720ad20778a7a6838ddc8145fe6a516588093ba7402c250c75 |
File details
Details for the file chanoma-0.1.1-cp39-cp39-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: chanoma-0.1.1-cp39-cp39-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.9, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3362775989299e20ecc296a23366d60dfdf84ba49358a4c77e56d8c61b4d5b3a |
|
MD5 | ae777dd02c46d16c30b1b81d8b226142 |
|
BLAKE2b-256 | 302e3c17f53db9c8d4ec460920ec6117146cd2e081c0d19e1caffd3659e712d9 |
File details
Details for the file chanoma-0.1.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: chanoma-0.1.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.8, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34e07b09deffe7195a3099d6d1ff03fd9c3e67ac0e78e674c8520e4c87630010 |
|
MD5 | 1ed98fea3651992a6eb699e39b7604f6 |
|
BLAKE2b-256 | 25efd35a3fe0871b46f03f2b92a6dae454b50ce5ac726d2e93b4facbc3ec440b |
File details
Details for the file chanoma-0.1.1-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: chanoma-0.1.1-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.2 MB
- Tags: CPython 3.7m, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01cadc4500faaf36ba05ea0ec097a4cea0d7a1da2d4b2fb9dbd2bf974dd3956b |
|
MD5 | 94d54acadcac6b0716ca36f3d463f55d |
|
BLAKE2b-256 | 569e94107f829bd0d5c7ba684e01b61310919196c1b0e59a1e2d07b3fca0f9ca |