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 produkcyjnychmake install-dev– instalacja zależności developerskich + pre-commitmake setup– pełny setup środowiskamake run– uruchomienie lokalnie (FastAPI/Uvicorn)make docker-build– budowa obrazu Dockermake docker-run– uruchomienie Dockeramake docker-dev– uruchomienie środowiska developerskiego w Dockerzemake docker-stop– zatrzymanie kontenerów Dockermake test– testymake test-cov– testy z pokryciem kodumake lint– lintowanie (flake8, mypy, black, isort)make format– autoformatowanie kodumake clean– czyszczenie środowiskamake validate– walidacja instalacjimake download-models– pobranie modeli OCR/LLMmake 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1acfa66fb7f55695ceb5c7249163607fe580e66443d41c239a2841c0ec13863
|
|
| MD5 |
5d4b7269ad20b50e088f1941a5f2d3a0
|
|
| BLAKE2b-256 |
c6f3a146b9519efc40a919f8b50577d9594ae3b99dea170298132eae499bed87
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2be01b3e35737ecf0b82de4ffb6e64c8666c27885fa346481f3b3c6cf530f129
|
|
| MD5 |
5eb4f0bdfdecb2a9a76e6949d8595b7f
|
|
| BLAKE2b-256 |
895148205e1f6f618c1ed212c85449fa30c5efe3d1fe91d227282ce05be870a3
|