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.2.tar.gz (4.1 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.2-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: veridica-0.1.2.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.14.2 Darwin/25.2.0

File hashes

Hashes for veridica-0.1.2.tar.gz
Algorithm Hash digest
SHA256 2914ec7a04965c094634ac56c20c27e748acb7c9181646ddad4adcdcb4a4bf95
MD5 858d09bb67673bb5b20237903b4b23a4
BLAKE2b-256 2cfc57a4b489701779230a202e0d3083b7523678ec4e46a2376f0220f3bd1590

See more details on using hashes here.

File details

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

File metadata

  • Download URL: veridica-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.14.2 Darwin/25.2.0

File hashes

Hashes for veridica-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0716ae1198faa08602f0fb74455d9aa22c2ab4e0adcd647b9612b20fc0690e44
MD5 388f9143eb02efd0b49a889bf4989c35
BLAKE2b-256 d5d566bd448c52a0ef8cb2b4353dc1b85ad6ad4a8a15075d60b7666081ed8760

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