Skip to content

Latest commit

 

History

History
65 lines (52 loc) · 1.65 KB

README.md

File metadata and controls

65 lines (52 loc) · 1.65 KB

Python Text Match APP

Fuzzy text match app that finds similar strings in csv file and get matching percentage.

The app contains two simple web views one contains a form with a dropdown that lists all the available lookup keys and a search button. Once you select a key and press enter you will be redirected to a second view which displays a table containing the key and all similar values to its value with the matching percentage for each one.

Requirements

  • Python >= 3.8
  • Django >= 3.2

Included Features

  • Key lookup in a csv file using Pandas.
  • Text matching rate using fuzzywuzzy.
  • Code documentation using Sphinx.
  • Request rate limiting 5/min.
  • 100% Test coverage.
  • The app is dockerized.

Installation

  1. Clone the project.
git clone https://github.com/mustafa-kamel/pytextmatch.git
  1. Change the active directory to the project directory.
cd pytextmatch
  1. Create a virtual environment.
python3 -m venv venv
  1. Activate the virtual environment.
source venv/bin/activate
  1. Install the app requirements by running.
pip install -r requirements.txt
  1. Run the migrations.
./manage.py migrate
  1. Run the local server.
./manage.py runserver
  1. Now visit the http://localhost:8000 to view the app.

Testing

The project contains test coverage for all urls and views that covers all possible scenarios.

To test the app is working properly run the following command:

./manage.py test

License

This software is licensed under the MIT License. See the LICENSE file in the top distribution directory for the full license text.