Add NJOY2016 wheels to the collection - #21
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds NJOY2016 to the wheel collection, built from shimwell/NJOY2016
feature/python-wheelby this workflow run.What's added
Three wheels in a new
njoy2016/folder, version2016.79.post8:njoy2016-2016.79.post8-py3-none-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whlnjoy2016-2016.79.post8-py3-none-macosx_14_0_arm64.whlnjoy2016-2016.79.post8-py3-none-win_amd64.whlInstalling puts the
njoyexecutable on PATH, reading its input deck from stdin exactly as a source build does, sonjoy < deckbehaves identically.njoy.executable()returns the bundled binary path, which is handy for pointing OpenMC'sopenmc.data.njoyhelpers at it.Index plumbing
Three places hardcode the package list, so all three are updated:
update_indexs.py— addednjoy2016tofolders, then regenerated.moab/index.htmlandopenmc/index.htmlcame out unchanged, confirming they were already in sync.index.html— added the top-levelnjoy2016/link..github/workflows/check-index.yml— addednjoy2016to the checker's folder loop. Without this the new wheels would sit outside CI validation, which is easy to miss since nothing would fail.Verified
The repo's own checker logic passes for all three folders. I also served the repo locally and did a real resolution against it rather than only eyeballing the HTML:
macOS and Windows wheels are verified structurally (contents, platform tags) plus the in-CI test step; those binaries have not been executed outside CI.
Notes
No
Authormetadata. These wheels deliberately carry noAuthororMaintainerfield. NJOY2016 is authored by LANL, but naming LANL as the author of a third-party repackaging risks implying involvement in or endorsement of it, which the licence's no-endorsement clause forbids. Attribution is instead carried by the summary ("built from unmodified LANL sources") and by the full copyright notice shipped inside every wheel. Verified on all three: noAuthor/Maintainerlines,LICENSEpresent atdist-info/licenses/LICENSEwith the Los Alamos notice intact.Named
njoy2016, notnjoy. Thenjoyname on PyPI is taken by an unrelated unofficial upload that ships a Linux binary under apy3-none-anytag and takes its input deck as a positional argument instead of via stdin. Because--extra-index-urlpools candidates across PyPI and this index and picks the highest version, sharing the name would make resolution depend on staying ahead of that upload, and itsanytag would win outright on non-Linux platforms. A distinct name keeps resolution deterministic.One wheel per platform, not per Python version. Unlike the openmc and moab wheels, these are tagged
py3-none-<platform>: the wheel ships a Fortran executable with no Python extension module, so a single wheel per platform is valid for every supported interpreter. Noted in the README since the existing text emphasises matching your Python version.No sdist included, consistent with the existing folders —
update_indexs.pyonly globs*.whl. The tradeoff is that platforms without a wheel get nothing rather than falling back to a source build. Easy to add later if wanted.Licence. NJOY2016's licence permits binary redistribution provided the copyright notice and disclaimer accompany the distribution;
LICENSEships inside each wheel atnjoy2016-<version>.dist-info/licenses/LICENSE. The README states these are unofficial builds not endorsed by LANL, per the no-endorsement clause.Version string.
post8is derived by setuptools-scm from commit distance past the2016.79tag. A tagged release on the NJOY2016 side would produce a clean2016.79.