Changelog¶
The full history lives in the repository's
CHANGELOG.md.
[0.4.0] — 2026-09-27¶
Added¶
test --fastandcheck --fast: the suite in parallel. Runspytest -n <workers> -p no:cacheprovider [target]with pytest-xdist;--workers/-wtakes whatpytest -ntakes (an integer,auto— the default — orlogical) and is a usage error without--fast. The target is forwarded and pytest's exit code comes back untranslated. It is a flag, not a subcommand, becausetest fastkeeps meaning thefast/folder. Details.- A missing pytest-xdist is a sentence, not
unrecognized arguments: -n.--fastasks the interpreter that will run pytest whether it can importxdist; when it cannot, the message names the package and the extras (tempest-cli[tools],tempest-fastapi-sdk[tests]) and the exit code is 127, with no traceback. Undercheck --fastthe check comes before the first step. run_pytest/run_full_checkgainfast=andworkers=, keyword-only, serial by default.
Changed¶
[tools]now carriespytest-xdist>=3.8.0. No upper bound in itsrequires-dist(execnet>=2.1,pytest>=7.0.0).
[0.3.0] — 2026-08-15¶
Changed¶
ruffnow ships with the package. It left the[tools]extra for the runtime dependencies, souv add --dev tempest-cliis enough forlint,fix,formatandfmt-checkto run. The cost is nil: ruff is a static binary wheel with no Python dependencies of its own, so no bound of its reaches a consumer's resolution.mypyandpyteststay out on purpose;[tools]now installs exactly those two.- The project's environment is searched before the CLI's own. With
ruff bundled, the CLI's environment always has one — looking there
first would silently override a version the project pinned whenever
tempest-clilives apart from it (uv tool install, pipx). The order is now$VIRTUAL_ENV→ nearest.venv→ the CLI's environment →PATH→uv run --with.
[0.2.0] — 2026-08-15¶
Added¶
tc, a short alias installed next totempest-cli— the same program. While the installing environment is onPATHit shadows iproute2'stc(8)(call/usr/sbin/tcfor the network one).
Fixed¶
- The gate no longer runs a dead pyenv/asdf shim.
tempest-cli fixin a project without ruff answeredpyenv: ruff: command not foundand exited 127. The lookup now searches the run's own environments first (the CLI's interpreter directory,$VIRTUAL_ENV, the nearest.venv) and accepts a shim only after<tool> --versionproves it dispatches — the same check applies touvitself. - The
uvfallback stopped leaking back toPATH. It wasuv run <tool>, which falls back toPATHwhen the project environment has no such tool — landing on the shim just rejected. It is nowuv run --with <tool> <tool>. - The 127 message names the fix (
uv add --dev ruff, or"tempest-cli[tools]"for the set).
[0.1.0] — 2026-08-15¶
First release. Extracted from
tempest-fastapi-sdk,
where the same gate shipped as tempest check — reachable only by
installing a FastAPI SDK.
Added¶
- The gate:
lint,fix,format,fmt-check,type,testandcheck. - Typing strictness through
[tool.tempest] typing_strictness, with a--strictnessoverride per run. pr-prompt— the prompt that makes an AI write the PR description.- A library surface (
run_full_check,load_tempest_config,generate_pr_prompt, …) andregister_commands(app)to mount the gate on another CLI.
Notes¶
- The only runtime dependency is
typer. The tools come from the project environment. - Measured against the SDK it came from: reaching these commands there loaded 38.7 MB of dependencies and ~0.5 s of import time per invocation. A test in this package asserts that importing it pulls no web framework.