From e8646fb903acc4f94d82c600dcaa4f3e1b2f2f61 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Fri, 30 Jan 2026 11:24:57 -0500 Subject: [PATCH] fix: nicer fail message when --only is wrong (#2722) * fix: nicer fail message when --only is wrong Signed-off-by: Henry Schreiner * Update cibuildwheel/__main__.py --------- Signed-off-by: Henry Schreiner --- cibuildwheel/__main__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cibuildwheel/__main__.py b/cibuildwheel/__main__.py index bb253288..72e2434b 100644 --- a/cibuildwheel/__main__.py +++ b/cibuildwheel/__main__.py @@ -1,6 +1,7 @@ import argparse import contextlib import dataclasses +import functools import os import shutil import sys @@ -78,8 +79,13 @@ def main_inner(global_options: GlobalOptions) -> None: `main_inner` is the same as `main`, but it raises FatalError exceptions rather than exiting directly. """ + # Default in 3.15+, only needed on 3.14 + if sys.version_info >= (3, 14): + arg_parser = functools.partial(argparse.ArgumentParser, suggest_on_error=True) + else: + arg_parser = argparse.ArgumentParser - parser = argparse.ArgumentParser( + parser = arg_parser( description="Build wheels for all the platforms.", epilog=""" Most options are supplied via environment variables or in