diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..5ac54fa --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,6 @@ +include LICENSE +include README.md +include pyproject.toml +recursive-include src *.py +global-exclude __pycache__ +global-exclude *.py[co] \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index e160108..fb58497 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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" diff --git a/workplans/CYA-WP-0004-dev-install-and-release-packaging.md b/workplans/CYA-WP-0004-dev-install-and-release-packaging.md index 0466ad4..41c7d72 100644 --- a/workplans/CYA-WP-0004-dev-install-and-release-packaging.md +++ b/workplans/CYA-WP-0004-dev-install-and-release-packaging.md @@ -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