Developer Documentation

Install requirement

pip install -r requirements.txt
pip install -r dev_requirements.txt
pip install -r doc_requirements.txt

Makefile

First check Makefile. It contains many useful commands to work with the project:

test:

pytest

coverage:

pytest -s –cov –cov-report html –cov-fail-under 97

yamllint:

yamllint -d relaxed .

black:

black .

build:

python -m build

install:

make build pip install dist/*.whl

uninstall:

pip uninstall find-similar rm -rf dist rm -rf find_similar.egg-info

pylint:

pylint $(shell git ls-files ‘*.py’)

lint:

make pylint

sphinx-help:

make help -f Sphinxfile

package_docs:

sphinx-apidoc -o docs/package find_similar/

Get started

You can start with test and test coverage:

make coverage
make test

Check lint and test coverage before sending pull-request

make lint

Build documentation

make package_docs
cd docs
make clean html
make html

Improve core function

The main point is to improve find-similar core algorithm. To do that you can use special laboratory. It’s the powerful tool to work with find-similar The Laboratory places in the separate repository. Please check the laboratory README to use it with find-similar