Skip to main content

Fuzzy matching for the use in gherkin based automated tests.

Project description

Veridica

This project was made for the use of fuzzy comparison algorithmic comparisons for the use in gherkin based test automation.

We found that it was required to have full control over the system to limit dependencies. However that does not mean that others cannot use the code that I have developed and will use.

Overview

Veridica provides a set of pure Python algorithms to compare strings reliably based on fixed math based algorithms.

It includes:

  • Classic string similarity metrics Classic string to string matching based on algorithms like levenstein.

  • One-to-many batch comparisons While one to one comparisons can give you a sence of what you are looking for, most usecases involve the comparion for one item to a set. Therefore an implementation was made using classic and recursive techniques that can be directly implemented.

  • Timing utilities for measuring comparison performance For now limited to a wrapper function that can give back the time it took to complete for compartive data.

Installation

You can install the package via PyPI or from source.

Install from PyPI

pip install veridica

Install from Source (GitHub)

git clone https://github.com/sebastiaanswanenberg/veridica.git
cd veridica
pip install .

Usage

After installation, you can use veridica to compare strings one to one or compare a string to a set.

Example: Comparing strings one-to-one.

from veridica.similarity import levenshtein

Example: Comparing string to a set of strings.

from veridica.similarity import levenshtein
from veridica.batch import compare_many

Example: Time your string to set calculations.

from veridica.similarity import levenshtein
from veridica.batch import compare_many
from veridica.timing import timed

Testing

This project includes a test suite. You can run tests using pytest:

pip install pytest
pytest tests

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues if you have any suggestions or find bugs.

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

veridica-0.1.1.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

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

veridica-0.1.1-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file veridica-0.1.1.tar.gz.

File metadata

  • Download URL: veridica-0.1.1.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.5 Darwin/25.0.0

File hashes

Hashes for veridica-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b3bd0fc82a0487722428dba014cdbf9d771b1c4b5f79c18563c291da1ef0a087
MD5 031460e25734936888dcdc160984de36
BLAKE2b-256 441987ecccdeaa78ea74d247e63cff45e34601a151a1f0d4a7f22861746b7036

See more details on using hashes here.

File details

Details for the file veridica-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: veridica-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.5 Darwin/25.0.0

File hashes

Hashes for veridica-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2058e87ae33063079e157cc35e604f51d636d285d99a058ee349580ba1df7703
MD5 2f4937fc6edacc27c8c4efd0dd0039fb
BLAKE2b-256 0d7b6e1e13262006fcbdd78ad4d3582a558751735a1908570426915a7c4541e7

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