diff options
author | Mike Frysinger <vapier@gentoo.org> | 2024-01-10 02:42:23 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2024-01-10 02:42:23 -0500 |
commit | a172acf0b81a9a1027f1b28cfae5b2ba4f5a32c6 (patch) | |
tree | ff483492260ba5584524a7bd53141cf39c81c5b4 | |
parent | lddtree: raise min version to Python 3.8 (diff) | |
download | pax-utils-a172acf0b81a9a1027f1b28cfae5b2ba4f5a32c6.tar.gz pax-utils-a172acf0b81a9a1027f1b28cfae5b2ba4f5a32c6.tar.bz2 pax-utils-a172acf0b81a9a1027f1b28cfae5b2ba4f5a32c6.zip |
pyproject.toml: add black & isort & mypy settings
This should help stabilize the tool behavior for different developers.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rwxr-xr-x | lddtree.py | 4 | ||||
-rw-r--r-- | pyproject.toml | 42 |
2 files changed, 45 insertions, 1 deletions
@@ -49,7 +49,8 @@ import os import re import shutil import sys -from typing import Any, Dict, Iterable, List, Optional, Tuple, Union, cast +from typing import Any, cast, Dict, Iterable, List, Optional, Tuple, Union + assert sys.version_info >= (3, 8), f"Python 3.8+ required, but found {sys.version}" @@ -63,6 +64,7 @@ except ImportError: from elftools.common import exceptions # type: ignore from elftools.elf.elffile import ELFFile # type: ignore + # pylint: enable=import-error diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..ab0fde0 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,42 @@ +# Copyright 2024 Gentoo Foundation +# Copyright 2024 Mike Frysinger <vapier@gentoo.org> +# Copyright 2024 The ChromiumOS Authors +# Distributed under the terms of the GNU General Public License v2 + +# https://packaging.python.org/en/latest/guides/writing-pyproject-toml/ + + +# https://black.readthedocs.io/en/stable/usage_and_configuration/the_basics.html +[tool.black] +line-length = 88 +target-version = ["py38"] + + +# https://pycqa.github.io/isort/docs/configuration/options +[tool.isort] +py_version = "38" + +# Be compatible with `black` since it also matches what we want. +profile = "black" + +line_length = 88 +length_sort = false +force_single_line = true +lines_after_imports = 2 +from_first = false +case_sensitive = false +force_sort_within_sections = true +order_by_type = false + +# Allow importing multiple classes on a single line from these modules. +# https://google.github.io/styleguide/pyguide#s2.2-imports +single_line_exclusions = [ + "abc", + "collections.abc", + "typing", +] + + +# https://mypy.readthedocs.io/en/stable/config_file.html +[tool.mypy] +python_version = "3.8" |