from __future__ import annotations import argparse import sys from collections.abc import Sequence if sys.version_info >= (3, 11): # pragma: >=3.11 cover import tomllib else: # pragma: <3.11 cover import tomli as tomllib def main(argv: Sequence[str] | None = None) -> int: parser = argparse.ArgumentParser() parser.add_argument('filenames', nargs='*', help='Filenames to check.') args = parser.parse_args(argv) retval = 0 for filename in args.filenames: try: with open(filename, mode='rb') as fp: tomllib.load(fp) except tomllib.TOMLDecodeError as exc: print(f'{filename}: {exc}') retval = 1 return retval if __name__ == '__main__': raise SystemExit(main())