Repository navigation
feat(cli): require cyclopts v5 - #64
Merged
Merged
Conversation
sourcery-ai
Bot
dismissed
their stale review
September 27, 2026 12:10
Sourcery withdrew this approval because the latest commits introduced blocking findings.
Cyclopts 5 exits 2 on usage errors itself (BrianPugh/cyclopts#874), so drop the `exit_on_error=False` / `except CycloptsError` workaround and the now-unused EX_USAGE constant. Cyclopts 5 needs Python >=3.11, so default python_min to 11 and reject cyclopts with python_min < 11. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01GyMoD8tx4oz1bpJ1tEL845
tsvikas
force-pushed
the
cyclopts-v5
branch
from
September 27, 2026 12:11
26fd14b to
8293e35
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.
Cyclopts 5.0.0 now exits
2on usage errors itself (BrianPugh/cyclopts#874). The template's cyclopts CLI no longer needs its own workaround.Changes
pyproject.toml.jinja:cyclopts >=4→cyclopts >=5.cli.py.jinja: removedexit_on_error=Falseand theexcept CycloptsError: sys.exit(EX_USAGE)clause. Also removedEX_USAGE, because nothing uses it now. Themain()wrapper that maps uncaught exceptions to sysexits codes stays: upstream declared that part out of scope in Feature request: exit70rather than1on an uncaught exception BrianPugh/cyclopts#875.test_cli.py.jinja: asserts exit code2directly, with the convention explained in a comment.copier.yml: cyclopts 5 needs Python >=3.11 (3.10 reaches end of life in Oct 2026).python_minnow defaults to11, and a validator oncli_frameworkrejectscycloptswhenpython_min < 11.Verification
pyproject.tomlhasrequires-python >=3.11andcyclopts >=5.just testandjust test-lowest 3.11in the generated project: all tests pass (the lowest-deps run resolves to cyclopts 5.0.0).delorian-car --bogus: it prints the cyclopts error panel and exits with code 2.python_min=10together withcli_framework=cyclopts.Known unrelated failures, also on
mainjust test(ctt) fails injust init:detect-secretsflags the random/tmp/.../ctt-src-*_src_pathin.copier-answers.yml. copier-template-tester 3.0.0 renders from a temp copy.self-repositoryaudit that flagsuses: ./.github/workflows/ci.ymlinbuild-and-publish.yml.🤖 Generated with Claude Code
https://claude.ai/code/session_01GyMoD8tx4oz1bpJ1tEL845