Skip to content

Include linked assets in source distribution - #44

Merged
sergioald merged 1 commit into
mainfrom
include-sdist-linked-assets
Jul 25, 2026
Merged

sergioald merged 1 commit into
mainfrom
include-sdist-linked-assets

Conversation

@sergioald

Copy link
Copy Markdown
Owner

Summary

Includes the documentation and reproducibility assets referenced by files in the source distribution.

Why

PR #43 added MANIFEST.in so source distributions retain the repository documentation and example materials. However, the original patterns included only:

recursive-include docs *.md *.tex *.pdf
recursive-include examples *.md *.json *.csv

This omitted files that the included documentation depends on, including:

  • images under docs/figures/, such as cover.png;
  • YAML templates such as examples/run_manifest_template.yml;
  • reproducibility scripts such as regenerate.py;
  • supporting text files such as expected_tree.txt.

As a result, an unpacked source distribution could contain documentation with broken links or incomplete reproducibility instructions even though the files are present in the GitHub repository.

Changes

  • expands the docs/ source-distribution pattern to include:
    • PNG;
    • JPG and JPEG;
    • SVG;
  • expands the examples/ source-distribution pattern to include:
    • YAML and YML;
    • Python scripts;
    • text files;
  • updates the metadata regression test so the expanded patterns remain required.

The resulting manifest patterns are:

recursive-include docs *.md *.tex *.pdf *.png *.jpg *.jpeg *.svg
recursive-include examples *.md *.json *.csv *.yml *.yaml *.py *.txt

Validation

python -m py_compile tests/test_project_metadata.py
python -m pytest tests/test_project_metadata.py
python -m pytest
python -m pre_commit run --all-files

rm -rf build dist
python -m build
python -m twine check dist/*

The source distribution should also be inspected to confirm that the linked assets are present, including:

docs/figures/cover.png
examples/run_manifest_template.yml

and any reproducibility example files such as:

regenerate.py
expected_tree.txt

Compatibility

  • no solver mathematics are changed;
  • no CLI or GUI behaviour is changed;
  • package version remains 0.6.5;
  • runtime dependencies are unchanged;
  • input and output schemas are unchanged;
  • wheel contents and installed runtime behaviour are unaffected except for the improved completeness of the source distribution.

Scope

This is a packaging-only correction following the review of PR #43. It does not create a release, publish to PyPI or Zenodo, or change numerical behaviour.

@sergioald
sergioald merged commit 50ece5d into main Jul 25, 2026
3 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