Expand description
Optional checks for file types other than Rust source
Handles python tool version managment via a virtual environment in
build/venv
.
Β§Functional outline
- Run tidy with an extra option:
--extra-checks=py,shell
,--extra-checks=py:lint
, or similar. Optionally provide specific configuration after a double dash (--extra-checks=py -- foo.py
) - Build configuration based on args/environment:
- Formatters by default are in check only mode
- If in CI (TIDY_PRINT_DIFF=1 is set), check and print the diff
- If
--bless
is provided, formatters may run - Pass any additional config after the
--
. If no files are specified, use a default.
- Print the output of the given command. If it fails and
TIDY_PRINT_DIFF
is set, rerun the tool to print a suggestion diff (for e.g. CI)
Enums§
- Error π
Constants§
- BLACK_
CONFIG_ πPATH - MIN_
PY_ πREV - MIN_
PY_ πREV_ STR - PIP_
REQ_ πPATH - REL_
PY_ πPATH - RUFF_
CACH_ πPATH Location within build directory - RUFF_
CONFIG_ πPATH
Functions§
- check_
impl π - create_
venv_ πat_ path Attempt to create a virtualenv at this path. Cycles through all expected valid python versions to find one that is installed. - find_
with_ πextension Check git for tracked files matching an extension - get_
or_ πcreate_ venv Create a virtuaenv at a given path if it doesnβt already exist, or validate the install if it does. Returns the path to that venvβs python executable. - install_
requirements π - merge_
args πHelper to createcfg1 cfg2 -- file1 file2
output - py_
runner πRun a python command with given arguments.py_path
should be a virtualenv. - shellcheck_
runner πCheck that shellcheck is installed then run it at the given path - verify_
py_ πversion Parse pythonβs version output (Python x.y.z
) and ensure we have a suitable version.