semvec/pypi-packages huggingface dataset:
sampleproject-jeevan900929 2.0.0
A sample Python project
Requires Python: >=3.6, <4
Keywords: sample,setuptools,development

# A sample Python project

![Python Logo](https://www.python.org/static/community_logos/python-logo.png "Sample inline image")

A sample project that exists as an aid to the [Python Packaging User
Guide][packaging guide]'s [Tutorial on Packaging and Distributing
Projects][distribution tutorial].

This project does not aim to cover best practices for Python project
development as a whole. For example, it does not provide guidance or tool
recommendations for version control, documentation, or testing.

[The source for this project is available here][src].

Most of the configuration for a Python project is done in the `setup.py` file,
an example of which is included in this project. You should edit this file
accordingly to adapt this sample project to your needs.

----

This is the README file for the project.

The file should use UTF-8 encoding and can be written using
[reStructuredText][rst] or [markdown][md use] with the appropriate [key set][md
use]. It will be used to generate the project webpage on PyPI and will be
displayed as the project homepage on common code-hosting services, and should be
written for that purpose.

Typical contents for this file would include an overview of the project, basic
usage examples, etc. Generally, including the project changelog in here is not a
good idea, although a simple “What's New” section for the most recent version
may be appropriate.

[packaging guide]: https://packaging.python.org
[distribution tutorial]: https://packaging.python.org/tutorials/packaging-projects/
[src]: https://github.com/pypa/sampleproject
[rst]: http://docutils.sourceforge.net/rst.html
[md]: https://tools.ietf.org/html/rfc7764#section-3.5 "CommonMark variant"
[md use]: https://packaging.python.org/specifications/core-metadata/#description-content-type-optional
smart-match 0.1.1
A smart match package
Requires Python: >=3.6

# Introduction

The smart-match module contains functions for calculating strings/sets similarity.

## Concept

1. __similarity__:
A value in a range of [0, 1], which represents how similar the two strings are. 
The larger the value, the more similar the two strings are.

2. __dissimilarity__:
A value in a range of [0, 1], which represents how dissimilar the two strings are. 
The larger the value, the more dissimilar the two strings are.
For a pair of strings, similarity = 1 - dissimilarity

3. __distance__:
How far the two strings are. Notice that not all the methods support distance method.

4. __score__
The larger the score, the more similar the two strings are. Notice not all the methods have score method.

We support three levels of string matching.

1. __char__:
Similarity computation based on characters in the strings.

2. __term__:
Similarity computation based on terms in the strings.

3. __gram__:
Similarity computation based on q-grams in the strings.


## Methods

We support the following methods.

 Method | similarity | dissimilarity | distance | score
-----------|------------|---------------|----------|------
Levenshtein (default) |     ✅   |    ✅        |  ✅  | ❌
Euclidean |     ✅   |    ✅        |  ✅  | ❌
Damerau Levenshtein |     ✅   |    ✅        |  ✅  | ❌
Block Distance   |     ✅   |    ✅        |  ✅  | ❌
Cosine |   ✅   |    ✅        |  ❌ | ❌
Tanimoto Coefficient | ✅ | ✅ | ❌ | ❌
Dice |     ✅   |    ✅        |  ❌ | ❌
Simon White | ✅ | ✅ | ❌ | ❌
Longest Common Substring | ✅ | ✅ | ✅ | ✅
Longest Common SubSequence | ✅ | ✅ | ✅ | ✅
Overlap Coefficient | ✅ | ✅ | ❌ | ❌
Generalized Overlap Coefficient | ✅ | ✅ | ❌ | ❌
Jaccard     |  ✅ | ✅ | ❌ | ❌
Generalized Jaccard | ✅ | ✅ | ❌ | ❌
Hamming | ✅ | ✅ | ✅ | ❌
Jaro | ✅ | ✅ | ❌ | ❌
Jaro Winkler | ✅ | ✅ | ❌ | ❌
Needleman Wunch | ✅ | ✅ | ❌ | ✅
Smith Waterman | ✅ | ✅ | ❌ | ✅
Smith Waterman Gotoh | ✅ | ✅ | ❌ | ✅
Monge Elkan  |  ✅ | ✅ | ❌ | ❌

# Installation

```shell
pip install smart-match
```

# Usage

```python
import smart_match
print(smart_match.similarity('hello', 'hero'))
print(smart_match.dissimilarity('hello', 'hero'))
print(smart_match.distance('hello', 'hero'))
```
Output:
```shell
0.6
0.4
2
```

Check [Wiki](https://github.com/jiayingwang/smart-match/wiki) for more details.

# License

smart-match is a free software. See the file LICENSE for the full text.

# Authors

![qrcode_for_wechat_official_account](https://wx3.sinaimg.cn/mw1024/bdb7558bly1gjo23b3jrmj207607674r.jpg)