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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

matcher_py-0.7.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.7.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.7.0-cp313-cp313-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

matcher_py-0.7.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.7.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.7.0-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

matcher_py-0.7.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.7.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.7.0-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

matcher_py-0.7.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.7.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.7.0-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

matcher_py-0.7.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.7.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.7.0-cp39-cp39-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

matcher_py-0.7.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.7.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.7.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.7.0.tar.gz.

File metadata

  • Download URL: matcher_py-0.7.0.tar.gz
  • Upload date:
  • Size: 331.6 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.7.0.tar.gz
Algorithm Hash digest
SHA256 0ebd8420ac9d58e73bae04cd1b3d4aa5d748f40c306cedfe0a350ff9eef9c9d7
MD5 47b87aecc037b1edde3c13e71ef11d65
BLAKE2b-256 d1f5ae7dc18c3e7b46303d3427fcf4e53f9cabf47d050edaa947a86c2f7a108f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.7.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.7.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e8f7ee12a44a9a020eb49093696da1006a74b148de1fd314cfb5429502530ea5
MD5 bb8be084b8a7baf3b27b3d4c36d71df4
BLAKE2b-256 2475ed6879aaeeb0319229eefa48dedab94279efba0ee0568cba4bd46291995d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 72bb825e753e9d0a63c644847a04afcdd0ab5a2b96bc2b84d87af366abda50f2
MD5 043f38b5a7bca9bf88d775a416fab387
BLAKE2b-256 e370ec610665232a09ca74c33862df90ceb7ca02a262c7572ea3ea725b24a313

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1b08b930cecc9e0353c51c66a3f0458d35773eb2d71cf215a914cbc2744a4172
MD5 b4af9b16e058c70718d9a4c4e388b30c
BLAKE2b-256 6a2c7c523f69872f60528538c368d7f8522b0d3865d8288a65fb0d97f53098f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b5bc57118dfe8a1ce986cc1d611e326972082b9f82c9dba373a6db82d6b2bcfc
MD5 5d56e6e5881582fe5d93c8cba99b4098
BLAKE2b-256 ae47e82e709400bc8c3cf6a084be0ff3a479562874b9d58bf4aeaba8d54c0214

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7f5ead1422870f68db49e4f725f78791221214a1eb156084ac382373e105219d
MD5 7085d806cd06d4041528dcb6c6cc8a94
BLAKE2b-256 07422c0dd7ffba38553d8e5043d8077e5c4ce35fc594754243360d0b613d9e3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a4dbeaba978975185aa090a19171996801967e013ce6a7dd172f2b8e46df446c
MD5 8a57e9770b8ab610f831309976b228e6
BLAKE2b-256 4c266ebd422e74b188ff6400f5f40684066e5610614ca940698e17519b91d18b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.7.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.7.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1b70b3fe221b5ab1857e421dc89dff86140fed07379211eecdb311a7f921b659
MD5 529394d8a3743de63b65587e655ff373
BLAKE2b-256 ea7e6ffaece2f6c522feb3686f7ff89ea92af29b9aaa2d925f0cd1718a8004b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4d6a9c970d3d78c4f9244b6464243b10c019981612489d3b7d0e0fc230ae4ff6
MD5 274e3d13d5af470b1e62318b9cbc3377
BLAKE2b-256 661325a6fbb3576197c67c14b6e943269b72170a96fac14b8412e55870598b16

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7347e6f9bca6f56850e115183720f07b3346701cacc6d4500c127c27e193dd86
MD5 b615797129127c036a9d383b60b11b97
BLAKE2b-256 ef03601c948b4feba147ec15c6b94dcd903f43b64cee94c32127ff9cce859631

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f490fdfea917377dfed05acfe63a58f5a48ed2ecb4e48fafd2fb688b4a2528e
MD5 3a4a52fafdc31e6103c5d9aea097175c
BLAKE2b-256 2be7aed14d0aacaa12a90c8582eb0e3be15dd57b7b2da636b0c8ccd554538b9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0d1cf6518c12080a41420c17a4de4b89a565b85aaf0be71fa48ad79a9ba4e7d9
MD5 0e8aa82bf7c472c02fe10677f1df1272
BLAKE2b-256 1c0a7fbeaf7b4523df6aa803160210ba30f5ba159aac278d2194f1852ac17b3d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c711f1fb156d4c1e9252370784b17f8f41bc2f4b23bde6afeaee853caef18312
MD5 d3fd88e5904c0375db698b21aa81938e
BLAKE2b-256 54662302b41b1acca4026186eb0f9a076659153954f6b1c7dd83344c17cd0575

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.7.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.7.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 46dddab8f0f265fe2c1f568e4beec1952b091a54ca50ddb703b053b5e0b2b943
MD5 e7cda1b78355a5f86a86b4f376f74a2d
BLAKE2b-256 0ab485db0b414834ab0da01c49fa09b80c1b914665728a1e12ba508fd4ef49e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ed57281aed7f9f33c4aaecee01e31b79363f2c6bc2b4164a1a18de81b95199f3
MD5 759abacf6863af9b27b7fe765e2c077e
BLAKE2b-256 80d7779be0e0b38de83a41ee0651627ee93103bc7e6077dc7621bceb4ce20961

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b1f12cc72c23655ad193f896d30352f3df9bb0f896d92312c1c228559bc490f3
MD5 a7523039daaac6a7122890f3602c9549
BLAKE2b-256 f87d9bdd960b1523d161d1e28fe5746be3542f3434a27cb028aa3682eaf74e7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 343dbed1ea664fbe4eea6dc794d7200c2a12f481bb250c1e2fa8f75c3b099663
MD5 d5d58504aefe5ad05b9ab759d7db28b2
BLAKE2b-256 084c9c0558efd29cdda7c6ce76c5d726c7ff87b8b37c8b55821bccac41042c67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d95698d853a1e442e5c7f61ca183fa222304429775ee03ebcaf637bf678104de
MD5 13b26e1a315586192271efe8201dba3e
BLAKE2b-256 705cd2d2d7b61f98beab2e4f4d7a1034c77c06cbf8fbeb98ef9ec50798753056

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bf619ded50163322365041816bbff04bbf93bb0c7e6b33265ed069f79dcb5d13
MD5 2a446469d8076776cf35c0d95be7b2b4
BLAKE2b-256 e9a8e37cce180e371b6a4244cddbc1e2a93738c4664d5276fd2861ac7d2e04e4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.7.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.7.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9f201ac82e758c4dfc81555c9504e0ec89c1f636313c05046efcdf88a46bdad9
MD5 37bfacb51c2c159e5f8790f6e9939e3f
BLAKE2b-256 aa64263413fc758f421c0eb3941ee4165c8f4d47b1506acb931c200bdad37035

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 19fb54937828c45fd6d3f94022ef450abd47b854262c78ef65f4952ea0dc8268
MD5 47bc6c4e35b434e432efbc275c55b1c6
BLAKE2b-256 d7f0d74aefa3a4c381785e15e206275942046efbba5aea5b96c9853c62f1f112

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5fe051e65e1eae7c9fc87b02da8f73ba56c353879989af39b2b7c384fed82da4
MD5 829a28bc4ac72a6ef164858d605218db
BLAKE2b-256 f65a2c5e50092de45c3df89a5f17e24b3a03263172794163a7ff426c78e6aca2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6f4ae7bbe23853a20b3f18377908fc4705221489afbac9984cf49e96ccc54b9a
MD5 665b382ea95cd867c4619654de3c1574
BLAKE2b-256 2565caf5bb1c06184772f389d6ffa29f3422a312e36364fe8bb9cdf314a57b29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 19deff83fc0bd55f2c7ba63dd2832fa0ae995306cfc3186b07e9114adbf57e57
MD5 c20f58ecdb23838dde5ac1603d80a930
BLAKE2b-256 6db919efa44b963aedeecd6059060ebf556f1c5889661c1208d5f7764183ae47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 14f14561878692ce8201e337eea31bfa5e1d398637607175666e150521c6cafa
MD5 e3453feed42582510570745f7d0dfa02
BLAKE2b-256 1672970d1ac8ce81b9629c69e489c778a7a640c4890a959764aab48b1f1124d4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.7.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.7.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 94654c48b389f1dbc0946afa178df3e686e389ebceda05891cfdf3c5faf2cc18
MD5 0d9920ecc0bb77f2e77e4ae2e4431eed
BLAKE2b-256 2d23197149e23fc104b26d91b1a3903806fc8a9587977ea85a591da2b76c0a36

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 75fc598d786feac3e012ca27fc4c6d81739c265d0d3541351368598d6d5bdde6
MD5 84404b7535bdf43b3157a639b1f8b008
BLAKE2b-256 e2ec06eb04370f3d707402961377646e08b35d8075e5ae0bdc05a8cded37b279

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ccb5b752e079c56e0a62e39677e31582f4b6de24761a3cc53459ccf83a6d8075
MD5 ece2c06cc033f7a828c96d12adc4ba95
BLAKE2b-256 568d704c446648a546c3ff31bb093586678dd88714385817c69893696a73bec5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7542eaabd4c014b83c8b3148ffc7956fbd82f7c86b67d02c1c53ab6088add08b
MD5 24ad00c0038af1976f57a449dc59cb95
BLAKE2b-256 74fab102e768a9bc5b69bc3ca972b9d97770b13ed7fa26165d1811fadb946f9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cc30e7db13cf4a63271a2ae1b56aaef18cace435a109b7170c992483b3adeb6d
MD5 251aeb44fb3f51ee4b685ed8419dc6e5
BLAKE2b-256 d28710b5ca729c4b9614fa57776123c01bb5d8f053ee12f3485fb56ff788cb2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e39b49aea68d2250a7a0b968eb2128ce79d90f7e38c40774a7a75f44bfb5d34
MD5 8170c8cd85e8b7bad88fa5cf71082bcb
BLAKE2b-256 8eee358af6ded5585976e2321e26873a661e5859213d489d798791db398191be

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matcher_py-0.7.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.7.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 6b89f3d95d0cab94149e689e43f7c11b174e5948d9b51e50ab08e880fe49d6cc
MD5 0077f7fcc177972d976c0f835d34a2c1
BLAKE2b-256 a4854f4aeedee28121be0dc74d90e35f439291ca3b192ac36b340c91ab6dad8f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d4b12766eb3e4cf3085d8f7030972cc2cf437e417ad64473bda78859ea1054e3
MD5 f3f417496177de2ed98939d706ce4c3a
BLAKE2b-256 098af0cc344b767212e6efef66f72a203faf25ace8afe46ef9178cb30e4f40b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e1cc7dde09035a96a72df5e135f27ee9247430b958b15e0182dea9692898df4d
MD5 87658a30ebcb36b88194846f4011e4fe
BLAKE2b-256 e31f776471c044e5f7a5c9aba1c5937de69b8844a8cb4bb2f15a67a4c0bb3e8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 15a80abbc6a2b7e1e6405fa9350db329c018e9add8f407c72d382aa10218de31
MD5 730fdd4b1b7b25df5c6a20a14f6ce20b
BLAKE2b-256 71cbd7b2b372bee2f423e916c363c1b71e95a88b7180ea9cb5c2c50c8ec659f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d33aa54f46c417fb1af38108debb487d65c47d6cbfdeee5770d92707812157f1
MD5 61ab97b2e4e3cd9c53ca8a2ae7db9b7f
BLAKE2b-256 a44ab491967256c7d451406d3c4bf136f042900038f8664d2e9a2bf23b3f06e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matcher_py-0.7.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c1f373036248a4f7795b9cd73b42c2a2500c911144d5db2d44ab737dc2f55f9d
MD5 b0350c2dc9e1841d89afe19876ae5c19
BLAKE2b-256 bc8e27d77005e56c66f449bf60dea3d4413299363b7ed641303f60860f1a7dd7

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