Skip to content

docs(packaging): state where third_party/ actually lives for a wheel install - #150

Open
argszero wants to merge 1 commit into
google-research:mainfrom
argszero:fix/docs-third-party-wheel-claims
Open

argszero wants to merge 1 commit into
google-research:mainfrom
argszero:fix/docs-third-party-wheel-claims

Conversation

@argszero

Copy link
Copy Markdown

Summary

Three documentation lines describe where third_party/ lives, and none matches the tree:

  • third_party/README.md said the tree "is included in wheels so setup works outside
    a source checkout". It is not: a wheel built from main contains no third_party
    entry at all, and config.py:24-25 resolves THIRD_PARTY from the working directory
    for a wheel installation, so the tree would not be found under site-packages even if
    it shipped there.
  • docs/SETUP.md ("Wheel installations") listed the directories a wheel installation
    resolves from its working directory — .env, dependencies/, runs/ — and omitted
    third_party/, which config.py:25 resolves from there too. A reader following that
    section exactly still gets "benchmark runners and patches are not included in this copy
    (7 of 7 missing under third_party/)".
  • dependencies/PINNED.md named harness2/third_party/{jb,lab,wb}_runner/. There is no
    harness2/third_party; the runners are at third_party/{jb,lab_runner,wb_runner}/.
    This is the same non-existent path MANIFEST.in carried, which fix(packaging): ship third_party and the provenance manifest in the sdist #145 fixes in that file;
    this PR fixes the prose occurrence and leaves MANIFEST.in to fix(packaging): ship third_party and the provenance manifest in the sdist #145.

The new wording is what holds on main today: the tree is part of a source checkout, a
wheel ships the package without it, and a wheel installation looks for it in the directory
it is run from.

Measurements behind each claim

$ uv build --wheel
$ unzip -l dist/harness2-0.1.0-py3-none-any.whl | grep -c third_party
0
$ unzip -l dist/harness2-0.1.0-py3-none-any.whl | awk 'NR>3 && $4!="" {print $4}' \
    | grep -v '/$' | cut -d/ -f1 | sort | uniq -c
  39 harness2
   6 harness2-0.1.0.dist-info

harness2/config.py:24-25:

ROOT = PKG.parent if (PKG.parent / "pyproject.toml").is_file() else Path.cwd()
THIRD_PARTY = ROOT / "third_party"

install.missing_runners() is called from harness2/cli/setup.py:41 and
harness2/preflight.py:29, which is why the new SETUP.md text says setup reports the
missing runners.

Related Issue

Closes #146.

Not in this PR

Whether a wheel should carry third_party/ — package data plus a config.py fallback
to site-packages — is a packaging decision for a maintainer, and a larger change than
this one. This PR only stops the documentation from asserting behaviour the code does not
have.

Tests

  • Existing tests pass
  • New tests added

python3 -m unittest discover -s tests -v → 5 tests, OK.

No new test file: the change is prose, and a test asserting a documentation sentence is
true would not bite on the code. The old claims are shown gone by grep instead:

$ grep -rn "included in wheels\|harness2/third_party" --include="*.md" .
(no matches outside MANIFEST.in, which #145 owns)

@google-cla

google-cla Bot commented Oct 28, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@argszero
argszero force-pushed the fix/docs-third-party-wheel-claims branch from ab2fd0a to ce48bbd Compare October 28, 2026 10:15
…install

third_party/README.md claimed the tree ships in wheels; a wheel built from
main contains no third_party entry, and config.py resolves the tree from the
working directory, so an installed wheel never finds it under site-packages.
docs/SETUP.md listed the directories a wheel installation resolves without
third_party/, which is one of them. dependencies/PINNED.md named
harness2/third_party/, a path that does not exist.
@argszero
argszero force-pushed the fix/docs-third-party-wheel-claims branch from ce48bbd to a3dd024 Compare November 2, 2026 05:25
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.

third_party/README.md says the tree ships in wheels, and docs/SETUP.md omits third_party from what a wheel install resolves

1 participant