Source code for check_dist._cli
"""CLI entry point for check-dist."""
from __future__ import annotations
import argparse
import sys
from ._core import CheckDistError, check_dist
[docs]
def main(argv: list[str] | None = None) -> None:
parser = argparse.ArgumentParser(
prog="check-dist",
description="Check Python source and wheel distributions for correctness",
)
parser.add_argument(
"source_dir",
nargs="?",
default=".",
help="Source directory (default: current directory)",
)
parser.add_argument(
"--no-isolation",
action="store_true",
help="Disable build isolation",
)
parser.add_argument(
"-v",
"--verbose",
action="store_true",
help="List every file inside each distribution",
)
parser.add_argument(
"--pre-built",
metavar="DIR",
default=None,
help="Use existing dist files from DIR instead of building",
)
parser.add_argument(
"--rebuild",
action="store_true",
help="Force a fresh build even when pre-built dists exist in dist/ or wheelhouse/",
)
args = parser.parse_args(argv)
try:
success, messages = check_dist(
source_dir=args.source_dir,
no_isolation=args.no_isolation,
verbose=args.verbose,
pre_built=args.pre_built,
rebuild=args.rebuild,
)
for msg in messages:
print(msg)
sys.exit(0 if success else 1)
except CheckDistError as exc:
print(f"Error: {exc}", file=sys.stderr)
sys.exit(2)
if __name__ == "__main__":
main()