Skip to main content

A high-performance matcher designed to solve LOGICAL and TEXT VARIATIONS problems in word matching, implemented in Rust.

Project description

Matcher Rust Implementation with PyO3 Binding

PyPI - Version PyPI - Python Version PyPI - License

A high-performance matcher designed to solve LOGICAL and TEXT VARIATIONS problems in word matching, implemented in Rust with PyO3 bindings.

For detailed implementation, see the Design Document.

Features

  • Multiple Matching Methods:
    • Simple Word Matching
    • Regex-Based Matching
    • Similarity-Based Matching
  • Text Normalization:
    • Fanjian: Simplify traditional Chinese characters to simplified ones. Example: 蟲艸 -> 虫艹
    • Delete: Remove specific characters. Example: *Fu&*iii&^%%*&kkkk -> Fuiiikkkk
    • Normalize: Normalize special characters to identifiable characters. Example: 𝜢𝕰𝕃𝙻𝝧 𝙒ⓞᵣℒ𝒟! -> hello world!
    • PinYin: Convert Chinese characters to Pinyin for fuzzy matching. Example: 西安 -> xi an, matches 洗按 -> xi an, but not -> xian
    • PinYinChar: Convert Chinese characters to Pinyin. Example: 西安 -> xian, matches 洗按 and -> xian
  • AND OR NOT Word Matching:
    • Takes into account the number of repetitions of words.
    • Example: hello&world matches hello world and world,hello
    • Example: 无&法&无&天 matches 无无法天 (because is repeated twice), but not 无法天
    • Example: hello~helloo~hhello matches hello but not helloo and hhello
  • Customizable Exemption Lists: Exclude specific words from matching.
  • Efficient Handling of Large Word Lists: Optimized for performance.

Installation

Use pip

pip install matcher_py

Install pre-built binary

Visit the release page to download the pre-built binary.

Build from source

You need to have rust and maturin installed.

# Clone the repository
git clone https://github.com/Lips7/Matcher.git
cd Matcher/matcher_py

# Install maturin
pip install maturin

# Build and install the package
maturin develop --release

Usage

All relevant types are defined in extension_types.py.

Text Process Usage

Here’s an example of how to use the reduce_text_process and text_process functions:

from matcher_py import reduce_text_process, text_process
from matcher_py.extension_types import ProcessType

# Combine and reduce multiple transformations
print(reduce_text_process(ProcessType.MatchDeleteNormalize, "hello, world!"))
# Perform a single transformation
print(text_process(ProcessType.MatchDelete, "hello, world!"))

Matcher Basic Usage

Here’s an example of how to use the Matcher:

import json

from matcher_py import Matcher
from matcher_py.extension_types import MatchTable, MatchTableType, ProcessType, RegexMatchType, SimMatchType

matcher = Matcher(
    json.dumps({
        1: [
            MatchTable(
                table_id=1,
                match_table_type=MatchTableType.Simple(process_type=ProcessType.MatchFanjianDeleteNormalize),
                word_list=["hello", "world"],
                exemption_process_type=ProcessType.MatchNone,
                exemption_word_list=["word"],
            ),
            MatchTable(
                table_id=2,
                match_table_type=MatchTableType.Regex(
                    process_type=ProcessType.MatchFanjianDeleteNormalize,
                    regex_match_type=RegexMatchType.MatchRegex
                ),
                word_list=["h[aeiou]llo"],
                exemption_process_type=ProcessType.MatchNone,
                exemption_word_list=[],
            )
        ],
        2: [
            MatchTable(
                table_id=3,
                match_table_type=MatchTableType.Similar(
                    process_type=ProcessType.MatchFanjianDeleteNormalize,
                    sim_match_type=SimMatchType.MatchLevenshtein,
                    threshold=0.5
                ),
                word_list=["halxo"],
                exemption_process_type=ProcessType.MatchNone,
                exemption_word_list=[],
            )
        ]
    }).encode()
)
# Check if a text matches
assert matcher.is_match("hello")
assert not matcher.is_match("word")

# Perform process as a list
result = matcher.process("hello")
print(result)

# Perform word matching as a dict
match_result = matcher.word_match(r"hello, world")
print(match_result)

# Perform word matching as a string
result_str = matcher.word_match_as_string("hello")
print(result_str)

Simple Matcher Basic Usage

Here’s an example of how to use the SimpleMatcher:

import json

from matcher_py import SimpleMatcher
from matcher_py.extension_types import ProcessType

simple_matcher = SimpleMatcher(
    json.dumps(
        {
            ProcessType.MatchNone: {
                1: "hello&world",
                2: "word&word~hello"
            },
            ProcessType.MatchDelete: {
                3: "hallo"
            }
        }
    ).encode()
)
# Check if a text matches
assert simple_matcher.is_match("hello^&!#*#&!^#*()world")
# Perform simple processing
result = simple_matcher.process("hello,world,word,word,hallo")
print(result)

Explanation of the configuration

  • Matcher's configuration is defined by the MatchTableMap = Dict[int, List[MatchTable]] type, the key of MatchTableMap is called match_id, for each match_id, the table_id inside is required to be unique.
  • SimpleMatcher's configuration is defined by the SimpleTable = Dict[ProcessType, Dict[int, str]] type, the value Dict[int, str]'s key is called word_id, word_id is required to be globally unique.

MatchTable

  • table_id: The unique ID of the match table.
  • match_table_type: The type of the match table.
  • word_list: The word list of the match table.
  • exemption_process_type: The type of the exemption simple match.
  • exemption_word_list: The exemption word list of the match table.

For each match table, word matching is performed over the word_list, and exemption word matching is performed over the exemption_word_list. If the exemption word matching result is True, the word matching result will be False.

MatchTableType

  • Simple: Supports simple multiple patterns matching with text normalization defined by process_type.
    • It can handle combination patterns and repeated times sensitive matching, delimited by & and ~, such as hello&world&hello will match hellohelloworld and worldhellohello, but not helloworld due to the repeated times of hello.
  • Regex: Supports regex patterns matching.
    • SimilarChar: Supports similar character matching using regex.
      • ["hello,hallo,hollo,hi", "word,world,wrd,🌍", "!,?,~"] will match helloworld!, hollowrd?, hi🌍~ ··· any combinations of the words split by , in the list.
    • Acrostic: Supports acrostic matching using regex (currently only supports Chinese and simple English sentences).
      • ["h,e,l,l,o", "你,好"] will match hope, endures, love, lasts, onward. and 你的笑容温暖, 好心情常伴。.
    • Regex: Supports regex matching.
      • ["h[aeiou]llo", "w[aeiou]rd"] will match hello, world, hillo, wurld ··· any text that matches the regex in the list.
  • Similar: Supports similar text matching based on distance and threshold.
    • Levenshtein: Supports similar text matching based on Levenshtein distance.

ProcessType

  • None: No transformation.
  • Fanjian: Traditional Chinese to simplified Chinese transformation. Based on FANJIAN.
    • 妳好 -> 你好
    • 現⾝ -> 现身
  • Delete: Delete all punctuation, special characters and white spaces. Based on TEXT_DELETE and WHITE_SPACE.
    • hello, world! -> helloworld
    • 《你∷好》 -> 你好
  • Normalize: Normalize all English character variations and number variations to basic characters. Based on NORM and NUM_NORM.
    • ℋЀ⒈㈠Õ -> he11o
    • ⒈Ƨ㊂ -> 123
  • PinYin: Convert all unicode Chinese characters to pinyin with boundaries. Based on PINYIN.
    • 你好 -> ni hao
    • 西安 -> xi an
  • PinYinChar: Convert all unicode Chinese characters to pinyin without boundaries. Based on PINYIN.
    • 你好 -> nihao
    • 西安 -> xian

You can combine these transformations as needed. Pre-defined combinations like DeleteNormalize and FanjianDeleteNormalize are provided for convenience.

Avoid combining PinYin and PinYinChar due to that PinYin is a more limited version of PinYinChar, in some cases like xian, can be treat as two words xi and an, or only one word xian.

Contributing

Contributions to matcher_py are welcome! If you find a bug or have a feature request, please open an issue on the GitHub repository. If you would like to contribute code, please fork the repository and submit a pull request.

License

matcher_py is licensed under the MIT OR Apache-2.0 license.

More Information

For more details, visit the GitHub repository.

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

matcher_py-0.9.0.tar.gz (331.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

matcher_py-0.9.0-cp313-cp313-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.13Windows x86-64

matcher_py-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

matcher_py-0.9.0-cp313-cp313-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

matcher_py-0.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

matcher_py-0.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

matcher_py-0.9.0-cp313-cp313-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

matcher_py-0.9.0-cp312-cp312-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.12Windows x86-64

matcher_py-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

matcher_py-0.9.0-cp312-cp312-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

matcher_py-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

matcher_py-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

matcher_py-0.9.0-cp312-cp312-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

matcher_py-0.9.0-cp311-cp311-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.11Windows x86-64

matcher_py-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

matcher_py-0.9.0-cp311-cp311-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

matcher_py-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

matcher_py-0.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

matcher_py-0.9.0-cp311-cp311-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

matcher_py-0.9.0-cp310-cp310-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.10Windows x86-64

matcher_py-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

matcher_py-0.9.0-cp310-cp310-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

matcher_py-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

matcher_py-0.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

matcher_py-0.9.0-cp310-cp310-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

matcher_py-0.9.0-cp39-cp39-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.9Windows x86-64

matcher_py-0.9.0-cp39-cp39-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

matcher_py-0.9.0-cp39-cp39-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

matcher_py-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

matcher_py-0.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

matcher_py-0.9.0-cp39-cp39-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

matcher_py-0.9.0-cp38-cp38-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.8Windows x86-64

matcher_py-0.9.0-cp38-cp38-musllinux_1_2_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

matcher_py-0.9.0-cp38-cp38-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

matcher_py-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

matcher_py-0.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

matcher_py-0.9.0-cp38-cp38-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file matcher_py-0.9.0.tar.gz.

File metadata

  • Download URL: matcher_py-0.9.0.tar.gz
  • Upload date:
  • Size: 331.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for matcher_py-0.9.0.tar.gz
Algorithm Hash digest
SHA256 06d267cd0d5d0f487810d4f95cd6b6b2c1a232314dcc68a843954ef90d26c260
MD5 1182cb21eb99decb572a5572e7e6002d
BLAKE2b-256 5d72d9adb6d39e7f15a9355bedfaadd6e5fa5524676c3babdbbf91c3812fb7bc

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: matcher_py-0.9.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for matcher_py-0.9.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9bce07e792ea2ff456d25f4f46710bffdc7e4f10eb52d5501812243652378dcc
MD5 9c10509f0d5de1c9d9a304abd180e6c6
BLAKE2b-256 d202a18476b07e2415213a8fd820be39b0391f3d6207130a4953311b87394aad

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9815a6705b811e58c811839ffff50efb902da166e2569cafc234118a74da76ae
MD5 4711a6794c8b5764d8a92003fa28e4d9
BLAKE2b-256 b85822e8f90ce0e79898654fc3f30592352a5ce03507b5f158844bf5438d1c3a

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 15f390313bbdcecdf35dc3b34b70195e6b3535bb1cb61c772c7c62d89bac87bd
MD5 c127823987a77761e22dcebf37ff1044
BLAKE2b-256 4aef2d43c1a4f2a4144abd20347f03854d1ef2f6cada92ca7ee63c043249716a

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f4136af559ac422eb2a8b86fcf54d6b523e2deae5e8d004bb71df271b26ffaa
MD5 1860811edab11b2b209c89d17f71b721
BLAKE2b-256 7fc7a314bf70c23ece18a042e5889add7ebe99100335b96ce22896a611c48246

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 472e7f0056ede8082c4205abd86dcea3a20a5d531f149dc090cfb5ea8e574e81
MD5 2b06c5ad3527e0836117f461ee0bf308
BLAKE2b-256 edfea5511564edb8da5a8396b065bec8c851354fed69b0d3a9afaaf3ff939e5b

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3583ec02658d9eb8f310d1b535013214999c7d0d7be1cb75ba9e5608580e2e86
MD5 ed3615a8777da16c4c6e08810e2f442a
BLAKE2b-256 3b9e7245838810dc35df0dbb0e817689d16c094b3d2b280a9a97525887dcfd14

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: matcher_py-0.9.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for matcher_py-0.9.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 51455476ea732c0bc33e9b2fed670f6d2c90e8d47ae58dd5bb1356ce2f7580cc
MD5 fd6225b66b53992da0a561a6f0322ef9
BLAKE2b-256 3871e219877895b1568b2f0d6022b52b38362ef214be8aae80a9b789cb4eb481

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 aa7078245945df290b0730a85801f0200079136512d1b75650944880cc99fba6
MD5 40698e1a128cdf398c0069ceb95bbf68
BLAKE2b-256 f5bd69274a02938b1e20c607b68add08fab24f3b3ebab8d646c8458b1a8ccb2f

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c9746d1aa7efec995a8ce28027af546a72d74b4829e9d19492f727398221c3dd
MD5 794f76da216e59ca0de2ba035a163df7
BLAKE2b-256 13002dcf29fdad339ba324212e222ea5f9e94d0b255c825c109006eab948e4ed

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3800acc56c00c7b259cac7bfd3d0ac2c29ee46da6138fdcef1825682b3b63605
MD5 762ddeafcf5a7cc6c7a435320a357229
BLAKE2b-256 f9e1f408b8e8814134ef83bc96feb4a2f471844d18e2d9b784b9804adf626a50

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f6ebfe38755b22449301f9341eaf138ec740b18d576d765946430a944da08666
MD5 ceefc6be9ba7511f719ccd42cd2b04a9
BLAKE2b-256 42a5bda91d367db3eee36b9c4cf3cbeee39ab68d80b12caf743f3faac187367b

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1a6438859a57ef5c2cd0c0f72afde94309e6b8b72c13abc673f3a41dd7781fbf
MD5 dbc47bd37624562e3bebd83710685b71
BLAKE2b-256 83891e5bb74d3f7b7d6a826cb2ffb45251620c137979bd253659500eb3c522e1

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: matcher_py-0.9.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for matcher_py-0.9.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0e8f19b71379c09202e3a3febcfb775756d39a8135d43b0e1174679450779f93
MD5 713f72466b60688ab3fc8fcbde297b98
BLAKE2b-256 bdab19b3e6d27063c84866801d5c754f777867101f4df34136b48afc6bca032d

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bcc8fdebc7fdcdd6b8bca83a1e10567756146c6293d3ac6ae311c58175e3da92
MD5 0348c26298cde07acd2d28c5a8ac23a5
BLAKE2b-256 12cf6ae6ecfaa96e43a3c0158aac7364941ab3396181b489c9d79da128faa81e

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1555c184705a6f3e282de1e44c9d51007d54f33df42ff3987c66816e5793c660
MD5 f7fe7df52e189dba89ef17d10d26fd8d
BLAKE2b-256 ace3191aca249512a0d7b8a0698d40756ab15c0530b9621c1fc1bd7809078610

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ac316e59038569259c69f7339405d80e22dd4b8687ef763e10b9c9cd78844d3
MD5 9c2cb380648c00ca1a4eafed4759fa81
BLAKE2b-256 bee7ff84e36a7ddf7459ff0551401a028a62dc654447233452b425463df269d1

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cd6a31c30932ed69833806c6733863b2e6a97bcc57eb41420a0572b65f7a57b7
MD5 b7fc93b2ddebb590a92d1a49b9c156c9
BLAKE2b-256 08bfaf845b2504ceb2d6400daf91d157b44b4719adc5140e2757b5356061e597

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 472a753fb0e2c1454755172759016345ba3d618fdfa25d21e8d51357cf25c20b
MD5 70f0389cb5b70edb3a1cffa40a2dd65e
BLAKE2b-256 ec284cf6a61f25eec7740ed0a968fcaf7e741f0aec8393bc739f1e9be8d17c21

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: matcher_py-0.9.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for matcher_py-0.9.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a000c633e4fb6b3c8de30784f7f44d775a39a4a3f96c22e64b1d574dcb8306e6
MD5 d5131aed1542469f6c324bab48cd0384
BLAKE2b-256 241ee1cfd4802302b0ff81767a2166fbf2d34dd90c47b6cc97761c5901d735fe

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3f20f262cb8ff4e0ddef59ccac512de52901f766970082afa858f6be294099ce
MD5 8a74b549ffe38b3630c8764ac4fa62ef
BLAKE2b-256 39918bdce156582c3fc2efdfc8ad009930ddc48cd5c9bfb5d43c7968b79b8711

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7101d57fd00dab5dbc5f45f03b2697425924c2e73c3ca63978d82f0bb5741c34
MD5 fa809f8a28d3d11f605f9432bbdf90bd
BLAKE2b-256 a37841e15068e90522d259688693a0b13eff7ed48a6cc384b18ec0d76aff2bf2

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64c750fda19b8cebd3abeecf3388aef0d4dbf6ace386e684b1eee2abdb32f955
MD5 17593d91fc0de2d380a98f1e6573d97a
BLAKE2b-256 67de58a414abb78736af7556dfb569722cd2c24a49c842907d947c679b0b4bc9

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 01020a2c600f605c22967a19b322badf56ea44c96fbb7e51d8548e24daf56abc
MD5 4b51e5846c90e1c62bb4b0a28e74e7e3
BLAKE2b-256 7b3eb099670c9d17d918259aaa079a89516326f22f80c356150bd50903f7d131

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9f5ad8874c2fb8affb85e61e7e220d100fd9842679e68192c313f9199e8abc70
MD5 dcc17125551b6000c4168e0b7bd1c1af
BLAKE2b-256 a9dd6d180c1c8419eeef61a733f15186db371ccb54ab56799b9251366524db93

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: matcher_py-0.9.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for matcher_py-0.9.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 fc090ac7df8a4993ee0dae60ea933e3ec0187b600d9929ec359504991aee4a9e
MD5 8e3fc57a60bc8801932606857ae78479
BLAKE2b-256 b10d23a797993700f1a4a6b4b94f1c5d60c0dbed2aec313d93a426c24b101abb

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6ead4e28e27ee6f9d043fbe08eee65b2f677bbd8a846fe803ba52d9b0680f453
MD5 d366b31410953af36b2dcafd708704e1
BLAKE2b-256 38693bf763728c220a1d0c92d115381af52a431b74a8920dd8dfdc97ed5db852

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b38b361e44f90ea0b9ab72a4f81448a7c76b76635738a43445bfeee662c0cf54
MD5 2fc97ad8b4f92b98493461db25e74bbe
BLAKE2b-256 d8c988d8011ca1815250647a1fd918555b3a57a561af3da5eb63a7299385c8c2

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef21944681cd8b760ecd99efc2621cf5f5c1ef8ca0eaca86aacd828e7a3d107f
MD5 8a1d6363ea8ac6d37bf539ae1a89c8b6
BLAKE2b-256 dc3a0911f114b574f8f56c46513c72c1328a060bfd070e0a002c2c792d5e00e4

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dce3c984a93ad7dd69ddb7d267ae3be866295d26421931fcd070c8a95a51c8ec
MD5 cd939621d2cb4e5604c8dbf224c2001a
BLAKE2b-256 95652f1ed36076ef92d18259a1fb911341765d07c32505656ebabbe9f000d5cc

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52553de8f64610c2edbcc07ca71fe541c1d01c36bfff4befc84725055764c768
MD5 3d805efc804d60f2e499dea40720a4d4
BLAKE2b-256 b59c3927731ab68ea30701eee62bf07e33cad26779b88af35ad8812a995e2ae2

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: matcher_py-0.9.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for matcher_py-0.9.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 3c4b0ce9ee800c9b68922d398fd20f673b58c56786230b028ab88ab4efefda78
MD5 63a747e13c093b12daf7018160138474
BLAKE2b-256 401924b372dde7dff2ae9c4b99bb7179faaf52bfbb5853b179f9a44574ad1974

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fc7a0ea93e83a94d817c7511ed925c61ad00857336a0ad4c9e37f28e3134f64e
MD5 fdf97be5d46d6078d9b55443082a3066
BLAKE2b-256 9ee3e80f44f75e0f6497a4e654a710a6b9ed600fe7cca6677f942cdda6b21be8

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9b3bae60466d029351ae2191828c8ad0e2fe5df31892b30a33060c672d692eef
MD5 ac2763155989f90530a1684844c02925
BLAKE2b-256 fd8465ed164e5fd9f443468646ed78bff2f53eac38a465a1d5f3b9c96fe88d08

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 909cae772afc988ed0a4592e3b43944d28d4e0b557b76fe739a11bef61627c07
MD5 25853137e22eeb3c607c2073b67a9266
BLAKE2b-256 042787d4ec52afadb58f940dd96a0e76762d4094f1277acaa19b433f682e9e0a

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ea4ac5a5946928cd8e1f9cff4aff4f15dff81d58ae9495a7e13a4ad6a86cc2ea
MD5 08c01e7a046529119f1f3b48ca1f9e17
BLAKE2b-256 3e85bb50af882933d02db1d184dccd646776ec6c25cd2e7bc1aaa92ff84564e2

See more details on using hashes here.

File details

Details for the file matcher_py-0.9.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for matcher_py-0.9.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 77f4683fe00e5453cf09bcb5704b0409bd93c33a6768b880982c80664177cffa
MD5 41f24988ef59d801ce343a47ca4a0416
BLAKE2b-256 6abaa6f975b947080099bfc0527995e4c67b871cdc391a26cc2a1dd5e7adc7ab

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