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.8.0.tar.gz (328.5 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.8.0-cp313-cp313-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.13Windows x86-64

matcher_py-0.8.0-cp313-cp313-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

matcher_py-0.8.0-cp313-cp313-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

matcher_py-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

matcher_py-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

matcher_py-0.8.0-cp313-cp313-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

matcher_py-0.8.0-cp312-cp312-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.12Windows x86-64

matcher_py-0.8.0-cp312-cp312-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

matcher_py-0.8.0-cp312-cp312-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

matcher_py-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

matcher_py-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

matcher_py-0.8.0-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

matcher_py-0.8.0-cp311-cp311-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.11Windows x86-64

matcher_py-0.8.0-cp311-cp311-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

matcher_py-0.8.0-cp311-cp311-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

matcher_py-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

matcher_py-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

matcher_py-0.8.0-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

matcher_py-0.8.0-cp310-cp310-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.10Windows x86-64

matcher_py-0.8.0-cp310-cp310-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

matcher_py-0.8.0-cp310-cp310-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

matcher_py-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

matcher_py-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

matcher_py-0.8.0-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

matcher_py-0.8.0-cp39-cp39-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.9Windows x86-64

matcher_py-0.8.0-cp39-cp39-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

matcher_py-0.8.0-cp39-cp39-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

matcher_py-0.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

matcher_py-0.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

matcher_py-0.8.0-cp39-cp39-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

matcher_py-0.8.0-cp38-cp38-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.8Windows x86-64

matcher_py-0.8.0-cp38-cp38-musllinux_1_2_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

matcher_py-0.8.0-cp38-cp38-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

matcher_py-0.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

matcher_py-0.8.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

matcher_py-0.8.0-cp38-cp38-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: matcher_py-0.8.0.tar.gz
  • Upload date:
  • Size: 328.5 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.8.0.tar.gz
Algorithm Hash digest
SHA256 713a140f1fa17b35f2b83762b56a55b1f3a97c99ac5ffa81c3635050867eeab8
MD5 fc4fce6f1ea02679e08d0281ccc23ae5
BLAKE2b-256 c7ea37f68612ea827f3c8248e8b5865be72fd4b5ca514c7967e218da4f24371b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.8.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.8.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 91b05a78f9bbfc2d73efad1c18f5329dd743a7c1ceb10b1fc54c81a188292a74
MD5 d4eabae52739c085b39c63570ef11786
BLAKE2b-256 2a38638fb532171aae0250417150003dd660f339ac47284bdc32aef5f7021ec0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2141fe0dfd2c9c051e6e3c98690a6ddf9e5febee57827ce176f773d1d2b17c53
MD5 d7b0a116b79d2008c1cec15c88608c4d
BLAKE2b-256 9cbc97936099a3221e5c65e308ce72fb33427582071f4bca5b9dd942ec988763

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b4e3bda7c86e108df324929256234d522e7729a8ba6bf8aabe7bc3e74d9d3cd0
MD5 ee6fe992ba8cdb061cae4dedbe8f34fb
BLAKE2b-256 90c18ddb33f68378d97d2248db12b55da75fbbf8fa8e71b60f080ff2183a4abc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3db224e622623b8b397940b336671acbdc52d62407cd90ac1edc3be399aeb89f
MD5 63d9e08caebec8e7333af8f4b49af112
BLAKE2b-256 bf4eaf0212c65bad957a52f91538f29ae108d65fd332007aec14eb9f477f902a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b0371618c54df4480fafaddf82c6ffcf5a57aee68ce9a2edd5720cc6969b2ccf
MD5 25a413eb0f9797b647cfa4f7c0b7c9a4
BLAKE2b-256 60350d1289b532783c57656f86a813c19a0729a5e3a9a57d07c503422874a9bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 010c433d4a9f44f5ec6980456ac3856da558959fa69541374625e7f18f44c635
MD5 d7a85fe317affc36aaf70e5fc454203e
BLAKE2b-256 d71aa50d7cbe8f6797852a90237c944cedcbfd763a43b2d112e5e633361e0a2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.8.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.8.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 51228eb16451074b8ae6ab26d2ba32e8fe6359cbbc0edbbf027510bc8ccd2c4a
MD5 e62e20b55f7b93259236250825d4bd88
BLAKE2b-256 7394b20cc39c3f25681519a7466fe2d7c46e5413d67716f55af08dedd3ece8cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f68550085a2a741283d6bda04e0a3fb15c32ea33efca069e26584da26007bc83
MD5 a0c612b71760a3447915cca00621c0c5
BLAKE2b-256 574463765d81f3eb7ce748ee39429ea9a96fe297b2fce24a4cc12098f306ba05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8ad0bd55396a4937b47698b441050b7259a307b4562dab59cbf49833f0cef34a
MD5 a43b57f38762f00b18b3a20b2655dd08
BLAKE2b-256 ff84d085206eefde3e126a2828a2beea66979b74f2893c413541161d3545436c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9fb48e8851f2d899fc793e7e0edd2ba3c7c8ae9e2b366713693add3b1544cb8e
MD5 4b0f605a50073914da3f05b9678307eb
BLAKE2b-256 11313eb9f533ad574b604183382f6de4b01c819135bbfd738bf81161828398c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3627701e7a42da0443b8228ee8a4b6a1c120e3eeacc27e23df05ffaaa44b9612
MD5 5328cff4d0d4d611c2a8d331ee01415a
BLAKE2b-256 7d5782cb85656e9de0cb616faf961e62a995b0b9561eadbf7e1ce0823f56acfb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a83864f6e09e43af087a0317e691d094a98cc93b6be9639dd5bdebab0857f924
MD5 465c6f1ec280d6fc1153a3e4eb01babd
BLAKE2b-256 2a186d5a3a679986e4e61b36a4bd6ac5935f8d7d85c439044f9c56ed93239d99

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.8.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.8.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9d634eaea9e3b38b37cc65f5782c10dada113d8918ad2cf279a778a0e3b405c0
MD5 1f3a8c4f030efc55a484fb6700134998
BLAKE2b-256 5d2b8664543ef3642418af26224e26d687e5594ba33edc49d98f4b3348ebce0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3dc7aa40e0734475437eee910f4765d051af903cb728f94bb3b0338bed6e47d1
MD5 cfb5ce29a91aac36419c1ea94656256b
BLAKE2b-256 a0dc4beadcd7914fc02152e7e89e68fdff79b196830269746ace3f91bdab353c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b39a964f7392293b143701a43cd916f7838c273ddad3066a34b32bd181778c0d
MD5 c8218c5ee4b1f3e51c3f9260b7ca9a48
BLAKE2b-256 384d62b99b21d2845810c4f1b8d911ef93874fb22ef45edd19ac71fd10f37ae6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 723103cc18be91c7d35cd5fc216d1439b2303d9939027d6a0a8861311e773775
MD5 8c4ff2116d371bd033df0059deb4fcf2
BLAKE2b-256 ecb5675371bb23f8244895a5e1d3f51c627e9003a33601e6c210e64bc105579f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 05690d2a31fc78b782e51b58fcdf2ec02fbbcc08c9f9132d72ea7392cd5d7a3e
MD5 5484bf22e6402a4d963d861f92b88c51
BLAKE2b-256 067a50c337b1ed362d92ceea117bd52e5037a97b1a6d6d38a1f07abb59b530bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5cd68939e7fdbd86f237c8faf8d2866d51088b0a4d4ea398f22d3b267a4bb5f
MD5 d433f3cd621143f3cf5c8927731648f2
BLAKE2b-256 b58691827838c1df7a01b8c5b64c8b65155396329a8f4bed82dc94858bdfa624

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.8.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.8.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 671c9f0a3a28a9fcc615c38a7d8b7bdf7f2fcde0dbf8caef24363ec11b221742
MD5 d4bcf1d44f4bebca380bdf19e75bb12c
BLAKE2b-256 642d8c8c939a5dbdfba887bf559a14c8f34fbb4ef78b23eb84fc112e712a81dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e845587d5779a4257005ff52dbb0c9aa9bd51cdc75011b421d049072df6f0734
MD5 e8b6e94b4e05cda8eb7a17bd256da942
BLAKE2b-256 e40ce4daf0139810385e203fdcddc76d8bf70b7a1cac964ca0682f810ddb2e3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4d46099c35b45df5023739087d22286b67b88d1b9ec52a8777c1db0239aa2e7f
MD5 9af3697d165a36d1ba3841661b052770
BLAKE2b-256 2ace07a06b8d1bfd6ef038984672fa29f880cb831405efc49350abbb59193c0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 da8d410a3606ecde62174856ee2353e836d271a984236e816d605f4cb0e5040b
MD5 535393d04a4e21777a87a7b6ab14a660
BLAKE2b-256 f6061280e81672fe28dc6f8257ae231e9f0111c81218b5554312049de037efce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 18fda98d4011fba839674feaa62490cc1b0d68e7dfbdd4fc251482277c48d03d
MD5 fc1e9e415823d0578b7b7db4ff41154a
BLAKE2b-256 eb220f2b6664be5cae17cff1aa7c87e6b7aa37d3765cc35c51aaa4363dde98c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fcac05c405ac7dcf3bada90ed682ccdf468ad9e06c3155a929aefc65b10af0da
MD5 75bfafd97e8fb0ace61562a5d410a1ee
BLAKE2b-256 367e71210bc97d0d7394b3c24494474582df3b1e29aa99651f26e7ce3fa0422d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.8.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.8.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4d0079da0828b2d71992f1cf0569c5554d7919933399ec97bbe3244093532289
MD5 5e1f39432bd7428768f2b8c5151b89fb
BLAKE2b-256 7463f694d79815dc900e5591fd50b488f410eafb28dc88853f09b968ff13e3b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 677b0f146f2292d55d97328bd5f5328d975928fa2aa6bc2e63dae0a09ae1b159
MD5 c29e3516e152697da76454ed5a9e6ef8
BLAKE2b-256 d68425dee2a5e0348eabe2192621267466a7299a79eee0ac990f084ddbaeba9b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4dfedc8e0ab7d9dee26c513e879fdd0a681da488c40cd460401de5cd01429b56
MD5 69ae35a50491ba38d6ec5bfe8732c0fa
BLAKE2b-256 bc9a97f63e987577e92d375febba6eed69e4ca0b9657b9c330e0bc4d5af47ec2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a8fc931baaa1bb5c79891fe6afc21d1e59d22c2d87e5040fb1c560ad26ab024c
MD5 2b2ec6a6587329ce7a0198c9e28e05f4
BLAKE2b-256 7a41548f55a93d341600bff2eea85f196eb6dcb7f2ce6c3d550fde5032150b2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9293aace77912bbdd736a7da0f9b55035653893ca18416c8ed7529a9de43d4b1
MD5 47e78f985d88ce81d48a96d857decc3a
BLAKE2b-256 dfcf258bbc843afddedf5ba6f5f81e3c82026f3e22d09a24b711a8603153f822

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2ada4407bac433ab75fad45f75d8fb61e9e51a24b15f47dbcb50479f30bf87e1
MD5 4f1bd31b4008ec1da51669dac132446b
BLAKE2b-256 f7cc1c121efd9cf862ac1216c14acef2923d8f6d756edc601bb2a59662d4bfa1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.8.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.8.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ab97e316b3ff3c9ffd74d7f934881aa67084fc72ad2b618fe5478cf3a006af17
MD5 3494e68a05fd0946005d34b8202f87a8
BLAKE2b-256 64a8fb3d729627791ca092a21fc8ec89dbf7a04da63ca69057466a1de4ac2b4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c65b1eabaf9664046dd3bb409e54390f896d1ffe6e758cb29ce625ed500341da
MD5 b8c8ace0a7e63bd415e3a21e26b251a3
BLAKE2b-256 120bc63088af0353e31f61ec476ab11ca61197471087f2597747eb8f0fca8568

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 94cba34db6791eea1596c56e12c53d4dcaf3cca0f0995a43d4fc4b7031eabcdb
MD5 18a139795ac949e79c3a2ab8b1fec745
BLAKE2b-256 aecfea9230921e945a8bd388497f04e448c27f2d4b15059fa046691c0914a30a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6c8296321b31f2acf4e5af921d4b1895c9628a1e1b8411b9cd6e0759de2e3b86
MD5 653f9a3c3a4f149585f42ed86973fc67
BLAKE2b-256 86262ed194ff6f62c44e816e7a46d1027186e3472ed5abe63cc6e9adaa068719

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4d8f739af2021a1bef115bf6ff0e0ba55193ba3a8ad4999c3d696e9ec3efb9e3
MD5 7dd8d194c7600fe8ac9a65b8186f6243
BLAKE2b-256 d0a31233a57da2d6d9ccf6c09f12ba45f170530b726c7037cc4e70462e1d46a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.8.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0921572acee15ea73e4666340476292708884ac566c449b60874f05d9e83b357
MD5 33c113b4626eda14303d7112bc2a1a29
BLAKE2b-256 d835aa10e24e64e9f9c235cf5c94f7994aa55fe1b9ff130c0e467579de3445ab

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