[project]
license = "Apache-2.0"
license-files = ["LICENSE"]
name = "erp-brick-product"
version = "0.2.2"
description = "One list of what you sell, with its unit, how it is billed and how it is taxed, and the prices each customer pays: list prices per currency, customer price lists, quantity breaks and dated price changes, so a quote, an order and an invoice all charge the same price without anyone re-typing it."
requires-python = ">=3.10"
dependencies = ["erp-platform>=0.9.13,<0.10"]
[project.optional-dependencies]
test = ["pytest>=8", "uvicorn>=0.34"]
[build-system]
requires = ["setuptools>=77"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["src"]
# The schema, the migrations and the process ship INSIDE the package: an installed brick (how a composition
# gets it) must be able to migrate its own tables and show its own process.
[tool.setuptools.package-data]
brick_product = ["schema.sql", "migrations/*/*.sql", "application/process.yaml", "roles.yaml",
"domain/unece_rec20_21.json"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
addopts = "--show-capture=no"
# The rules this brick is held to: pyflakes, the error classes and import order.
[tool.ruff]
line-length = 120
target-version = "py310"
[tool.ruff.lint]
select = ["E4", "E7", "E9", "F", "I"]