144 lines
4.5 KiB
TOML
144 lines
4.5 KiB
TOML
[project]
|
|
name = 'py-xbc'
|
|
dynamic = ['version']
|
|
authors = [
|
|
{ name = 'Síle Ekaterin Liszka', email = 'sheila@vulpine.house' }
|
|
]
|
|
description = 'A library for manipulating eXtra BootConfig (XBC) files'
|
|
readme = 'README.md'
|
|
keywords = ['bootconfig', 'xbc', 'configuration']
|
|
dependencies = ['pyparsing']
|
|
requires-python = '>=3.7'
|
|
classifiers = [
|
|
'Development Status :: 4 - Beta',
|
|
'Intended Audience :: Developers',
|
|
'License :: OSI Approved :: MIT License',
|
|
'Operating System :: OS Independent',
|
|
'Programming Language :: Python :: 3',
|
|
'Programming Language :: Python :: 3.7',
|
|
'Programming Language :: Python :: 3.8',
|
|
'Programming Language :: Python :: 3.9',
|
|
'Programming Language :: Python :: 3.10',
|
|
'Programming Language :: Python :: 3.11',
|
|
'Programming Language :: Python :: 3.12',
|
|
'Topic :: Utilities'
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = 'https://gitea.treehouse.systems/VulpineAmethyst/py-xbc'
|
|
Issues = 'https://gitea.treehouse.systems/VulpineAmethyst/py-xbc/issues'
|
|
|
|
[project.optional-dependencies]
|
|
test = ['pytest']
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=61.0"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.setuptools.dynamic]
|
|
version = {attr = "xbc.version.version"}
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = [
|
|
"--import-mode=importlib",
|
|
]
|
|
pythonpath = 'src'
|
|
|
|
[tool.pylint.main]
|
|
fail-under = 10
|
|
ignore-patterns = ["^\\.#"]
|
|
jobs = 0
|
|
limit-inference-results = 100
|
|
persistent = true
|
|
py-version = "3.7"
|
|
source-roots = 'src'
|
|
suggestion-mode = true
|
|
|
|
[tool.pylint.basic]
|
|
argument-naming-style = "snake_case"
|
|
attr-naming-style = "snake_case"
|
|
bad-names = ["foo", "bar", "baz", "toto", "tutu", "tata"]
|
|
class-attribute-naming-style = "any"
|
|
class-const-naming-style = "UPPER_CASE"
|
|
class-naming-style = "PascalCase"
|
|
# XBCParser
|
|
const-naming-style = "PascalCase"
|
|
docstring-min-length = -1
|
|
function-naming-style = "snake_case"
|
|
good-names = ["i", "j", "k", "ex", "Run", "_"]
|
|
inlinevar-naming-style = "any"
|
|
method-naming-style = "snake_case"
|
|
module-naming-style = "snake_case"
|
|
no-docstring-rgx = "^_"
|
|
property-classes = ["abc.abstractproperty"]
|
|
variable-naming-style = "snake_case"
|
|
|
|
[tool.pylint.classes]
|
|
defining-attr-methods = ["__init__", "__new__", "setUp", "asyncSetUp", "__post_init__"]
|
|
exclude-protected = ["_asdict", "_fields", "_replace", "_source", "_make", "os._exit"]
|
|
valid-classmethod-first-arg = ["cls"]
|
|
valid-metaclass-classmethod-first-arg = ["mcs"]
|
|
|
|
[tool.pylint.design]
|
|
exclude-too-few-public-methods = 'XBCNode'
|
|
max-args = 5
|
|
max-attributes = 7
|
|
max-bool-expr = 5
|
|
max-branches = 12
|
|
max-locals = 15
|
|
max-parents = 7
|
|
max-public-methods = 20
|
|
max-returns = 6
|
|
max-statements = 50
|
|
min-public-methods = 2
|
|
|
|
[tool.pylint.exceptions]
|
|
overgeneral-exceptions = ["builtins.BaseException", "builtins.Exception"]
|
|
|
|
[tool.pylint.format]
|
|
ignore-long-lines = "^\\s*(# )?<?https?://\\S+>?$"
|
|
indent-after-paren = 4
|
|
indent-string = " "
|
|
max-line-length = 100
|
|
max-module-lines = 1000
|
|
|
|
[tool.pylint."messages control"]
|
|
confidence = ["HIGH", "CONTROL_FLOW", "INFERENCE", "INFERENCE_FAILURE", "UNDEFINED"]
|
|
disable = ["raw-checker-failed", "bad-inline-option", "locally-disabled", "file-ignored", "suppressed-message", "useless-suppression", "deprecated-pragma", "use-symbolic-message-instead", "use-implicit-booleaness-not-comparison-to-string", "use-implicit-booleaness-not-comparison-to-zero"]
|
|
|
|
[tool.pylint.miscellaneous]
|
|
notes = ["FIXME", "XXX", "TODO"]
|
|
|
|
[tool.pylint.refactoring]
|
|
max-nested-blocks = 5
|
|
never-returning-functions = ["sys.exit", "argparse.parse_error"]
|
|
|
|
[tool.pylint.reports]
|
|
evaluation = "max(0, 0 if fatal else 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10))"
|
|
score = true
|
|
|
|
[tool.pylint.similarities]
|
|
ignore-comments = true
|
|
ignore-docstrings = true
|
|
ignore-imports = true
|
|
ignore-signatures = true
|
|
min-similarity-lines = 4
|
|
|
|
[tool.pylint.typecheck]
|
|
contextmanager-decorators = ["contextlib.contextmanager"]
|
|
ignore-none = true
|
|
ignore-on-opaque-inference = true
|
|
ignored-checks-for-mixins = ["no-member", "not-async-context-manager", "not-context-manager", "attribute-defined-outside-init"]
|
|
ignored-classes = ["optparse.Values", "thread._local", "_thread._local", "argparse.Namespace"]
|
|
missing-member-hint = true
|
|
missing-member-hint-distance = 1
|
|
missing-member-max-choices = 1
|
|
mixin-class-rgx = ".*[Mm]ixin"
|
|
|
|
[tool.pylint.variables]
|
|
allow-global-unused-variables = true
|
|
callbacks = ["cb_", "_cb"]
|
|
dummy-variables-rgx = "_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_"
|
|
ignored-argument-names = "_.*|^ignored_|^unused_"
|
|
redefining-builtins-modules = ["six.moves", "past.builtins", "future.builtins", "builtins", "io"]
|