You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Validation accepts malformed GitHub URLs and project or package names that conflict with toolchain dependencies, producing projects with invalid YAML or broken installation and test setups.
No open issues 🎉
3 previously missed issues
In code that hasn't changed since last review
Reject tool dependency names in generated extras
src/scene_repo_template/cli.py:68
new pytest --yes is accepted, but the generated dev extra then depends on the project itself instead of the real pytest distribution, breaking the documented installation/test setup. The same collision affects pre-commit, pytest-cov, and jupyter-book in their respective extras. Reject these distribution names using normalized comparison, including variants such as Pre_Commit.
Reject package names that shadow toolchain imports
src/scene_repo_template/cli.py:82
--package=pluggy is accepted, but running python -m pytest from the generated project imports its root-level stub instead of pytest's required pluggy dependency, which lacks PluginManager. Reject import names required by the generated toolchain, including transitive dependencies, so accepted names produce usable projects.
Reject GitHub URLs without a hostname
src/scene_repo_template/cli.py:96
--github=https:// passes this validation, but URL normalization later reduces it to https:. The generated MyST configuration then contains github: https:, which is invalid YAML, so generation reports success but the documentation cannot build. Validate that the URL has a hostname before writing the project.
The reason will be displayed to describe this comment to others. Learn more.
Only minor suggestions. It works very well!
Some general comments about the License
It is now fixed to Apache 2.0. Should we add a --license option? To make it easy to change.
The guide only names pyproject.toml and LICENSE, but also docs/myst.yml and readme need to be updated.
The copyright owner and year are still blank. Since the author and year are know should we add those by default ?
And unrelated to the current PR, but as you know I am really a fan of making mkdocs the default instead of jupyterbook. It has the ability to do auto api docs and works well with notebooks too.
- Added __init__.py and version.py for package versioning.
- Implemented CLI in cli.py for creating new SCENE projects.
- Included skeleton files for common project structure, including LICENSE, README, and pyproject.toml templates.
- Set up GitHub Actions workflows for linting and testing.
- Created Jupyter Book documentation structure with templates.
- Updated tests to reflect new package name and structure.
- Added questionary dependency for interactive CLI prompts.
- Clarify license synchronization steps in documentation.
- Improve error handling and user prompts in CLI for better interactivity.
- Update output messages to include direct links to the template guide.
- Add tests for interactive CLI behavior and validation of user inputs.
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
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
scene-repo-template new, which generates a project (packaging, pre-commit, CI, Jupyter Book docs) from a template, with end-to-end tests.