Files
sowai-fiscal-svc/pyproject.toml
T
jonatanritter 923848af33 feat: service scaffold, k8s test infra, health
FastAPI + SQLAlchemy async + Alembic scaffold, src-layout (mirrors the
sowai-fiscal lib's own convention), pyproject wired to sowai-fiscal@v0.1.0
via git+https (uv.lock pins the commit). Makefile mirrors auto/Makefile's
k8s-test workflow: syncs into /app/fiscal-svc in the SAME auto-tests pod,
against a dedicated fiscal_svc_test database on the shared Postgres
sidecar, serialized by the SAME lock file the auto uses on purpose so the
two repos' test runs never race in the pod. Dockerfile installs git (the
git+https dependency needs it at uv sync time) and splits the dependency
layer from the project's own editable install for build caching.

GET /v1/health -> {"status": "ok"}, verified green via `make k8s-test`.
2026-07-22 16:12:11 -03:00

46 lines
1.3 KiB
TOML

[project]
name = "sowai-fiscal-svc"
version = "0.1.0"
description = "SowAI shared fiscal service: NF-e/NFC-e/NFS-e issuance as a multi-product REST API"
requires-python = ">=3.11"
dependencies = [
"alembic>=1.18.5",
"asyncpg>=0.31.0",
"bcrypt<4.1",
"cryptography>=49.0.0",
"erpbrasil-assinatura>=1.8.0",
"fastapi>=0.139.0",
"passlib[bcrypt]>=1.7.4",
"pydantic-settings>=2.0",
"pydantic>=2.13.4",
"sowai-fiscal",
"sqlalchemy[asyncio]>=2.0",
"uvicorn[standard]>=0.49.0",
]
[dependency-groups]
dev = [
"httpx>=0.28.1",
"pytest>=9.1.1",
"pytest-asyncio>=1.4.0",
]
[tool.pytest.ini_options]
asyncio_default_fixture_loop_scope = "session"
asyncio_default_test_loop_scope = "session"
[tool.uv.sources]
sowai-fiscal = { git = "https://git.sowai.com.br/jonatan/sowai-fiscal.git", rev = "v0.1.0" }
# src-layout (mirrors sowai-fiscal's own pyproject.toml): `fiscal_svc` is
# installed editable by `uv sync` via hatchling, so `import fiscal_svc`
# works regardless of cwd (Docker's deps-cache layer runs `uv sync
# --no-install-project` BEFORE `COPY . .`, then a second `uv sync` after —
# see the Dockerfile's comment for why).
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/fiscal_svc"]