Skip to main content

Python package exposing Skim functionality for fuzzy match over an iterable of strings.

Project description

skym

A Python package exposing fuzzy text matching based on the Rust creates skim and fuzzy-matcher.

Benchmarking

This project includes a comprehensive benchmarking suite built with Criterion.rs.

Running Benchmarks

We use just as a task runner to simplify benchmark operations. Here are the common benchmarking commands:

Basic Benchmarking

# Run all benchmarks
just bench

# Open the benchmark report in your browser
just bench-report

Comparing Implementations

When making optimizations, you can compare performance between different implementations:

# Run benchmarks and save as a baseline named "original"
just bench-save original

# Make your code changes, then run and compare with the baseline
just bench-compare original

# Generate a comparison table between two sets of results
just bench-table original new

Managing Benchmark Results

# Clean all benchmark results
just bench-clean

Understanding Benchmark Results

After running benchmarks, Criterion generates comprehensive reports in target/criterion/. The most useful files are:

  1. HTML Report: Open target/criterion/report/index.html in your browser for a visual representation of benchmark results including:

    • Line graphs showing performance over time
    • Violin plots showing distribution of execution times
    • Detailed statistical analysis
  2. JSON Data: Raw benchmark data is stored in JSON format under target/criterion/<benchmark_name>/ for each benchmark:

    • estimates.json: Contains summary statistics (mean, median, etc.)
    • sample.json: Contains raw sample timing data
    • baseline_estimates.json: Available when comparing with a baseline

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

skym-0.1.0.tar.gz (31.9 kB view details)

Uploaded Source

Built Distributions

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

skym-0.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

skym-0.1.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl (2.0 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ i686

skym-0.1.0-cp38-abi3-musllinux_1_2_x86_64.whl (2.2 MB view details)

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

skym-0.1.0-cp38-abi3-musllinux_1_2_i686.whl (2.1 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

skym-0.1.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB view details)

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

skym-0.1.0-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (2.0 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ i686

skym-0.1.0-cp38-abi3-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

skym-0.1.0-cp38-abi3-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file skym-0.1.0.tar.gz.

File metadata

  • Download URL: skym-0.1.0.tar.gz
  • Upload date:
  • Size: 31.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.8.3

File hashes

Hashes for skym-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ea66ffe46aeed88fdc8aac4bd616077f0675d606d9b8777f449e78552a92e76e
MD5 1841ea2b51432d847f121c4d0f339152
BLAKE2b-256 3e3a4cc3e9cfedc368e71ae79c57a1d7040b7f66e0746e6ab93431c1902d5f3b

See more details on using hashes here.

File details

Details for the file skym-0.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for skym-0.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 63da4e979e8f67124c311c5ad2197f080a0bebe53208f01800597a27c7f24043
MD5 88aecec9b7ad086710fe897c56f77590
BLAKE2b-256 d9bd818f431157545209f665e29c570ae6d5bd05f54953627ddc6c1a29ca8486

See more details on using hashes here.

File details

Details for the file skym-0.1.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for skym-0.1.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 947328389fe42f708f343ae17831c0ca096ca31ca8f5d3dc5f5d002c23b0c844
MD5 32cea46144f7b8610538a41119fca593
BLAKE2b-256 ca16a6b28551ae79a7747aede99ad936b24308a30407a632dc82a64fb650218c

See more details on using hashes here.

File details

Details for the file skym-0.1.0-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for skym-0.1.0-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 85d3c7a976c11558fb9eebd5ba7031241c829ba35df81118efd75bec69961ad8
MD5 bd2b364f071d658d15073326e9e210f9
BLAKE2b-256 e826253c431782ad6e0e29a0364cc1d5e77ca0376878c75ebe331705c6561871

See more details on using hashes here.

File details

Details for the file skym-0.1.0-cp38-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for skym-0.1.0-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 599c84e38def66c4b1256c0ad30dd3e4920095f3adebb00d98225ca763b2aaa6
MD5 c7b1ff6dc69b29ac691d1631e0f70b56
BLAKE2b-256 b2be12d23c34b7ad53e7c271167d1259df3759846e990e07f48a2d96f74f1d6c

See more details on using hashes here.

File details

Details for the file skym-0.1.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for skym-0.1.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d706a107142c8acf7f9ed58062ccb2caa330ff5a35e0ecfcac9bc379d9b96e5c
MD5 597671206efe7244915848c4b66ea27f
BLAKE2b-256 2a4fbb1692af1e08177047f154d033b3a6ce462f254ca11946b2f81f87220e51

See more details on using hashes here.

File details

Details for the file skym-0.1.0-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for skym-0.1.0-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 81d2a9e7e506e88a5c9ed384a15976ee7f8cb51ecfc41b6d0c0c7b69283ab431
MD5 5767b415034deff3002575852547d017
BLAKE2b-256 e77967181d6f3fd32bc20530ecde00575ba9e807cf1252fe9760d4051430ab06

See more details on using hashes here.

File details

Details for the file skym-0.1.0-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for skym-0.1.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d593c1d5ef2fed9db0dbb33a86015da48cbc4912b3e78cc9ae94d8cd3317a182
MD5 de24b7e1c3388e35170a79900de3d6bd
BLAKE2b-256 e160cfd84b0a154190144e33c727509ec675c56752259a021015630b34a0276d

See more details on using hashes here.

File details

Details for the file skym-0.1.0-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for skym-0.1.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e7b31f7f32f213cebb4c0693d017606d26326dbe669e78b77b3d165116b91d7d
MD5 e4e75deb9c42032aeaf00a0c7097c775
BLAKE2b-256 802ca91bb26bd9e199aac044f3a347d318026d0a1d445983815289a95e4143a5

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