Location: pyproject.toml:9
What happens: pyproject.toml declares readme = "README.md", but no README.md exists anywhere in the repository:
$ git ls-files | grep -ic '^README'
0
Any PEP 517 build that reads project metadata fails on the missing file. Encountered while building the Rust extension locally:
Caused by: Failed to read readme specified in pyproject.toml, which should be at .../README.md
Caused by: failed to open file `.../README.md`: No such file or directory (os error 2)
Why that's wrong: readme is a static metadata key; setuptools resolves it while building both sdist and wheel. A fresh clone therefore cannot be built or installed from source (pip install ., uv pip install -e ., python -m build), and publish-PyPI.yml depends on that path. MANIFEST.in does not compensate — it controls sdist inclusion, not metadata resolution.
Documentation lives under wiki/ (Home.md, Sources.md, Rupture-Propagation.md) with no top-level README, which suggests the file was removed or never committed rather than deliberately omitted.
How to reproduce:
git clone git@github.com:ucgmsim/source_modelling && cd source_modelling
python -m build # or: pip install .
# error: Failed to read readme specified in pyproject.toml
Suggested direction: Add a top-level README.md — likely the natural home for wiki/Home.md's content — or drop the readme key from pyproject.toml:9 if a README is not wanted. No PR attached: authoring the project's front-page text is a call for the maintainers, not something to auto-generate.
This is a packaging defect rather than a code-correctness bug; filing it because it blocks source installs outright.
Confidence: high
Location:
pyproject.toml:9What happens:
pyproject.tomldeclaresreadme = "README.md", but noREADME.mdexists anywhere in the repository:Any PEP 517 build that reads project metadata fails on the missing file. Encountered while building the Rust extension locally:
Why that's wrong:
readmeis a static metadata key; setuptools resolves it while building both sdist and wheel. A fresh clone therefore cannot be built or installed from source (pip install .,uv pip install -e .,python -m build), andpublish-PyPI.ymldepends on that path.MANIFEST.indoes not compensate — it controls sdist inclusion, not metadata resolution.Documentation lives under
wiki/(Home.md,Sources.md,Rupture-Propagation.md) with no top-level README, which suggests the file was removed or never committed rather than deliberately omitted.How to reproduce:
Suggested direction: Add a top-level
README.md— likely the natural home forwiki/Home.md's content — or drop thereadmekey frompyproject.toml:9if a README is not wanted. No PR attached: authoring the project's front-page text is a call for the maintainers, not something to auto-generate.This is a packaging defect rather than a code-correctness bug; filing it because it blocks source installs outright.
Confidence: high