Files
sowai-fiscal-svc/pyproject.toml
T
jonatanritter c903a9ce0e feat: certificates + series API v1 (Task 4)
Port certificate lifecycle (parse/encrypt/upload/deactivate) and
FiscalSeries CRUD from the auto, adapted to (product_id, tenant_ref,
branch_ref) tenancy. Closes the "guard retroativo" PATCH /v1/series
next_number regression check that Task 3 deferred to this task.

Routes: POST/GET/DELETE /v1/certificados, POST/GET/PATCH /v1/series.
2026-07-22 16:51:22 -03:00

47 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",
"python-multipart>=0.0.20",
"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"]