Skip to main content

European Invoice OCR and Data Extraction Tool

Project description

pocro

Kluczowe funkcjonalności:

Pełny stack OCR+LLM - EasyOCR/PaddleOCR + Mistral/Qwen/LLaMA
GPU optimized - AWQ/NF4 quantization dla 8GB VRAM
Multilingual - DE/EN/EE z automatyczną detekcją języka
EU compliance - Schema EN 16931 i PEPPOL
Production ready - Docker, monitoring, health checks
Comprehensive tests - Unit, integration, performance
Easy deployment - Makefile, scripts, dokumentacja

Szybki start:

# 1. Klonowanie i setup
git clone git@github.com:fin-officer/pocro.git
cd pocro
cp .env.example .env

# 2. Instalacja zależności produkcyjnych
make install

# 3. (Opcjonalnie) Instalacja zależności developerskich
make install-dev

# 4. Setup środowiska (modele, uprawnienia, pre-commit)
make setup

# 5. Pobranie modeli OCR/LLM
make download-models

# 6. Uruchomienie lokalnie
make run

# 7. Lub z Docker
make docker-build
make docker-run

# 8. Testy
make test
make test-cov

# 9. Lintowanie i formatowanie
make lint
make format

# 10. Walidacja instalacji
make validate

# 11. Benchmark
make benchmark

Struktura projektu

pocro/
├── README.md
├── requirements.txt
├── requirements-dev.txt
├── pyproject.toml
├── .env.example
├── .gitignore
├── .dockerignore
├── Dockerfile
├── docker-compose.yml
├── docker-compose.dev.yml
├── Makefile
├── setup.py
│
├── src/
│   ├── __init__.py
│   ├── main.py
│   ├── api/
│   ├── config/
│   ├── core/
│   ├── models/
│   ├── prompts/
│   └── utils/
│
├── scripts/
│   ├── benchmark.py
│   ├── download_models.py
│   ├── migrate_data.py
│   ├── setup_environment.sh
│   └── validate_installation.py
│
├── tests/
│   ├── __init__.py
│   ├── conftest.py
│   ├── fixtures/
│   ├── integration/
│   ├── performance/
│   ├── test_main.py
│   └── unit/
│
├── configs/
│   ├── deployment/
│   ├── model_configs/
│   └── ocr_configs/
│
├── monitoring/
│   ├── __init__.py
│   ├── dashboards/
│   ├── health_check.py
│   └── metrics.py
│
├── data/
├── logs/
├── docs/
└── venv/
  • src/ – kod źródłowy aplikacji (API, core, modele, konfiguracje, prompty, utils)
  • scripts/ – skrypty narzędziowe: setup, walidacja, pobieranie modeli, migracje, benchmark
  • tests/ – testy jednostkowe, integracyjne, performance, fixtures
  • configs/ – konfiguracje deploymentu, modeli, OCR
  • monitoring/ – monitoring, health-check, metryki, dashboardy
  • data/ – dane wejściowe/wyjściowe
  • logs/ – logi aplikacji
  • docs/ – dokumentacja

Najważniejsze komendy Makefile

  • make install – instalacja zależności produkcyjnych
  • make install-dev – instalacja zależności developerskich + pre-commit
  • make setup – pełny setup środowiska
  • make run – uruchomienie lokalnie (FastAPI/Uvicorn)
  • make docker-build – budowa obrazu Docker
  • make docker-run – uruchomienie Dockera
  • make docker-dev – uruchomienie środowiska developerskiego w Dockerze
  • make docker-stop – zatrzymanie kontenerów Docker
  • make test – testy
  • make test-cov – testy z pokryciem kodu
  • make lint – lintowanie (flake8, mypy, black, isort)
  • make format – autoformatowanie kodu
  • make clean – czyszczenie środowiska
  • make validate – walidacja instalacji
  • make download-models – pobranie modeli OCR/LLM
  • make benchmark – benchmark modeli/algorytmów

Wymagania

  • Python 3.9+
  • Docker, docker-compose (do uruchomienia w kontenerze)
  • (Opcjonalnie) GPU z min. 8GB VRAM dla modeli LLM

Dokumentacja

Dokładna dokumentacja znajduje się w katalogu docs/.


Masz pytania lub chcesz zgłosić błąd? Otwórz issue lub napisz na contact@finofficer.com

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

pocro-0.1.2.tar.gz (68.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pocro-0.1.2-py3-none-any.whl (77.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pocro-0.1.2.tar.gz
  • Upload date:
  • Size: 68.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Linux/6.14.11-300.fc42.x86_64

File hashes

Hashes for pocro-0.1.2.tar.gz
Algorithm Hash digest
SHA256 a1acfa66fb7f55695ceb5c7249163607fe580e66443d41c239a2841c0ec13863
MD5 5d4b7269ad20b50e088f1941a5f2d3a0
BLAKE2b-256 c6f3a146b9519efc40a919f8b50577d9594ae3b99dea170298132eae499bed87

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pocro-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 77.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Linux/6.14.11-300.fc42.x86_64

File hashes

Hashes for pocro-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2be01b3e35737ecf0b82de4ffb6e64c8666c27885fa346481f3b3c6cf530f129
MD5 5eb4f0bdfdecb2a9a76e6949d8595b7f
BLAKE2b-256 895148205e1f6f618c1ed212c85449fa30c5efe3d1fe91d227282ce05be870a3

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