Skip to content

Feat: Ship the manifest inside the package, and prove it by building the wheel - #22

Merged
b-re-w merged 1 commit into
developfrom
work/ship-manifest
Oct 2, 2026
Merged

b-re-w merged 1 commit into
developfrom
work/ship-manifest

Conversation

@b-re-w

@b-re-w b-re-w commented Oct 2, 2026

Copy link
Copy Markdown
Member

Closes #13

pythonx-map.toml sat at the repository root, where package-data cannot reach it, and the re-export rule (#21) reads it at run time. An installed package would have failed on the first name it resolved. The manifest moves to pythonx/compose/pythonx-map.toml.

Feature added: the manifest ships in the wheel.
Test added: tests/test_wheel.py builds the wheel from a copy of the sources and lists it (manifest, _reexport.py, an __init__.py per mapped module). Red before the move: 2 failed, 1 passed. It skips where setuptools/wheel are missing.
Test changed: the notebook-coverage test now skips when UI.ipynb is absent, instead of passing with nothing checked (the leader's open item 5).
Packaging: requires-python goes from >= 3.8 to >= 3.11, because the runtime needs tomllib.
Documentation corrected: README (EN/KO) link and example path, guide example, SPEC S1.1 and baseline, PROJECT.md, AGENTS.md §11.
Not here: .pyi and py.typed (#12).

Environment Before After
No PythonMultiplatform checkout (notebook present) 40 passed, 45 skipped 43 passed, 45 skipped
../PythonMultiplatform 81 passed, 4 skipped 84 passed, 4 skipped

tools/check_guide.py: 0 findings.

…the wheel

pythonx-map.toml sat at the repository root, outside every package directory,
so the package-data pattern that names it could never pick it up -- and the
re-export rule now reads it at run time, so an installed pythonx-compose would
have failed on the first name it resolved. It moves to
pythonx/compose/pythonx-map.toml, and every reader follows.

tests/test_wheel.py builds the wheel from a copy of the sources (nothing lands
in the checkout) and lists it: the manifest, the re-export rule, and an
__init__.py for every mapped module must be inside. It skips, saying so, where
setuptools or wheel is missing.

requires-python goes from 3.8 to 3.11: the runtime reads the manifest with
tomllib.

The notebook-coverage test now skips where UI.ipynb is absent instead of
passing with nothing checked, which AGENTS.md section 11 used to warn about.

feature added: the manifest ships in the wheel.
test added: test_wheel.py (3). Red before the move: 2 failed, 1 passed.
test changed: the notebook-coverage test skips without the notebook.
documentation corrected: README and its Korean copy (link and example path),
the guide's getting-started example, SPEC S1.1 and baseline, PROJECT.md tree
and baseline, AGENTS.md sections 11.
Suite with ../PythonMultiplatform: 81 passed, 4 skipped -> 84 passed, 4
skipped. Without a checkout: 40 passed, 45 skipped -> 43 passed, 45 skipped
(main checkout, notebook present). check_guide.py: 0.

Refs #13
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