Skip to content

feat(bindings): expose extractor for direct usage in Python#47

Merged
PyDataBlog merged 1 commit intomainfrom
feat/expose-extractor
Nov 5, 2025
Merged

feat(bindings): expose extractor for direct usage in Python#47
PyDataBlog merged 1 commit intomainfrom
feat/expose-extractor

Conversation

@PyDataBlog
Copy link
Owner

@PyDataBlog PyDataBlog commented Nov 5, 2025


name: Pull Request
about: Propose a change to the project
title: "feat(bindings): expose extractor helpers"
labels: ""
assignees: ""


Description

  • expose extractor functionality the Python bindings so users can use them directly.
  • extend the bindings test suite and Python example to cover the new helpers

Fixes (#46)

Type of change

  • feat(bindings): expose extractor helpers in Python bindings.
  • test(bindings): Added tests for exposed extractor helpers

How Has This Been Tested?

  • pytest tests/python/test_bindings.py

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 41.97%. Comparing base (3f87bdf) to head (0a2d109).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #47      +/-   ##
==========================================
+ Coverage   41.18%   41.97%   +0.79%     
==========================================
  Files          15       15              
  Lines        2348     2375      +27     
==========================================
+ Hits          967      997      +30     
+ Misses       1381     1378       -3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link

github-actions bot commented Nov 5, 2025

Benchmark Results

This file is automatically generated by the CI. Do not edit manually.

System Specifications

  • OS: Linux 6.11.0-1018-azure
  • Architecture: x86_64
  • CPU Model: x86_64
  • CPU Cores: 4 logical, 2 physical
  • Memory: 15.62 GB

Insert Benchmark

language backend ngram_size mean stddev iterations
julia SimString.jl 2 83.9872 18.5827 100
julia SimString.jl 3 99.2072 22.3439 100
julia SimString.jl 4 117.027 26.4504 100
python simstring-fast 2 92.6342 3.45883 100
python simstring-fast 3 106.87 4.07967 100
python simstring-fast 4 119.08 4.83726 100
python simstring-rust (python bindings) 2 37.3867 1.01174 100
python simstring-rust (python bindings) 3 44.3565 1.3146 100
python simstring-rust (python bindings) 4 47.0701 2.86775 100
ruby simstring-pure 2 646.995 14.3024 31
ruby simstring-pure 3 740.49 26.63 28
ruby simstring-pure 4 879.305 34.3586 23
rust simstring-rust (native) 2 34.7179 0.672719 100
rust simstring-rust (native) 3 40.4425 1.03026 100
rust simstring-rust (native) 4 41.8712 0.993115 100

Search Benchmark

language backend ngram_size threshold mean stddev iterations
julia SimString.jl 2 0.6 376.653 8.73815 54
julia SimString.jl 2 0.7 239.723 4.76542 84
julia SimString.jl 2 0.8 134.158 2.80999 100
julia SimString.jl 3 0.6 307.938 6.10851 65
julia SimString.jl 3 0.7 200.533 4.03077 100
julia SimString.jl 3 0.8 118.033 3.38429 100
julia SimString.jl 4 0.6 280.895 4.8152 72
julia SimString.jl 4 0.7 191.325 3.24666 100
julia SimString.jl 4 0.8 116.692 3.30454 100
python simstring-fast 2 0.6 111.144 3.21841 100
python simstring-fast 2 0.7 52.7968 2.31946 100
python simstring-fast 2 0.8 22.472 1.33697 100
python simstring-fast 2 0.9 8.98711 0.399084 100
python simstring-fast 3 0.6 84.711 4.86273 100
python simstring-fast 3 0.7 38.6002 2.05917 100
python simstring-fast 3 0.8 20.3134 1.14391 100
python simstring-fast 3 0.9 9.3518 0.582726 100
python simstring-fast 4 0.6 72.6477 5.4789 100
python simstring-fast 4 0.7 36.029 2.15874 100
python simstring-fast 4 0.8 18.7032 1.60235 100
python simstring-fast 4 0.9 10.0487 0.67435 100
python simstring-rust (python bindings) 2 0.6 12.206 0.677368 100
python simstring-rust (python bindings) 2 0.7 8.1512 0.867568 100
python simstring-rust (python bindings) 2 0.8 4.6511 0.251774 100
python simstring-rust (python bindings) 2 0.9 3.09549 0.0849724 100
python simstring-rust (python bindings) 3 0.6 9.84772 0.482784 100
python simstring-rust (python bindings) 3 0.7 6.1411 0.300935 100
python simstring-rust (python bindings) 3 0.8 3.96608 0.0954832 100
python simstring-rust (python bindings) 3 0.9 3.06113 0.20283 100
python simstring-rust (python bindings) 4 0.6 7.94405 0.424824 100
python simstring-rust (python bindings) 4 0.7 5.51673 0.567307 100
python simstring-rust (python bindings) 4 0.8 3.71272 0.18495 100
python simstring-rust (python bindings) 4 0.9 3.06863 0.235647 100
ruby simstring-pure 2 0.6 819.658 7.68648 25
ruby simstring-pure 2 0.7 401.363 4.16165 50
ruby simstring-pure 2 0.8 185.657 2.88563 100
ruby simstring-pure 3 0.6 645.449 8.51835 31
ruby simstring-pure 3 0.7 321.821 3.72985 63
ruby simstring-pure 3 0.8 164.823 1.94741 100
ruby simstring-pure 4 0.6 586.939 7.51767 35
ruby simstring-pure 4 0.7 316.98 3.38041 64
ruby simstring-pure 4 0.8 170.152 2.34852 100
rust simstring-rust (native) 2 0.6 12.0282 0.137813 100
rust simstring-rust (native) 2 0.7 7.43373 0.136458 100
rust simstring-rust (native) 2 0.8 4.37713 0.0930711 100
rust simstring-rust (native) 2 0.9 2.56208 0.0393562 100
rust simstring-rust (native) 3 0.6 9.02182 0.100822 100
rust simstring-rust (native) 3 0.7 5.57721 0.060196 100
rust simstring-rust (native) 3 0.8 3.48007 0.05727 100
rust simstring-rust (native) 3 0.9 2.4122 0.0493557 100
rust simstring-rust (native) 4 0.6 6.9874 0.169917 100
rust simstring-rust (native) 4 0.7 4.67753 0.0560993 100
rust simstring-rust (native) 4 0.8 3.18477 0.0556814 100
rust simstring-rust (native) 4 0.9 2.44 0.0377663 100

@PyDataBlog PyDataBlog self-assigned this Nov 5, 2025
@PyDataBlog PyDataBlog merged commit 8a6b8ae into main Nov 5, 2025
38 checks passed
@PyDataBlog PyDataBlog deleted the feat/expose-extractor branch November 5, 2025 14:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants