content: [build-system]
  requires = ["setuptools"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "nix-fast-build"
  description = "Evaluate and build in parallel"
  version = "1.3.0"
  authors = [{ name = "Jörg Thalheim", email = "joerg@thalheim.io" }]
  license = { text = "MIT" }
  classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Environment :: Console",
    "Topic :: Utilities",
    "Intended Audience :: Developers",
  ]
  
  [project.urls]
  Homepage = "https://github.com/Mic92/nix-fast-build"
  
  [project.scripts]
  nix-fast-build = "nix_fast_build:main"
  
  [tool.setuptools.packages]
  find = {}
  
  [tool.setuptools.package-data]
  nixpkgs_review = ["nix/*.nix"]
  
  [tool.black]
  line-length = 88
  target-version = ['py39']
  include = '\.pyi?$'
  exclude = '''
  /(
      \.git
    | \.hg
    | \.mypy_cache
    | \.tox
    | \.venv
    | _build
    | buck-out
    | build
    | dist
    # The following are specific to Black, you probably don't want those.
    | blib2to3
    | tests/data
    | profiling
  )/
  '''
  
  [tool.mypy]
  python_version = "3.11"
  warn_redundant_casts = true
  disallow_untyped_calls = true
  disallow_untyped_defs = true
  no_implicit_optional = true
  
  [[tool.mypy.overrides]]
  module = "setuptools.*"
  ignore_missing_imports = true
  
  [[tool.mypy.overrides]]
  module = "pytest.*"
  ignore_missing_imports = true
  
  [tool.pytest.ini_options]
  pythonpath = [ "." ]
  
  [tool.ruff]
  target-version = "py311"
  line-length = 88
  lint.select = ["ALL"]
  lint.ignore = [
    # pydocstyle
    "D",
    # todo comments
    "TD",
    # fixmes
    "FIX",
  
    # 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",
  
    # Too many branches
    "PLR0912",
    # Too many statements
    "PLR0915",
    # Too many arguments in function definition
    "PLR0913",
    # $X is too complex
    "C901",
  
    "E501", # line too long
    "T201", # `print` found
    "PLR2004", # Magic value used in comparison
  ]
  