Skip to main content

Frizbee (Python bindings)

Python bindings for frizbee, SIMD fuzzy string matching. Supports CPython 3.10+ on linux x64/arm64 (glibc + musl), macOS x64/arm64 and windows x64.

pip install frizbee

Usage

import frizbee

matcher = frizbee.Matcher("fBr", max_typos=1, casing="smart")
matches = matcher.match_list(["fooBar", "foo_bar", "barfoo", "prelude"])
# [Match(score=53, index=0, exact=False), ...]

# Owned haystacks (recommended): copy to Rust once for much faster matching
haystacks = frizbee.Haystacks(["fooBar", "foo_bar", "barfoo", "prelude"])
matches = matcher.match_list(haystacks)

# Perform multi-pattern matching (whitespace separated) with syntax for controlling
# the matching mode:
# fuzzy  substring  prefix    suffix    exact    negated (combines with others)
# foo    'foo       ^foo      foo$      ^foo$    !foo
matcher = frizbee.Matcher.from_query("foo !^bar")

# Per-pattern config overrides
patterns = frizbee.Pattern.parse_query("foo !^bar")
for pattern in patterns:
    pattern.max_typos = len(pattern.needle) // 4
matcher = frizbee.Matcher.from_patterns(patterns)

Performance

These bindings achieve native performance to the rust crate, after a one-time copy of strings to Rust. On the Chromium file list (1.4M haystacks, needle "linux", maxItems 1000):

new Haystacks(string[]):               33.99 ms
match_list (string[]):                 58.47 ms/iter
match_list (Haystacks):                23.60 ms/iter
match_list_parallel(8) (string[]):     40.14 ms/iter
match_list_parallel(8) (Haystacks):     4.52 ms/iter

Development

# use nix dev shell to get all clis/pkgs
nix develop

just build-py
just test-py
just bench-py

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

frizbee-0.13.0.tar.gz (163.1 kB view details)

Uploaded Source

Built Distributions

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

frizbee-0.13.0-cp310-abi3-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.10+Windows x86-64

frizbee-0.13.0-cp310-abi3-musllinux_1_2_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

frizbee-0.13.0-cp310-abi3-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

frizbee-0.13.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

frizbee-0.13.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.7 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

frizbee-0.13.0-cp310-abi3-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

frizbee-0.13.0-cp310-abi3-macosx_10_12_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file frizbee-0.13.0.tar.gz.

File metadata

  • Download URL: frizbee-0.13.0.tar.gz
  • Upload date:
  • Size: 163.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for frizbee-0.13.0.tar.gz
Algorithm Hash digest
SHA256 342327ddbfa16ebe30dbecdd65ac3b05dd961ae951fc02f0bb4ad84a941cf356
MD5 d4934f4d4a9377afc1fede00c172361e
BLAKE2b-256 7908c3155a7cc678fef7c3dbf40e2a35b8caa3dc7ee5bfaf06caf0b84932402b

See more details on using hashes here.

Provenance

The following attestation bundles were made for frizbee-0.13.0.tar.gz:

Publisher: release.yaml on saghen/frizbee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file frizbee-0.13.0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: frizbee-0.13.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for frizbee-0.13.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 74d1c9cf92eab79b5702afcb2baeaf11ae0ac48cdec7b008f2999ebd8c942eae
MD5 3f4df54e8a646ede68f6f71cae794ce2
BLAKE2b-256 c9a72a7f28d0188a1c2d5b53cd09d2bf76b7e7fc68b46c9efca40c703e2dc254

See more details on using hashes here.

Provenance

The following attestation bundles were made for frizbee-0.13.0-cp310-abi3-win_amd64.whl:

Publisher: release.yaml on saghen/frizbee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file frizbee-0.13.0-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for frizbee-0.13.0-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3be81d4c9c8409955119795fc73d4d4fe431fc702645b60b33675344a62a315d
MD5 eb989bdc0d84cbb2d65b864ff2195d6a
BLAKE2b-256 9d4cc615859c8ca6ce72a2d393a69e546289400e66ed5143131d79da0371d3c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for frizbee-0.13.0-cp310-abi3-musllinux_1_2_x86_64.whl:

Publisher: release.yaml on saghen/frizbee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file frizbee-0.13.0-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for frizbee-0.13.0-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 04f89f50b2b9504cd551c1b5dc769c0c8f5ba3f45c4b28166e2acee07e25043c
MD5 13633005f99caeb9b34eacb1794d181b
BLAKE2b-256 a013b5ff5945d92d6de59aa6f8eb2aa19b1dbd0ad62e16a96a8c409937658efb

See more details on using hashes here.

Provenance

The following attestation bundles were made for frizbee-0.13.0-cp310-abi3-musllinux_1_2_aarch64.whl:

Publisher: release.yaml on saghen/frizbee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file frizbee-0.13.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for frizbee-0.13.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 133e329efa57912434c4de0f935158ea69b6c02a2157d5d772b3f8bb45cead76
MD5 3eb8f6167ee7a336cd59aa964740978e
BLAKE2b-256 45e15d2345348ecdb8b8eddfa0ddac79370e349b6c5ecb658e58938dc01e9113

See more details on using hashes here.

Provenance

The following attestation bundles were made for frizbee-0.13.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yaml on saghen/frizbee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file frizbee-0.13.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for frizbee-0.13.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 403243e75690aec90b37116bb2e4270c241355ce4a4ef1303f592780df422356
MD5 8c08ff8793951ac549de9d83ddbaf1ac
BLAKE2b-256 183e866f78cdb95b3ea379f07c8e5dad2771a78ad649d5a6f0b2ae0f1f7a8438

See more details on using hashes here.

Provenance

The following attestation bundles were made for frizbee-0.13.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yaml on saghen/frizbee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file frizbee-0.13.0-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for frizbee-0.13.0-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f2d6325358902642855de5ddeecde150783f33940e97d62ac1b80b578f1ae9da
MD5 d80787870c6c1dc85f615c73a2b91d07
BLAKE2b-256 ade1f4a31745c7bc118c8066ba13a050b1591002234dd7aaa73709bbd7d906ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for frizbee-0.13.0-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yaml on saghen/frizbee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file frizbee-0.13.0-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for frizbee-0.13.0-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e166d4caa816ec6b4cd054228318718f0c8f4f6cc3f45d39be7eab5d1c59bc25
MD5 87ad6c41e2f1d850b245f3821fec03d9
BLAKE2b-256 489322847cd10886780375588f4763f584d100bd417e7ece88744a096318d148

See more details on using hashes here.

Provenance

The following attestation bundles were made for frizbee-0.13.0-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: release.yaml on saghen/frizbee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page