pyproject.toml
Rama main · réplica de lectura del repositorio original.
[project]
name = "looksee"
version = "0.2.0"
requires-python = ">=3.12,<3.13"
[dependency-groups]
dev = [
"fastapi-cli",
"pytest>=9",
"pytest-asyncio>=1.3",
"ruff>=0.16.2,<0.18",
]
[tool.uv]
package = false
override-dependencies = ["opencv-python; sys_platform == 'never'"]
conflicts = [
[
{ package = "looksee-inference", extra = "cpu" },
{ package = "looksee-inference", extra = "gpu" },
],
]
[tool.uv.workspace]
members = ["apps/api", "apps/inference", "packages/shared", "ee/api"]
[tool.pytest.ini_options]
testpaths = ["packages/shared/tests", "apps/api/tests", "apps/inference/tests", "ee/api/tests"]
addopts = "--import-mode=importlib"
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
filterwarnings = ["error"]
[tool.ruff]
line-length = 100
src = ["apps/api/src", "apps/inference/src", "packages/shared/src", "ee/api/src"]
[tool.ruff.lint]
select = [
"ASYNC",
"B",
"C4",
"DTZ",
"E4",
"E7",
"E9",
"F",
"FAST",
"G",
"I",
"LOG",
"N",
"PIE",
"PTH",
"RET",
"RUF",
"S",
"SIM",
"T20",
"TC",
"UP",
"W",
]
[tool.ruff.lint.per-file-ignores]
"**/tests/**" = ["S101", "S105", "S106"]
[tool.ruff.lint.flake8-type-checking]
runtime-evaluated-decorators = ["pydantic.dataclasses.dataclass"]
runtime-evaluated-base-classes = [
"pydantic.BaseModel",
"pydantic_settings.BaseSettings",
"sqlalchemy.orm.DeclarativeBase",
"api.domain.workflow.base.WorkflowModel",
"api.domain.workflow.conditions.ConditionModel",
"api.domain.workflow.filters.FilterNodeData",
"api.domain.workflow.actions.ActionNodeData",
]