[build-system]
requires = ["setuptools >= 59.6.0"]
build-backend = "setuptools.build_meta"

[project]
name = 'beipack'
version = '0'
description = 'beipack'
authors = [{name = "Allison Karlitskaya", email = "allison.karlitskaya@redhat.com"}]
license = {file = "COPYING"}
readme = "README.md"
classifiers = ["License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)"]

[project.urls]
Home = "https://github.com/allisonkarlitskaya/beipack/"

[tool.coverage.paths]
source = ["src", "*/site-packages"]

[tool.coverage.run]
source_pkgs = ["bei"]
branch = true

[tool.coverage.report]
show_missing = true
skip_covered = true
exclude_lines = [
  "pragma: no cover",  # default
  "raise NotImplementedError",
]

[tool.mypy]
mypy_path = 'src'

[tool.pylint]
max-line-length = 118
disable = [
  "C0114",  # Missing module docstring
  "C0115",  # Missing class docstring
  "R0902",  # Too many instance attributes
  "R0903",  # Too few public methods
  "R0913",  # Too many arguments
  "R1705",  # Unnecessary "else" after "return"
  "W1113",  # Keyword argument before variable positional arguments  (PEP-570 is Python 3.8)
]

[tool.pytest.ini_options]

[tool.ruff]
select = [
  "ANN",
  "A",
  "B",
  "C",
  "E",
  "F",
  "G",
  "I",
]
ignore = [
  "ANN101",      # Missing type annotation for `self` in method  (`Self` not in py36)
]
src = ["src"]

[tool.tox]
legacy_tox_ini = """
[tox]
envlist = site

[testenv]
deps=
  pytest-cov
  pytest-timeout
commands=
  python3 -m pytest {posargs}

[testenv:site]
install_command = python3 -m pip install --no-index --no-build-isolation {opts} {packages}
system_site_packages = True
"""
