Prepare veralang distribution for PyPI publication#1027
Conversation
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 14 minutes Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
One-time local environment migration after mergeThis PR does not rename the CLI or import package: the command remains However, pip treats the old For an existing pip-managed development venv: python -m pip uninstall -y vera veralang
python -m pip install -e ".[dev]"This temporarily removes and then recreates the same For a uv-managed environment: uv sync --extra devThis is a one-time development-environment cleanup caused by the distribution rename; normal Vera CLI usage is otherwise unchanged. |
Greptile SummaryThis PR renames the Python distribution from
Confidence Score: 5/5Safe to merge. The rename is mechanical and consistent across all affected files; the user-facing CLI name and Python import name are unchanged. All changes are naming/metadata updates and additive CI/tooling work. The dist rename from vera to veralang is applied uniformly across pyproject.toml, uv.lock, self-referencing extras, and all documentation. The new CI job and check_distribution.py are well-structured and do not touch production code paths. No files require special attention.
|
| Filename | Overview |
|---|---|
| .github/workflows/ci.yml | Adds package-distribution job: builds wheel/sdist, runs twine check, validates archive contents, and smoke-tests the installed wheel outside the checkout. |
| scripts/check_distribution.py | New validation script for wheel/sdist contents. Wheel filename is hardcoded as {name}-{version}-py3-none-any.whl, correct for pure-Python but fragile if a compiled extension is ever added. |
| pyproject.toml | Renames distribution from vera to veralang, updates self-referencing extras, adds Python 3.13 classifier, and switches readme to PYPI_README.md. |
| PYPI_README.md | New PyPI landing page with correct install instructions and veralang/vera name-split explanation. |
| uv.lock | Lockfile updated to reflect the veralang package rename; self-referencing extras also updated. |
| scripts/check_licenses.py | Updates _SELF_PACKAGES from 'vera' to 'veralang' so the project itself is correctly excluded from license checks. |
| scripts/check_version_sync.py | Updates regex to match [[package]] name = "veralang" in uv.lock; comments and error messages updated accordingly. |
Reviews (3): Last reviewed commit: "docs: PyPI verification must not depend ..." | Re-trigger Greptile
There was a problem hiding this comment.
Actionable comments posted: 5
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
SKILL.md (1)
29-34: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winDo not use repository examples after a PyPI-only install.
After the PyPI route,
examples/hello_world.verais not available unless the user is already in a source checkout, so this verification command cannot test the installed package as claimed. Usevera versionor a temporary self-contained.verafile for the PyPI path, and keep repository-relative examples under the source-install instructions.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@SKILL.md` around lines 29 - 34, Separate verification by installation route in SKILL.md: keep examples/hello_world.vera checks only under the source checkout installation instructions, and for the PyPI-only path verify with vera version or a temporary self-contained .vera file. Ensure the PyPI verification does not depend on repository files.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/ci.yml:
- Line 267: Pin the actions/checkout and actions/setup-python uses in this
workflow, including the occurrences around the referenced lines and the existing
wheel-preflight job, to verified immutable commit SHAs for their intended
versions. Replace mutable tag references only and preserve each action’s current
version and configuration.
- Around line 285-294: Strengthen the installed-wheel smoke test in the “Install
and smoke-test the wheel outside the checkout” step by capturing the stdout from
“vera run hello_world.vera” and asserting it contains the expected hello-world
output. Preserve the existing version and check commands while ensuring a
successful exit alone is insufficient.
In `@README.md`:
- Around line 126-129: Add an explicit compatibility statement to the
installation guidance in README.md lines 126-129 and PYPI_README.md lines 30-32:
after installing the veralang distribution, users should continue importing the
Python package as vera, while preserving the existing vera executable guidance.
- Around line 120-124: Make every virtual-environment installation block usable
on Windows by adding a PowerShell and/or Command Prompt activation alternative
alongside the existing POSIX command. Apply the same update to README.md ranges
120-124 and 134-140, LSP_SERVER.md ranges 30-33 and 37-41, and SKILL.md ranges
14-17 and 23-27; update scripts/build_site.py range 611-615 so the generated
landing page emits the Windows alternative as well.
In `@scripts/build_site.py`:
- Around line 89-90: Update the generated editable-install command in the
source-install template within the build-site generation flow to use the
canonical development command, python -m pip install -e ".[dev]". Keep the
existing PyPI installation guidance unchanged.
---
Outside diff comments:
In `@SKILL.md`:
- Around line 29-34: Separate verification by installation route in SKILL.md:
keep examples/hello_world.vera checks only under the source checkout
installation instructions, and for the PyPI-only path verify with vera version
or a temporary self-contained .vera file. Ensure the PyPI verification does not
depend on repository files.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 260f55c0-2c9f-418f-bf46-70aec581f5de
⛔ Files ignored due to path filters (5)
docs/SKILL.mdis excluded by!docs/**docs/index.mdis excluded by!docs/**docs/llms-full.txtis excluded by!docs/**docs/llms.txtis excluded by!docs/**uv.lockis excluded by!**/*.lock,!uv.lock
📒 Files selected for processing (11)
.github/workflows/ci.ymlCHANGELOG.mdLSP_SERVER.mdPYPI_README.mdREADME.mdSKILL.mdpyproject.tomlscripts/build_site.pyscripts/check_distribution.pyscripts/check_licenses.pyscripts/check_version_sync.py
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
aallan/vera-bench(manual)
- README / PYPI_README: state the Python import package stays `vera` - build_site.py: the generated source-install command carries the `[dev]` extra - ci.yml: the wheel smoke test asserts `vera run` stdout, not just the exit code - README / LSP_SERVER / SKILL: add a Windows `.venv\Scripts\activate` activation alternative at each venv site - regenerate docs/ site assets Deferred one finding — SHA-pinning the wheel-preflight actions — since it mirrors the existing whole-workflow tag-ref convention and belongs in a separate hardening pass rather than one inconsistent job. Co-Authored-By: Claude <noreply@anthropic.invalid>
…utside-diff) The "verify after either route" block ran `vera check examples/hello_world.vera`, but a PyPI install (`pip install veralang`) has no checkout, so that file is absent. Split it: `vera version` verifies either route with no checkout, and the bundled-example check stays under the source-checkout path. Co-Authored-By: Claude <noreply@anthropic.invalid>
|
@coderabbitai Good catch on the outside-diff finding — fixed in fd7407b. SKILL.md's post-install verification is now split by route: |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
git log --oneline -5
git show fd7407b --stat
sed -n '1,80p' SKILL.mdLength of output: 6364
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1027 +/- ##
=======================================
Coverage 93.51% 93.51%
=======================================
Files 96 96
Lines 32024 32024
Branches 456 456
=======================================
Hits 29948 29948
Misses 2063 2063
Partials 13 13
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…lease The veralang-from-PyPI instructions (PR #1027) were premature - only a TestPyPI staging release of v0.1.4 exists; production PyPI first ships with the next release. README, SKILL, and LSP_SERVER revert to the source install; both build_site.py generator sites corrected and the generated docs/ assets regenerated (the live site corrects on merge); PYPI_README's heading no longer claims a released version (its install commands stay - that file is definitionally read post-publication). ROADMAP's sprint paragraph now lists the full live scope (PR D gaining #1037, PR E for #1038). Co-Authored-By: Claude <noreply@anthropic.invalid>
…uction release Reverts 8640ebc (which parked PR #1027's premature install instructions until a production package existed): README, SKILL, LSP_SERVER, PYPI_README, both build_site.py generator sites, and the regenerated docs/ assets document python -m pip install veralang (LSP extra "veralang[lsp]") as the primary route, with the GitHub source route preserved alongside and the distribution/command/import distinction stated explicitly. The docs/index.html badge link text completes the v0.1.5 version surface. Refs #737 — its completion gate is the live production package plus both routes verified post-release. Co-Authored-By: Claude <noreply@anthropic.invalid>
Summary
veratoveralangwhile preserving theveracommand andveraimport packageveralang[lsp]/veralang[dev]pip install veralangand the existing GitHub editable-install route across the README, language reference, LSP guide, PyPI README, and generated site assetsWhy
The
veradistribution name on PyPI belongs to an unrelated project. This establishesveralangas Vera's registry identity without changing the user-facing CLI or Python module names.User and developer impact
Released installs will use
python -m pip install veralangand continue to run theveracommand. GitHub source installs remain supported. Existing editable development environments should be refreshed after the metadata rename, for example withpython -m pip install -e ".[dev]".Scope
This is PR 1 of the publication plan in #737. It validates publication-ready artifacts but does not upload them. Trusted Publishing, TestPyPI/PyPI release automation, approval gates, and release-trigger policy remain follow-up work under #481.
Validation
7315 passed, 70 skippeduv lock --checkpython -m buildtwine check dist/*vera version,vera check, andvera runsmoke tests outside the checkoutSummary by CodeRabbit
New Features
veralangpackage.veracommand-line tool andveraPython import name.Documentation
Quality Improvements