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.5.7.tar.gz (311.9 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.5.7-cp313-cp313-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.13Windows x86-64

matcher_py-0.5.7-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.5.7-cp313-cp313-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

matcher_py-0.5.7-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.5.7-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.5.7-cp313-cp313-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

matcher_py-0.5.7-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.5.7-cp312-cp312-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

matcher_py-0.5.7-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.5.7-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.5.7-cp312-cp312-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

matcher_py-0.5.7-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.5.7-cp311-cp311-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

matcher_py-0.5.7-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.5.7-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.5.7-cp311-cp311-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

matcher_py-0.5.7-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.5.7-cp310-cp310-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

matcher_py-0.5.7-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.5.7-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.5.7-cp310-cp310-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

matcher_py-0.5.7-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.5.7-cp39-cp39-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

matcher_py-0.5.7-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.5.7-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.5.7-cp39-cp39-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.8Windows x86-64

matcher_py-0.5.7-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.5.7-cp38-cp38-musllinux_1_2_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

matcher_py-0.5.7-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.5.7-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.5.7-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.5.7.tar.gz.

File metadata

  • Download URL: matcher_py-0.5.7.tar.gz
  • Upload date:
  • Size: 311.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for matcher_py-0.5.7.tar.gz
Algorithm Hash digest
SHA256 553d1d696b3573892581484931cb1fa1900ac5c2b8423194b9011af91294e959
MD5 7ca7f3b796ff00f480a03383b0cee86e
BLAKE2b-256 38591708a8acea60520ce3a4cdf38f296c401fd5a48b4741485ffb273c9d91ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.5.7-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.1.0 CPython/3.13.2

File hashes

Hashes for matcher_py-0.5.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c275bb68fb0e19a76acddafd3e0ee38f5c87222c46820a8888a813c8d7bda849
MD5 2cebc70fcf8279c660a32f985b264cb4
BLAKE2b-256 255175bd8990bad5972a0b041b5cc557a971d899d81ec795b43838b590571493

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f715d558453db7d22d235e8d2673de99d883c66ae77b4471f0da1d2abe1ac5de
MD5 80253a36355ce83588c386adc9f54a65
BLAKE2b-256 ddb3ea367a5c03d45e6f3ab79e3d00a1ad351b6d4ef6566733d355045012e1d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b0af8cfa1d07a57365f34e8e82ac5f4d4200c8d3355141c9e11b77a163bd9f27
MD5 7979cce6b7b7469f8accf8573646a6eb
BLAKE2b-256 56c8134fcb5da2bef3d33826b4511a083426890dc81650151b141fc61474aea1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cfad203d4b61c3391df40345be6e093fac5209ad657a72ef1bc46bedee4ee3d0
MD5 4cc1b656457a05d5abf1e4d79194dc7e
BLAKE2b-256 9c5a5821d939c9128b28884684ccca4186c0563f1eb0194fdcadc8521fd01b79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c6ffac36f8214521f401403131925263de664411edd8519323736467c355077c
MD5 fb3b0246df0c67e08d2ea8b76ac03f56
BLAKE2b-256 59c9ef78bc286d93a2af6f2bd647aeed2ffcb1a51ce0b12d06f1d99aa238876f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4688eee5607faeeb2e8c17c7f069531769cd638e9c381d743b89290652c3ab07
MD5 80150786c99dc062dc03b2cf8fe867c7
BLAKE2b-256 e3397382cc4be92ffbf6fe7c2830ec7460e6c771df177e775a0b8ee1d964ceb6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.5.7-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.1.0 CPython/3.13.2

File hashes

Hashes for matcher_py-0.5.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a6a7e85de02671484f1f7c81b2e2034f349abe816f38337f98eb0b379bc0b374
MD5 1fbd59831d212450864eefaf7d864acc
BLAKE2b-256 90cd84c7d40608ac787531289ca5f6ecdfb9c1906355dab4a187388ccd52ae99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bd8992ad8f2b773ac1cbcf8745c539a579ebb0e371b7ca7ca12d12e0fdde883d
MD5 0097bbf6542253b0faa89c4b7568b031
BLAKE2b-256 7811e357a4db453ab6f8eccb6af4f1250065195aea873a7fd97b272298a5b10a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1ea715dcac0c0bd5225c02eb5940c15cea7f7f198a62874ed808314467bffe16
MD5 c5f4dbf81b8cae182a85935837b2ebcf
BLAKE2b-256 82e6b235708d56906006dd5edd507a55effd631ca78cc4548b1bf01e15e94914

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 30397aa5b5c329d395992a40c1ac10bd8f51359f789e6124a40fb2bd1f0763cb
MD5 b1164c92de304db3850486191f55f0a9
BLAKE2b-256 fd3ea0fa6c3065702275375cfc48dd80f2c237b19eac4b6cabb7e72a4ab990c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d6fa45002e06ca256ca6e3991fed7ca4754a505138d73271bdd8bd05ecae4329
MD5 e6de012b1ea99b3fb8bcdd5b367a16d3
BLAKE2b-256 7bc993f391b8400440cc609ba4dea61557eb259cbe31c27663cfec607b1e7308

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d84defd321bdf3c22676aff74ecfad85f1153bb8ad96328b7ca75b562fb1d3b0
MD5 9b7b7940aa025c2561d3f9294d0490ef
BLAKE2b-256 2bb5d4915523d38c9516286c2f660e05e21dcffd35648c73660b1f1ed062911c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.5.7-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.1.0 CPython/3.13.2

File hashes

Hashes for matcher_py-0.5.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 66f23a4227b9a40b6c27489bfbd00f6b5a07a44c82c71cc0c6435698d104f80c
MD5 d47e263cf60e0c63bd7a59cc8d5d1320
BLAKE2b-256 6b103fc8e3a43e51f1fb580ceeec0b62881bf8497c4acc917444b6239a9d34b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3e1a0388c79e26c0a43a13ca8eac2eca2325aa3de3d17ab8397aa343ebdeaf60
MD5 8254493cd7aaa06927ce239b801cda75
BLAKE2b-256 fe9e70355648b33ca73df34350d9cc57c67ca98ab9137ef89b4c84bc02b36359

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 29479094e8de4e42832695e2d9643f83ee243b1dc2c9caf3586a5f8e85a0ffcf
MD5 13751e378af6580fe25117f974191569
BLAKE2b-256 a00779f53cac0549c5ab0630e4c32c51b48c952ccba1132bcd01f3e4e01ce17a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e9527ff47f4b3d5e91e691c3ea16bab0b2c20f298372f2c2fc42997b13d0db85
MD5 098c7df0f507f3db5a2b2347dffaf58b
BLAKE2b-256 f66e0c03cab848eedbb218bba52e25022f987a32f144074d869711f9f3d55599

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9314781c0ac4146e43a967eaa98bc198978251a7923f954ed01d8af708baf61f
MD5 8bcd35708763c49a61bec5ddc62f2f0f
BLAKE2b-256 43b9ba4628e1704200d36ba60622f0a829a826414995216403e88a7e2740bb20

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9af0fc476019bf32b3773cf8c4b1eaef32843c60cc2dd8ea3b9c589e61fbd107
MD5 67d62a85c0190b3cbcb4cb2c7d1750e3
BLAKE2b-256 f65dc3f2bedb37eebdb0ae5f039bb2a61eed134a7cdc9a27dee6691574cbf32c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.5.7-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.1.0 CPython/3.13.2

File hashes

Hashes for matcher_py-0.5.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 89ad772f0b8cf15030294fdd828ec95b41dc4b075a0340f53ced2439d943da5d
MD5 95609e6e41cb33a8e33a782199e4db8d
BLAKE2b-256 3a8a697346530b52c4f7cbf7d04f2287fa330ed1244fe6866413f38b940eb8bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5e66f12a98a0d8178510e5789fa959ee9ef63b74ea3f6a52e252baba29ebaccf
MD5 a5e4877536247b84ebb4333880b2f24f
BLAKE2b-256 3eabd4388f661d62393de60b0a6069b46ca1f182aff95a0626408be39e2dab06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 171be9481f5af4090d3adb369bd2b2cc31b177b4ccee020b40a3b37288581d01
MD5 dceafcb946459c6810fb42c3c12da10b
BLAKE2b-256 91aff1a2330ac30902162bdca9121a503708279dd913477d3fffab5f1865d2ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a11026879b4efc7ca889aa72bdccf9c746c7852a75bb8aa02cc4a28ff7175372
MD5 1bcb9aa4e30820899b92fd0a3497f9bc
BLAKE2b-256 4aa82faccf69abc887ee932c790a4d7e9be4daa90e9bbee36ba85b09718aa2fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3f32bdcc80524a3cdbb5ca001926151ea95806eba0454f13fbce9871dd03d2bf
MD5 3c60ca848cc87f9ade23894d7fa690b8
BLAKE2b-256 f07613dbbef47d137998a755e6c0adc09407472b5df6af61254a34cf3f0544db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b53e6717fc6b13957a7bcee9f4e241c9552805fbf0854765773fb8a16a8c5016
MD5 e6b342576b842d4d4b17bdd471ec7fca
BLAKE2b-256 3a9c6be7e6177f96583ae7e35872bc8be84d7b42374ac6ff1906c6d33ed2bf6f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.5.7-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.1.0 CPython/3.13.2

File hashes

Hashes for matcher_py-0.5.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 308ece374710d24f8dcd050d05fd7cd30b0fc56848dc28542e6a16d1b04da172
MD5 4aae4605c265a535c75868a56d4e2e3f
BLAKE2b-256 d61468de6f3e18117707640cb1f27610b3959b4548884a68ab09f88d01b4ab7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d2b21673c3cfb63db35af8867f4e01f1757ac2338e571582bf49861d765c80bc
MD5 280d9eb78219038ca5c06f54c3812b03
BLAKE2b-256 21084aa77368001668e3f9f9865cbe71ae36c3143580937f730694e692877876

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 05bfcce2dfd358f447915fe26534571dffcc794cb07f30b833a2564b50914902
MD5 81e1bd8e62ad98100772ebd8d98d1b2f
BLAKE2b-256 5e430a81be6aa60fe5e0ff3a9f46231e8349d339a2e3c49fb1762fcd825faeb3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc782622c7ce540eb9d53407720ee64234c2e8c494a362d911af414fcd35caea
MD5 9d8d211ee72ee5fcff233a76d5632b93
BLAKE2b-256 e69444e89135a016a2dbfd60db6f6f16f75c3c909d3ec5b3001f5eb6a07d96b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8570035effaf2764be956a95c08730e4decc7986be5efa041115995709f08cc5
MD5 816c80d88c03e2c61cd476beae7fadb1
BLAKE2b-256 34b1d06e116e53d35ae7ec559870012a46c1c18c48582bdebfd89f5f8449f78f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12e8c535fb6e061b2ff5a8827483cfb79e3efbdc3c50cd8ae7f15082551a1d19
MD5 688de268c46514946e4f770df24a0344
BLAKE2b-256 45ff20ac49c54158b28d355a79528157ad2865edce06c9ab98944ef71c838213

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.5.7-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.1.0 CPython/3.13.2

File hashes

Hashes for matcher_py-0.5.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 42688fdd6c7e626a527377382e119fa9c5694058471c27081ff2dc96e160fba1
MD5 747047d33d0f1bc61eb0ba5dfbe1fad5
BLAKE2b-256 8078b568b806804192613015d14e17c6045bc067bc5c77caf242d1a468cea246

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cd3d4dff11d45dfcba0684382cd5b63c2ea1a4aa439a85e9786d35318b7fc54a
MD5 295aa0436e6a2a47ddcdaa224a8e502f
BLAKE2b-256 f255c67d8025a80f543a6f96d6f4fec5995d67d05b9a765265f24ef368b6bc07

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 faeb09537addb33a35ebbf81b221a4243ddfc12a1d506765068d7362f496646f
MD5 29ae4bee0dfcaba82a08219805b7a952
BLAKE2b-256 20f9f6eb0609f2f98f2d5d5a1b1430a2c813b319852ce03f6888d1e074ad24be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ed02f5e459cdd3f1c3679747c5504e0cddd12a273f0dc0bc8bc5849c73e70689
MD5 4e60b39abad0082e551aba929f7ff072
BLAKE2b-256 75e8a755ea40af725f1dfda12679f46a323c0d95c5484a24eed231d4d309c4c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 28dcf1eafd94420376fe835870159335369467536f4bd2653c30c7eb805b2675
MD5 1f559c8ba487d9fa8a72cd44baade930
BLAKE2b-256 4263089cd67f3d64ef43a8ebce6c4b5224d4665e2fcf57e02ff7faad75d7edc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.5.7-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c1c4a6085d003ff4c36710721f0d43c713414064a18235adefcddbb52d6a4ea0
MD5 d27999bcf6f209b8ef2fcc7092e01655
BLAKE2b-256 236b5b2aa002619d73021db29c9c3fa3a5aeb2c7952e993a7346634a315b964b

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