Aarya2004
Deploy: sync hosted Space to local app (chat, document capture, Modal backends, pages, mobile/QR)
47b2a99 | [build-system] | |
| requires = ["setuptools>=61"] | |
| build-backend = "setuptools.build_meta" | |
| [project] | |
| name = "quillwright" | |
| version = "0.1.0" | |
| requires-python = ">=3.11" | |
| dependencies = [ | |
| "gradio>=4.44", | |
| "langgraph>=0.2", | |
| "langchain-core>=0.3", | |
| "pydantic>=2.7", | |
| "reportlab>=4.2", | |
| "uvicorn>=0.30", | |
| "requests>=2.31", | |
| ] | |
| [project.optional-dependencies] | |
| dev = ["pytest>=8.0", "ruff>=0.15"] | |
| # Semantic Recall embedder (ADR-0003): heavy (~2GB torch). Opt-in — NOT in the Space | |
| # requirements.txt (stub mode has no torch). Install with: pip install -e ".[embed]" | |
| embed = ["sentence-transformers>=3.0", "numpy>=1.26"] | |
| # Spoken voice note via Cohere Transcribe (ADR-0009): on-device STT. Opt-in, heavy. | |
| # Gated model — needs HF access + token. Install with: pip install -e ".[audio]" | |
| audio = ["transformers>=5.4", "torch", "accelerate", "soundfile", "librosa", "sentencepiece", "protobuf"] | |
| # Finalize & Send (S10): real SMS (Twilio) + email (SendGrid). Third-party APIs — | |
| # deliberately NOT in the Space requirements.txt (the Space drafts only; creds can't | |
| # live on a public Space — ADR-0005). Local/demo path only. Install: pip install -e ".[send]" | |
| send = ["twilio>=9.0", "sendgrid>=6.11"] | |
| # QR phone-capture (Tier 3): segno is a tiny pure-Python QR encoder, only needed on the | |
| # local/tunnel demo path (the Space has no tunnel to pair against). Opt-in, lazy-imported, | |
| # NOT in the Space requirements. Install with: pip install -e ".[capture]" | |
| capture = ["segno>=1.6"] | |
| # Flat layout with sibling dirs (data/, node_modules/) — scope discovery to the | |
| # quillwright package (and its subpackages) so setuptools auto-discovery doesn't | |
| # error on "multiple top-level packages". | |
| [tool.setuptools.packages.find] | |
| include = ["quillwright*"] | |
| [tool.pytest.ini_options] | |
| testpaths = ["tests"] | |
| addopts = "-v" | |
| [tool.ruff] | |
| line-length = 100 | |
| target-version = "py311" | |