feat(template): disambiguate repo-name from package-name#93
Merged
cameronraysmith merged 39 commits intomainfrom Feb 18, 2026
Merged
feat(template): disambiguate repo-name from package-name#93cameronraysmith merged 39 commits intomainfrom
cameronraysmith merged 39 commits intomainfrom
Conversation
…covery Replace hasFunctional/hasCli pathExists checks and hardcoded packageWorkspaces entries with builtins.readDir-based discovery. Packages are classified as maturin (Cargo.toml present) or pure Python automatically. Expose packageNames, maturinPackageNames, purePackageNames, and hasMaturinPackages via _module.args for downstream consumers (devshell.nix, containers.nix).
Rust recipes (cargo-build, cargo-test, cargo-clippy, cargo-nextest, cargo-check) now require an explicit package parameter instead of defaulting to pnt-cli.
Container recipes (container-build-production, container-load-production, container-push-production) now require an explicit CONTAINER parameter instead of defaulting to pnt-cli.
Annotate each package with a maturin boolean based on Cargo.toml presence in the package directory.
Filters list-packages-json to only maturin-enabled packages.
Probe for Cargo.toml in each package directory during CI discovery and include the result as a boolean is_maturin field in the JSON matrix output. Downstream jobs can use this to conditionally route maturin packages to Rust-specific build steps.
…MaturinPackages Consume hasMaturinPackages from _module.args exposed by python.nix instead of using builtins.pathExists ../packages/pnt-cli. Removes the last hardcoded package name reference from devshell.nix.
…ackage discovery Discover maturin packages by scanning packages/ for Cargo.toml presence, mirroring the discovery pattern in python.nix. Each discovered maturin package automatically gets a production container definition. Removes the hardcoded hasCli pathExists check and pnt-cli container definition.
Consolidate three per-package test-python check conditions into a single regex pattern that matches all test-python matrix job names generically.
…ntext Merge .1 and .2 scope so rename and Nix attribute updates happen atomically. Update all 5 issue descriptions with full rename/leave classification derived from sciexp/data fix commit analysis.
Rename the primary package directory and its source module from python_nix_template to pnt_core.
Rename python-nix-template to pnt-core in pyproject.toml, package.json, source code, tests, conda README, and CI config.
Update pythonNixTemplate* attr names to pntCore* and virtualenv name strings to pnt-core-3.1x in packages.nix and devshell.nix.
…core Update quartodoc package name, API reference description, install commands, import examples, and architecture doc references.
…d package The package-name placeholders must reflect the actual strings present in template files after the pnt-core rename, so omnix substitution targets the correct literals.
Separates the repository name from the package name in template instantiation. The placeholder targets the literal "python-nix-template" strings remaining in repo-name contexts (README, flake description, GitHub URLs, docs prose).
…e-init recipe The previous default value embedded github:sciexp/python-nix-template, which undergoes double placeholder substitution during omnix instantiation. Making template-ref a required parameter avoids this issue while also executing the init command directly rather than echoing usage instructions.
…ion examples Both convergent examples now include the new template parameters introduced by the disambiguation epic. Uses portable perl-based camelCase derivation instead of GNU sed.
Signed-off-by: Cameron Smith <cameron.ray.smith@gmail.com>
05cb685 to
4056a24
Compare
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.
No description provided.