Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chanoma-0.1.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distributions

chanoma-0.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

chanoma-0.1.1-cp39-cp39-manylinux_2_28_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

chanoma-0.1.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

chanoma-0.1.1-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

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

Hashes for chanoma-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0bdd5ba548ced687236860100c58b4b103e15df04072c57cb4ae21769811fe30
MD5 23effe5902d0b107789f9c9fab9c5149
BLAKE2b-256 b26378b4eea435d208291a8c9f8ee140ad7ce0dd8d18f6a15517014bd2be7aaf

See more details on using hashes here.

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

File hashes

Hashes for chanoma-0.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6e1a5343eef02b2886e51d288087be86acbeb3f0126a793537d2dcfff87a07b8
MD5 5812eaa68733c5c1f1eb472d43f8bb30
BLAKE2b-256 3c86d47a941cec720ad20778a7a6838ddc8145fe6a516588093ba7402c250c75

See more details on using hashes here.

File details

Details for the file chanoma-0.1.1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for chanoma-0.1.1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3362775989299e20ecc296a23366d60dfdf84ba49358a4c77e56d8c61b4d5b3a
MD5 ae777dd02c46d16c30b1b81d8b226142
BLAKE2b-256 302e3c17f53db9c8d4ec460920ec6117146cd2e081c0d19e1caffd3659e712d9

See more details on using hashes here.

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

File hashes

Hashes for chanoma-0.1.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 34e07b09deffe7195a3099d6d1ff03fd9c3e67ac0e78e674c8520e4c87630010
MD5 1ed98fea3651992a6eb699e39b7604f6
BLAKE2b-256 25efd35a3fe0871b46f03f2b92a6dae454b50ce5ac726d2e93b4facbc3ec440b

See more details on using hashes here.

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

File hashes

Hashes for chanoma-0.1.1-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 01cadc4500faaf36ba05ea0ec097a4cea0d7a1da2d4b2fb9dbd2bf974dd3956b
MD5 94d54acadcac6b0716ca36f3d463f55d
BLAKE2b-256 569e94107f829bd0d5c7ba684e01b61310919196c1b0e59a1e2d07b3fca0f9ca

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page