Skip to content

chore(project): add python package foundation - #2

Merged
jaeyeopme merged 1 commit into
mainfrom
project-foundation
Jun 6, 2026
Merged

chore(project): add python package foundation#2
jaeyeopme merged 1 commit into
mainfrom
project-foundation

Conversation

@jaeyeopme

Copy link
Copy Markdown
Owner

Motivation

Add the package foundation needed before implementing the export workflow.

Scope

  • Add Python package tooling with uv, Hatchling, pytest, ruff, coverage, and basedpyright.
  • Add the typed package shell and workflow contract models.
  • Add a minimal Typer command shell so the configured console script is not broken.
  • Add CI for Python 3.11 and 3.13.

Out of Scope

  • Source fixture behavior.
  • Mapping, validation, and duplicate handling rules.
  • FastAPI export endpoint.
  • Real export CLI command.
  • Source data or output files.
  • Public docs status changes.

Modifications

  • Introduce src/clean_data_export_api with config defaults, typed models, py.typed, and CLI help.
  • Add tests for config defaults, date range validation, rejected reason codes, model contracts, and CLI help.
  • Add locked dependencies and CI checks for tests, ruff, basedpyright, and coverage.

Test Plan

  • uv sync
  • uv sync --locked
  • uv run pytest tests/test_config.py tests/test_models.py tests/test_cli.py -v
  • uv run ruff check src tests
  • uv run basedpyright
  • uv run pytest tests/test_config.py tests/test_models.py tests/test_cli.py --cov=clean_data_export_api --cov-report=term-missing --cov-fail-under=90
  • uv run python -m compileall src tests
  • uv run clean-data-export-api --help

Docs Impact

none

ADR Check

  • No architecture or scope decision needs a new or updated ADR.

Result

The repo can install, expose typed workflow contracts, run the CLI help surface, and verify package foundation checks in CI without export workflow behavior.

Add Python package tooling, typed workflow contracts, a minimal CLI help surface, tests, static type verification, and CI for the project foundation.
@jaeyeopme
jaeyeopme merged commit 2b887f4 into main Jun 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant