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

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

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.

Usage

All relevant types are defined in extension_types.py.

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.

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

print(reduce_text_process(ProcessType.MatchDeleteNormalize, "hello, world!"))
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.Regex
                ),
                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")
assert result == [{'match_id': 1,
  'table_id': 2,
  'word_id': 0,
  'word': 'h[aeiou]llo',
  'similarity': 1.0},
 {'match_id': 1,
  'table_id': 1,
  'word_id': 0,
  'word': 'hello',
  'similarity': 1.0},
 {'match_id': 2,
  'table_id': 3,
  'word_id': 0,
  'word': 'halxo',
  'similarity': 0.6}]
# Perform word matching as a dict
assert matcher.word_match(r"hello, world")[1] == [{'match_id': 1,
  'table_id': 2,
  'word_id': 0,
  'word': 'h[aeiou]llo',
  'similarity': 1.0},
 {'match_id': 1,
  'table_id': 1,
  'word_id': 0,
  'word': 'hello',
  'similarity': 1.0},
 {'match_id': 1,
  'table_id': 1,
  'word_id': 1,
  'word': 'world',
  'similarity': 1.0}]
# Perform word matching as a string
result = matcher.word_match_as_string("hello")
assert result == """{"2":[{"match_id":2,"table_id":3,"word_id":0,"word":"halxo","similarity":0.6}],"1":[{"match_id":1,"table_id":2,"word_id":0,"word":"h[aeiou]llo","similarity":1.0},{"match_id":1,"table_id":1,"word_id":0,"word":"hello","similarity":1.0}]}"""

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")
assert result == [{'word_id': 1, 'word': 'hello&world'}, {'word_id': 3, 'word': 'hallo'}]

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

Uploaded CPython 3.13Windows x86-64

matcher_py-0.6.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.6.0-cp313-cp313-musllinux_1_2_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

matcher_py-0.6.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.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

matcher_py-0.6.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.6.0-cp312-cp312-musllinux_1_2_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

matcher_py-0.6.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.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

matcher_py-0.6.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.6.0-cp311-cp311-musllinux_1_2_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

matcher_py-0.6.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.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

matcher_py-0.6.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.6.0-cp310-cp310-musllinux_1_2_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

matcher_py-0.6.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.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

matcher_py-0.6.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.6.0-cp39-cp39-musllinux_1_2_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

matcher_py-0.6.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.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.8Windows x86-64

matcher_py-0.6.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.6.0-cp38-cp38-musllinux_1_2_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

matcher_py-0.6.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.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

matcher_py-0.6.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.6.0.tar.gz.

File metadata

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

File hashes

Hashes for matcher_py-0.6.0.tar.gz
Algorithm Hash digest
SHA256 c0fedc1d8b0162be0a26154b4286bdab43022fa3e2e18c6dd90464c18c0a8876
MD5 758ef5530e8d20295b9898154c9d69fd
BLAKE2b-256 631db1470cc9411a876edab7e2cef026c9ab5c71bd0495b9161d1d1914c33c86

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.6.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.11

File hashes

Hashes for matcher_py-0.6.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 139eb0b4348899ca3434c3f8a4e690970cea1337a0f11007b45230e38f20588e
MD5 42fdaedb92da235358612ecf26b96e89
BLAKE2b-256 8515eee8c455634aedf6dcb502b8c7d5060e952e2946962f70f96b02fc936690

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 36006c03c876f36f16dc230990be35bc988b11b22d644ec5baabe46a36d28162
MD5 b5b156985ae20dd0702629f0e5098a9f
BLAKE2b-256 73043786880f592da64322c83af060c13fb4dfd7fcf1ec7e524470ec5cb609cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ad539096ebb188f8cf06e65537d6eb6c16f7353d6c42a8010391116cfe678827
MD5 62e6eed57ed1795b73821e9a8261ecf8
BLAKE2b-256 4ac5d3fbea12db9ca94b9245b8fcb3225ab59bb1b34ef14a90df73ace6e42348

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3eab81e294215d0cdd7e221ec78e60a13ed62161873a3e12a4fd8b4851b0fa04
MD5 92a5d84727d6fbc16cbea6005cb51a2b
BLAKE2b-256 65ee9047db3029a93ac5e5a8a60c82e0b6b28b7e5242fbea40a0159eea627f85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dac56bf03e44933a3c2959004903bef732e05cdca4bb444bde8bed4c81926d0e
MD5 c5ed856e58f6901aec5d8f9e5a78890a
BLAKE2b-256 4fcd5c519820352a55a5c74e58514db3ccd744ac4560c96c042152575ca20438

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8a555951209cea4f909fd12ac54f517ef7d131495d8ac7d45a48b6651070f093
MD5 0b930b837c5fa7250438cb5a5cacd270
BLAKE2b-256 b6ab7d4cd33de4621d8221577741ba93c68336f04a6144bf22248a6f637181fd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.6.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.11

File hashes

Hashes for matcher_py-0.6.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0ccc9983f872f7c7ae11c2c03f143b74454fc17f883af1fd4e1228f79de9ef3a
MD5 07c957f1ef1cae723921ff286dfe9d5b
BLAKE2b-256 e2ddc9944d4e2d98f00376454fd441a99170402c47148d9d0b0f423b165e364f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 113a966fdb9ad676661e2590d1fe2f382d493a28863c408e9e6e3a81633ca10d
MD5 9a1bbb28e7bdfdc578f2119e0532bfa1
BLAKE2b-256 3979709a5fe51803228b8fc15b34a88526fe071e20fefc3d2ac7e232d8e414ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a266036cdea75b15181c9efea7404298bce4a2665518894ca1fd9f66c61e7958
MD5 f1db84471464b25515b9f8f09ca15930
BLAKE2b-256 6c3873a0fa8d5cba74d941eff3fe8befe5f4664732ecb46e66a17ef01c51f8c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0086b5c2fd1bd5d0c39399d801071841feecba8b26bedd94b32786ec282db97d
MD5 2fe73bb1340204ed64ffc7d2c4234e24
BLAKE2b-256 f9b042b40f3dddb1bf5d5ef00db42d8f9245efff9d0e2435444f4c7549adf526

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6a59ddedf2643c5d9a838ad609142f622b93489a38d5d7a21fe2e1ef126c71d6
MD5 c5a55fa496d42ee538d8bb6ea5185bdc
BLAKE2b-256 6545461a90245a6e811b8629fd28138029d46671f9b57840ecc402d1ac44c661

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f3cf05d6f5c51c3dc750559b898970d19a16c1e792b1aa4f5b2155fe36f109ea
MD5 08fc5193e420d58566c2008785702860
BLAKE2b-256 b51ee7b7d87427eb110507971ed4eff8f34462cd697d1d7d0095674f2e6c3501

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.6.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.11

File hashes

Hashes for matcher_py-0.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 2a168ac59d57f19017cc6a2912d12a1e80285c66083397ea88373c979633fa1a
MD5 1999454bdb4e320f55792c2d1e05e127
BLAKE2b-256 c2cf08c0333f0a9ae3d6c9d8895a7e772999673589abedcaac3eec7985674e89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3c540568b688413bd287b17e8cc5f441f51ff4f719979efe77d58d77641da6ed
MD5 c01e9ebd89176f5a847ed5ef537a06dc
BLAKE2b-256 67146703dc59023bbbc0112bd6a2bdf949f2ca61dd961793a59731ce85be3020

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2193e80c4f9497c26f365cdf2d2677f54d3977bedf542f5851a5b721245fde5f
MD5 49777697e93ea9a5d72b2792e46b75b9
BLAKE2b-256 6699b0a2d57f166df7ae3e8359e60aeca43a4607b363bc3d607b9b7f0801e0ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ff3417041ea9cfe972aaef058ccc16bbf7369764b67f2ebfe426ca32a8889bb0
MD5 5c044a35cdb7fba19262d0760383f31c
BLAKE2b-256 d84548d921608a9899cb900a2908fc5271a54fdf3e702f34e2c05396f6ff72f7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 961ab12f5183c45afaa9daed0d7b48ec53c9a900581acfdc1ed468fff555835b
MD5 3f7eb68fedd02d58201caf3f7ecdd623
BLAKE2b-256 f81193ba773fd9f1d50092e6a671d79533cf6f2cbca141637b1ccef3ee2c2da7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7cc9a8e906c22c6535dc4c509e2b8cf9036e468f46d04ab27e5f76b1d066548
MD5 3fc46e75bee787274b790ef3d27f42f5
BLAKE2b-256 df17587ce5af48f3e2fd74c22773666d8e02dbd9e0575f25a93475cd755e5048

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.6.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.11

File hashes

Hashes for matcher_py-0.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bb8777baf6d78f654c544d98d628d98ed4f7572569a13111dd31e26e7ebca7d5
MD5 8d8018eeb1725ef085a30af2e12127ef
BLAKE2b-256 ea75feee4f84a3151ed8c0042be98ff7bc4b037908b519c3cd0f2280277fb7e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 08f2a1d49aea7cedbe3963c3840744ca67044c932435551fe0dc4eecfc627338
MD5 36fee47ecea716a17ba0655fc883951e
BLAKE2b-256 d1ddf95ec5c6da51a2bf1ec28fce93003ec5988ea26b308e6bbd23ac1aa74ab5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 be7e46c8b6f7271bf26cd58f3e1581aff2c252c95d85c1bec3d101ed5aa75504
MD5 83cedb92e298e24a0725ca08e46bcc44
BLAKE2b-256 e0b562d767fc7002d6d819333d3df7a057b43954025b6623e9a38fc55535118d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64f0be6c82cee8d64b45993a6546ae6bf2f8b2e7e1578b4efb6ec2a4e43f306c
MD5 cb6e1c3462b5732245e71394f2be1d54
BLAKE2b-256 1d29e5c30c894787d98f708dbddb837060c49cefd01ea42c0e999a7fee29d7eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 98700701e3e76517bee2272351fdc2ab8506a3af80ce38983bc1453447743b9e
MD5 9465bff49f7d612c44d3bd2190ecf0d5
BLAKE2b-256 15c5da0197298cd0b225dc1c5a6ad56ba0436f7021ac610862f0abb865eabefa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1d892a5f5270169a5177cf8ed8700f6ed8edfd69a32fd97143c7e559a15d104a
MD5 7c333df4842fc17b9d397f15169b9961
BLAKE2b-256 5bd9c60a59dc81c6a11c61a36185fde7b914a9a125c340064cb5c34b5f067a17

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.6.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.11

File hashes

Hashes for matcher_py-0.6.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 21261b2991171e993c6b9cf363d7bd29ab738f0f86ab96ec1c68b0f1037fb7c8
MD5 f71cf0376a2b7e5d15a00e1df50210f8
BLAKE2b-256 d7f2c5145fa751a8bffcb2a3ca8d68584ea9cb653cbcc39b50384834d7110b1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8509dc7a9200cfbb2e5c4942ccc53ac791119b9b82a47853e63c37ca446bf7f8
MD5 fa4d3e00adff76a2e33a22857f75119f
BLAKE2b-256 3a2528797c9c2a484f1e5ce0e4b543d80d4a2ad16251a60e739c23c8b9e92f3f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 836519b1b0c327602ce336037d1ae0a3400512d2ff9b2ae517f30dad3505558a
MD5 6f7050c5320dac204932a0c012dfe983
BLAKE2b-256 5355fbeed9c17f7eff9b3c9b69eef69f0ad15813f8eb919eb3af3c027df7b3c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7808f561041e28056d68df3c6771f1e6699ec83b9e99ac4c5b5f29acb837fb64
MD5 4fae0c05ea9d7763a9d3a0a11c3daed3
BLAKE2b-256 e4811e8fca7f7f1bc3a330e5d5920e0aaede35b4c191d6391875d0f23b8ec810

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3e390f0b062425282f96aacbd2331f1f49fa99dc9929bd33fb2cccd6dc2412fa
MD5 025ae6626999b2d6d57cae8fc950ebd9
BLAKE2b-256 7605d04afab2aee9d387b8f401e5815ec19658bde930520f8eb1773487457901

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d2d77bc6669a4b747485679f1f4d4dbc493be3aa5d2b7e2f3003bf95f4fb0859
MD5 b58423bf0af5095f3db38cd880061c6f
BLAKE2b-256 e8f3ad582c3acba6214990e689f6c7346bea8cc0701feab78c451e43dc7e6cfa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.6.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.11

File hashes

Hashes for matcher_py-0.6.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 15eedf1a38b295cb95f831809ddc83b89517c2ba1ec4bfb73c882b2fc229c401
MD5 533d19b24c4b2c8c700f1124446b533b
BLAKE2b-256 67536e2aedfb8f2aa1851e7163ed68d33fb2cbd0ec1c76caf758e8e3fddbda78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 afdf8a187a0483168c9803cef5d4995a1757ec806a8f79e07e363215c2013347
MD5 fa266160be73571c531410a8a24e4e6d
BLAKE2b-256 caff50ba974e930da896d9a6d51893b43031f7a4ac13f3cc1ae5eb6c03e2c8a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3d7f0098d23a5da95b479cf65bd03fc517bcd7ec25c30fa13edd6ff8535d6d02
MD5 d507d5e8931f9da88cd8ac5c37f25d42
BLAKE2b-256 e13b0c196db41bffb9853886e1eb6c6966cae80d78f14a44fa6772c123563db7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e72c1136da35214b15ded159a8809de3356ba6390ada1db7c83425ebe88217e
MD5 59c4fbc2cf7c5eeeb0777431eb391e99
BLAKE2b-256 49e84184c3e94beea66be3cdd527b6451fbd7a8104388e7e148c8bcf15f1ffeb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0bd9604be213caf46373c61b7188b19deb5ed09f723735cb58da18b340cf9936
MD5 ef155fde9262712d16eba0408d1c69a7
BLAKE2b-256 d1798127bf64dafdd4e9d6aa244a4e7e23e248682a8d9d518d0000f9cbcc1fe2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.6.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fd5cb178c7152799c8643f95280d98cce95a2d8b60d6b5c3c6fec5493ec5c967
MD5 ec4f08c4240fe15e212c05d2915d8a1e
BLAKE2b-256 1a93495adb274b814b44e59eb52bdcd010094d6e96a31f7c1d7434d7bbfa6cb6

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