infoxtractor/.env.example
Dirk Riemann 57cdfd73fb
Some checks failed
CI / test (pull_request) Failing after 4s
feat(scaffold): project skeleton with uv + pytest + forgejo CI
- pyproject.toml: runtime deps (FastAPI, SQLAlchemy async, Pydantic, PyMuPDF,
  python-magic, Pillow, dateutil), dev group (pytest, pytest-asyncio,
  pytest-httpx, ruff, mypy), optional `ocr` extra that pulls surya-ocr + torch
  (kept optional so CI without GPU can run the base package).
- pytest config: asyncio_mode=auto; `live` marker for tests that need a real
  Ollama/Surya (gated on IX_TEST_OLLAMA=1).
- Single smoke test (tests/unit/test_scaffolding.py) verifies the package
  imports and exposes __version__ — keeps CI green until the real test
  modules land in later chunks.
- .forgejo/workflows/ci.yml: runs ruff + pytest against a Postgres 16 service
  container. Explicit IX_TEST_MODE=fake keeps real-client tests out.
- .env.example: every IX_* var from spec §9 with on-prem-friendly defaults.
- uv.lock committed for reproducible builds.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 10:36:43 +02:00

41 lines
1.6 KiB
Text

# InfoXtractor runtime configuration.
# Every variable is optional; defaults are suitable for running against the
# on-prem stack (Ollama on :11434, postgis on :5431). Copy to .env and fill in
# the Postgres password.
# --- Job store -----------------------------------------------------------
IX_POSTGRES_URL=postgresql+asyncpg://infoxtractor:<password>@host.docker.internal:5431/infoxtractor
# --- LLM backend ---------------------------------------------------------
IX_OLLAMA_URL=http://host.docker.internal:11434
IX_DEFAULT_MODEL=gpt-oss:20b
# --- OCR -----------------------------------------------------------------
IX_OCR_ENGINE=surya
# --- Pipeline behavior ---------------------------------------------------
IX_PIPELINE_WORKER_CONCURRENCY=1
IX_PIPELINE_REQUEST_TIMEOUT_SECONDS=2700
IX_GENAI_CALL_TIMEOUT_SECONDS=1500
IX_RENDER_MAX_PIXELS_PER_PAGE=75000000
# --- File fetching -------------------------------------------------------
IX_TMP_DIR=/tmp/ix
IX_FILE_MAX_BYTES=52428800
IX_FILE_CONNECT_TIMEOUT_SECONDS=10
IX_FILE_READ_TIMEOUT_SECONDS=30
# --- Transport / callbacks ----------------------------------------------
IX_CALLBACK_TIMEOUT_SECONDS=10
# --- Observability -------------------------------------------------------
IX_LOG_LEVEL=INFO
# --- Test-only -----------------------------------------------------------
# Set IX_TEST_MODE=fake to have the pipeline factory build FakeOCRClient /
# FakeGenAIClient instead of real ones (used by integration tests).
# IX_TEST_MODE=fake
# Set IX_TEST_OLLAMA=1 on the Mac to enable tests that require a real
# Ollama / Surya instance (tests/live/).
# IX_TEST_OLLAMA=1