[project]
license = "Apache-2.0"
license-files = ["LICENSE"]
name = "erp-brick-projects"
version = "0.1.4"
description = "Turn what you sold into a delivery plan, see what is late and what is waiting on the client, get each piece of work accepted with proof, and know at the end what was delivered against what was sold, so that billing follows delivery instead of a spreadsheet."
requires-python = ">=3.10"
dependencies = ["erp-platform>=0.9.2,<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_projects = ["schema.sql", "migrations/*/*.sql", "application/process.yaml", "roles.yaml"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
# The rules this brick is held to: pyflakes, the error classes and import order. Pinned, so the result does not
# change with whichever ruff a machine has.
[tool.ruff]
line-length = 120
target-version = "py310"
[tool.ruff.lint]
select = ["E4", "E7", "E9", "F", "I"]