Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A receipt data extraction system designed to process receipt images and extract key details

License

subhashhhhhh/Recipify

Repository files navigation

Recipify

Recipify is a powerful receipt data extraction tool that combines YOLO11 for object detection and Tesseract OCR for text recognition. It automatically extracts key information from receipt images, such as vendor names, total amounts, items, and dates, to help you keep track of your expenses.

CI codecov Code style: black License: MIT

Features

  • YOLO11 Object Detection: Detects receipt elements like shop names, total amounts, dates, and items
  • Tesseract OCR: Extracts textual data from receipt images
  • Advanced Preprocessing: Enhances image quality for better OCR and object detection
  • Multiple Receipt Types: Supports Walmart, Cafeteria, and other receipt formats
  • Data Validation: Ensures extracted data accuracy with Pydantic models
  • Comprehensive Logging: Detailed logging with rotation and formatting
  • Type Safety: Full type hints and runtime checking
  • Extensive Testing: Comprehensive test suite with high coverage

Installation

From PyPI

pip install recipify

From Source

git clone https://github.com/subhashhhhhh/Recipify.git
cd Recipify
pip install -e ".[dev]"  # Install with development dependencies

Quick Start

from recipify import parse_receipt_data

# Extract data from receipt text
receipt_text = """
Walmart
Apple          1.99
Banana         0.99
TOTAL          2.98
03/15/24
14:30
"""

result = parse_receipt_data(receipt_text)
print(result)

Development Setup

  1. Create Virtual Environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install Dependencies
pip install -e ".[dev]"
  1. Setup Pre-commit Hooks
pre-commit install
  1. Run Tests
pytest

Configuration

Recipify can be configured using environment variables:

export RECIPIFY_LOG_LEVEL=DEBUG
export RECIPIFY_TESSERACT_CMD=/usr/local/bin/tesseract

See recipify/config/settings.py for all available settings.

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting
pytest
pre-commit run --all-files
  1. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Ultralytics for YOLO11
  • Google for Tesseract OCR
  • The Python community for excellent tools and libraries

About

A receipt data extraction system designed to process receipt images and extract key details

Resources

License

Stars

Watchers

Forks

Languages