# Pacchetto installabile di Tabularium (`uv tool install tabularium`). # # La wheel contiene il backend (`backend/app`) e, in `app/_bundle/`, le # risorse che da un checkout stanno nella radice della repo: VERSION, # l'interfaccia già compilata, gli script consegnati alle GPU e i profili. # `config.py` le cerca lì quando l'app è installata. # # Prima del build serve `frontend/dist`: `npm ci && npm run build` in frontend/. # Le dipendenze runtime devono restare allineate a backend/requirements.txt # (lo verifica tests/test_packaging.py). [build-system] requires = ["hatchling>=1.25"] build-backend = "hatchling.build" [project] name = "tabularium" dynamic = ["version"] description = "State-of-the-art OCR and fine-tuning for historical documents, made simple for researchers." readme = "README.md" license = "MIT" license-files = ["LICENSE"] authors = [{ name = "Nicolò Badino" }] requires-python = ">=3.11,<3.14" keywords = ["ocr", "historical-documents", "digital-humanities", "document-ai", "table-recognition", "vlm", "fine-tuning"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "Operating System :: OS Independent", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering :: Image Recognition", "Topic :: Text Processing :: General", ] dependencies = [ "fastapi>=0.141,<1", "uvicorn[standard]>=0.52,<1", "pydantic>=2.13,<3", "pillow>=12,<13", "numpy>=2,<3", "apted>=1.0.3,<2", "rapidfuzz>=3,<4", "requests>=2.32,<3", "rapidocr>=3,<4", "onnxruntime>=1.17,<2", "httpx>=0.28,<1", "python-dotenv>=1.0,<2", "python-multipart>=0.0.20,<1", "cryptography>=44,<51", "huggingface-hub>=0.27,<1", ] [project.scripts] tabularium = "app.cli:main" [project.urls] Homepage = "https://github.com/nbadino/tabularium" Documentation = "https://nbadino.github.io/tabularium/" Changelog = "https://github.com/nbadino/tabularium/blob/main/CHANGELOG.md" Issues = "https://github.com/nbadino/tabularium/issues" [tool.hatch.version] path = "VERSION" pattern = "(?P[^\\s]+)" [tool.hatch.build.targets.wheel] packages = ["backend/app"] exclude = ["**/__pycache__", "**/_bundle"] [tool.hatch.build.targets.wheel.force-include] "VERSION" = "app/_bundle/VERSION" "frontend/dist" = "app/_bundle/frontend/dist" "conf" = "app/_bundle/conf" "scripts/cloud" = "app/_bundle/scripts/cloud" "scripts/local" = "app/_bundle/scripts/local" "scripts/serve_model.sh" = "app/_bundle/scripts/serve_model.sh"