Copies the 6 pure fiscal modules (domains, chave_acesso, tpag, presets, resolver, xml_builder) from sowai-auto's backend/app/modules/fiscal/ into this standalone lib, with only the two mechanical changes required to drop the app.* dependency: import prefix rename, and TaxRule (ORM) -> TaxRuleLike (structural Protocol) in the resolver. No other line changes -- byte-level parity with the auto is the point. Ports the pure test suites (domains, chave_acesso, resolver with a local FakeTaxRule satisfying TaxRuleLike, xml_builder) plus a new test_presets_data covering the PRESETS dict directly (the auto's equivalent test exercises the apply-preset HTTP/DB flow, which isn't part of the extracted pure core). 55 tests pass locally via `uv run pytest`, no Postgres/k8s required.
22 lines
516 B
TOML
22 lines
516 B
TOML
[project]
|
|
name = "sowai-fiscal"
|
|
version = "0.1.0"
|
|
description = "Núcleo fiscal SowAI: motor de regras (imposto-como-dado), chave de acesso, builder de XML NF-e 4.00/NT 2025.002 v1.40"
|
|
requires-python = ">=3.11"
|
|
dependencies = [
|
|
"pydantic>=2.7",
|
|
"nfelib>=2.5.2",
|
|
"lxml>=5.2",
|
|
"xsdata>=24.0",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = ["pytest>=8", "pytest-asyncio>=0.24"]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/sowai_fiscal"]
|