rock-cosmetics-ingestion/pyproject.toml
eugine.lopez d63cfe81c6 feat: initial scaffold for Rock Cosmetics Adit ingestion (#1784)
- pyproject.toml with rock-ingest CLI entrypoint
- config, db, ingest, migrate modules mirroring agency-marketing-ingest patterns
- column_map.py with stubbed COLUMN_MAP — fill once Adit CSV export lands
- 3 SQL migrations: schema bootstrap, imports tracking, leads table with GHL match_status
- drop/ directory for Adit export files (CSV first, xlsx fallback)
- GHL_CLINIC_NUM TBD pending Sir Alex Therrien confirmation
2026-06-20 02:43:03 +08:00

52 lines
1.1 KiB
TOML

[project]
name = "rock-cosmetics-ingestion"
version = "0.1.0"
description = "Adit export ingestion for Rock Cosmetics — feeds APID Attribution Dashboard (#1784)."
readme = "README.md"
requires-python = ">=3.12"
license = { text = "Proprietary" }
authors = [{ name = "Eugine Lopez" }]
dependencies = [
"openpyxl>=3.1",
"psycopg[binary,pool]>=3.2",
"pydantic>=2.9",
"pydantic-settings>=2.6",
"typer>=0.13",
]
[project.scripts]
rock-ingest = "rock_cosmetics_ingest.cli:app"
[dependency-groups]
dev = [
"pytest>=8.3",
"pyright>=1.1",
"ruff>=0.7",
]
[build-system]
requires = ["uv_build>=0.4"]
build-backend = "uv_build"
[tool.uv.build-backend]
module-name = "rock_cosmetics_ingest"
[tool.ruff]
target-version = "py312"
line-length = 100
src = ["src", "tests"]
[tool.ruff.lint]
select = ["E", "W", "F", "I", "B", "UP", "SIM", "RUF"]
ignore = ["E501"]
[tool.pyright]
include = ["src", "tests"]
typeCheckingMode = "basic"
pythonVersion = "3.12"
reportMissingImports = "error"
reportMissingTypeStubs = false
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra --strict-markers"