Conversation
WalkthroughRelaxed and modernized many dependency version specifiers, added a new "ty" tool and configuration, updated devcontainer UV version and an inline devcontainer context-hash comment, and adjusted installer/template package version syntax. No public API or function signatures were changed. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes
Possibly related PRs
Pre-merge checks❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
🔇 Additional comments (5)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock
📒 Files selected for processing (9)
.devcontainer/devcontainer.json(1 hunks)extensions/context.py(1 hunks)pyproject.toml(1 hunks)template/.devcontainer/install-ci-tooling.py.jinja-base(1 hunks)template/extensions/context.py.jinja-base(1 hunks)template/pyproject.toml.jinja-base(1 hunks)template/template/ty.toml(1 hunks)template/ty.toml(1 hunks)ty.toml(1 hunks)
🔇 Additional comments (9)
.devcontainer/devcontainer.json (1)
65-65: Auto-generated hash update.This is a pre-commit hook managed context hash - no action needed.
template/.devcontainer/install-ci-tooling.py.jinja-base (1)
79-81: Version specifier now embedded in context variable.The format strings correctly drop the
==prefix sincecopier_versionandcopier_template_extensions_versionnow include the operator (e.g.,"==9.11.0"). This differs frompre_commit_version(line 91) which remains a bare version string with explicit==in the format string.template/pyproject.toml.jinja-base (1)
11-18: LGTM! Templated dependencies properly configured.The dependencies section correctly uses Jinja template variables for version management. The
{% raw %}and{% endraw %}tags properly escape the template syntax, and version variables (including the newty_version) will resolve from the context hook.extensions/context.py (2)
17-26: Version constraint strategy change looks intentional.The split approach makes sense:
- Exact pins (
==) forcopierandcopier-template-extensionsensure reproducible template generation- Minimum versions (
>=) for dev/testing tools allow flexibility while ensuring baseline compatibilityNew
ty_versioncorrectly follows the>=pattern for dev tooling.
29-44: Pulumi and related packages shifted to>=constraints.This allows downstream repositories to receive compatible updates without template regeneration. Since these are infrastructure-as-code dependencies, ensure downstream CI validates Pulumi deployments against potential version drift.
ty.toml (1)
1-18: LGTM! Sensible exclude patterns for ty type checker.The configuration correctly uses the [src] section with exclude patterns, which follows ty.toml's identical structure to pyproject.toml but without the [tool.ty] prefix. The exclude patterns appropriately use gitignore-style syntax to exclude directories like generated code, caches, and virtual environments from type checking.
template/extensions/context.py.jinja-base (1)
20-20: LGTM! Consistent with existing pattern.The addition of
ty_versionto the context follows the established pattern for version assignments and integrates properly with the template's context hook mechanism.template/ty.toml (1)
1-1: Verify the intended behavior when this file is deployed to downstream projects.This file contains
../ty.toml, which references a parent directory. When this template is deployed to a downstream project via copier, this file becomes the rootty.tomlof that project. At that point, the reference to../ty.tomlwould point outside the project directory, which may not be the intended behavior.Please clarify:
- Is this file meant to reference the template repository's root ty.toml during development?
- Should this be a template file (.jinja) that generates actual ty configuration rather than a path reference?
- How should ty be configured in downstream projects that use this template?
template/template/ty.toml (1)
1-1: Clarify symlink usage for ty.toml in template deployment.The
template/template/ty.tomlis a symbolic link pointing to../../ty.toml(the root ty.toml file exists and contains valid ty configuration). However, when this template is deployed to downstream projects via Copier, symbolic links may not be preserved depending on the deployment method, potentially resulting in broken references in generated projects. Confirm that symlinks are either:
- Preserved during template deployment, or
- Converted to actual files/copies as part of the template generation process
| "pytest-cov>=7.0.0", | ||
| "pytest-randomly>=4.0.1", | ||
| "pyright[nodejs]>=1.1.407", | ||
| "ty>=0.0.2", |
There was a problem hiding this comment.
Update dependency constraint to match current stable release.
ty is an extremely fast Python type checker and language server written in Rust, backed by Astral, the creators of uv and Ruff. The constraint should be >=0.0.2 (not >=0.0.2) as 0.0.2 is the beta release, making it the current stable version. However, note that ty is a preview release with missing features and known issues that shouldn't be used in production yet.
🤖 Prompt for AI Agents
In pyproject.toml around line 12 replace the existing ty dependency constraint
with the stable-preview constraint "ty>=0.0.2" (ensure the entry matches the
project’s dependency syntax exactly), updating the version string on that line;
leave a comment or note elsewhere in the file that ty is a preview release and
should not be used in production.
Why is this change necessary?
Lay framework for starting to use ty type checker
How does this change address the issue?
Adds it to context/pyproject and creates a ty.toml file
What side effects does this change have?
N/A
How is this change tested?
Downstream repos
Other
Bumps pulumi deps
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.