feat(packaging) + chore(workplan): complete T04 for CYA-WP-0004 — MANIFEST.in, pyproject improvements, verified clean sdist+wheel build and install

This commit is contained in:
2026-05-27 00:05:26 +02:00
parent f500a35ff0
commit e6b9610b25
3 changed files with 23 additions and 8 deletions

6
MANIFEST.in Normal file
View File

@@ -0,0 +1,6 @@
include LICENSE
include README.md
include pyproject.toml
recursive-include src *.py
global-exclude __pycache__
global-exclude *.py[co]

View File

@@ -35,6 +35,11 @@ where = ["src"]
[tool.setuptools]
zip-safe = false
include-package-data = true
license-files = ["LICENSE"]
[tool.setuptools.package-data]
"*" = ["py.typed"]
[project.urls]
Homepage = "https://github.com/worsch/can-you-assist"

View File

@@ -122,19 +122,23 @@ completed: "2026-05-27"
```task
id: CYA-WP-0004-T04
status: todo
status: done
priority: high
state_hub_task_id: "d49a3362-865f-4397-b127-372a2aa2c4a2"
started: "2026-05-27 ralph iter 4"
completed: "2026-05-27"
```
- Adopt the modern `build` frontend (`python -m build`).
- Ensure `pyproject.toml` + package data produces high-quality sdists and wheels.
- Add or improve `MANIFEST.in` / `pyproject.toml` configuration so that necessary files (README, LICENSE, etc.) are included.
- Verify that the resulting packages can be installed in a fresh environment and provide a working `cya` command.
**Done.**
**Acceptance criteria**:
- `python -m build` produces a clean sdist and wheel.
- The wheel installs correctly and `cya --version` works in an isolated environment.
- Created `MANIFEST.in` for proper sdist inclusion.
- Improved `pyproject.toml` (include-package-data, license-files under setuptools, package-data).
- `python -m build` successfully produces clean sdist + wheel.
- Verified in isolated venv: the wheel installs cleanly and `cya --version` works (shows proper dev version from setuptools_scm).
**Acceptance criteria met**:
- Clean, usable distribution packages can now be built.
- They install and run correctly in fresh environments.
### T05 — Create a lightweight release process