buildbot-nix/pyproject.toml
2024-01-01 15:38:28 +00:00

103 lines
2.4 KiB
TOML

[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project]
name = "buildbot-nix"
authors = [
{ name = "Jörg Thalheim", email = "joerg@thalheim.io" },
]
description = "A nixos module to make buildbot a proper Nix-CI."
readme = "README.rst"
requires-python = ">=3.9"
license = {text = "MIT"}
classifiers = [
"Programming Language :: Python :: 3",
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Topic :: Utilities",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python"
]
version = "0.0.1"
scripts = { buildbot-effects = "hercules_effects.cli:main" }
[tool.setuptools]
packages = [
"buildbot_nix",
"buildbot_effects"
]
[tool.ruff]
target-version = "py311"
line-length = 88
select = ["ALL"]
ignore = [
# pydocstyle
"D",
# todo comments
"TD",
# fixmes
"FIX",
# Unused function argument
"ARG001",
"ARG002",
# Missing type annotation for `self` in method
"ANN101",
# Dynamically typed expressions (typing.Any)
"ANN401",
# Trailing comma missing
"COM812",
# Unnecessary `dict` call (rewrite as a literal)
"C408",
# Boolean-typed positional argument in function definition
"FBT001",
# Logging statement uses f-string
"G004",
# disabled on ruff's recommendation as causes problems with the formatter
"ISC001",
# Use of `assert` detected
"S101",
# `subprocess` call: check for execution of untrusted input
"S603",
# Starting a process with a partial executable path
"S607",
# Boolean default positional argument in function definition
"FBT002",
# Too many statements
"PLR0915",
# Too many arguments in function definition
"PLR0913",
"PLR0912", # Too many branches
# $X is too complex
"C901",
"E501", # line too long
"T201", # `print` found
"PLR2004", # Magic value used in comparison
# not compatible with twisted logger: https://docs.twisted.org/en/twisted-18.7.0/core/howto/logger.html
"PGH002", # `warn` is deprecated in favor of `warning`
"G010", # Logging statement uses `warn` instead of `warning`
]
[tool.mypy]
python_version = "3.11"
pretty = true
warn_redundant_casts = true
disallow_untyped_calls = true
disallow_untyped_defs = true
no_implicit_optional = true
[[tool.mypy.overrides]]
module = "buildbot.*"
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = "buildbot_worker.*"
ignore_missing_imports = true