bachya/aioridwell

View on GitHub
pyproject.toml

Summary

Maintainability
Test Coverage
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

[tool.black]
target-version = ["py39"]

[tool.coverage.report]
exclude_lines = ["raise NotImplementedError", "TYPE_CHECKING"]
fail_under = 100
show_missing = true

[tool.coverage.run]
source = ["aioridwell"]

[tool.isort]
known_first_party = "aioridwell,examples,tests"
multi_line_output = 3
profile = "black"

[tool.mypy]
check_untyped_defs = true
disallow_incomplete_defs = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_untyped_decorators = true
disallow_untyped_defs = true
follow_imports = "silent"
ignore_missing_imports = true
no_implicit_optional = true
platform = "linux"
python_version = "3.10"
show_error_codes = true
strict_equality = true
warn_incomplete_stub = true
warn_redundant_casts = true
warn_return_any = true
warn_unreachable = true
warn_unused_configs = true
warn_unused_ignores = true

[tool.poetry]
name = "aioridwell"
version = "2024.01.0"
description = "A Python3, asyncio-based API for interacting with Ridwell waste recycling"
readme = "README.md"
authors = ["Aaron Bach <bachya1208@gmail.com>"]
license = "MIT"
repository = "https://github.com/bachya/aioridwell"
classifiers = [
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: Implementation :: CPython",
    "Programming Language :: Python :: Implementation :: PyPy",
]

[tool.poetry.dependencies]
PyJWT = ">=2.4.0"
aiohttp = ">=3.9.0b0"
certifi = ">=2023.07.22"
python = "^3.10"
titlecase = "^2.3"
yarl = ">=1.9.2"

[tool.poetry.group.dev.dependencies]
GitPython = ">=3.1.35"
Pygments = ">=2.15.0"
aresponses = ">=2.1.6,<4.0.0"
blacken-docs = "^1.12.1"
codespell = "^2.2.2"
coverage = {version = ">=6.5,<8.0", extras = ["toml"]}
darglint = "^1.8.1"
freezegun = "^1.1.0"
isort = "^5.10.1"
mypy = "^1.2.0"
pre-commit = ">=2.20,<4.0"
pre-commit-hooks = "^4.3.0"
pylint = ">=2.15.5,<4.0.0"
pytest = ">=7.2,<9.0"
pytest-aiohttp = "^1.0.0"
pytest-asyncio = ">=0.20.1,<0.24.0"
pytest-cov = ">=4,<6"
pyupgrade = "^3.1.0"
pyyaml = "^6.0.1"
requests = ">=2.31.0"
ruff = ">=0.0.261,<0.4.3"
types-pyjwt = "^1.7.1"
typing-extensions = "^4.8.0"
vulture = "^2.6"
yamllint = "^1.28.0"

[tool.poetry.urls]
"Bug Tracker" = "https://github.com/bachya/aioridwell/issues"
Changelog = "https://github.com/bachya/aioridwell/releases"

[tool.pylint.BASIC]
expected-line-ending-format = "LF"

[tool.pylint.DESIGN]
max-attributes = 20

[tool.pylint.FORMAT]
max-line-length = 88

[tool.pylint.MASTER]
ignore = [
  "tests",
]
load-plugins = [
  "pylint.extensions.bad_builtin",
  "pylint.extensions.code_style",
  "pylint.extensions.docparams",
  "pylint.extensions.docstyle",
  "pylint.extensions.empty_comment",
  "pylint.extensions.overlapping_exceptions",
  "pylint.extensions.typing",
]

[tool.pylint."MESSAGES CONTROL"]
# Reasons disabled:
# unnecessary-pass - This can hurt readability
disable = [
  "unnecessary-pass"
]

[tool.pylint.REPORTS]
score = false

[tool.pylint.SIMILARITIES]
# Minimum lines number of a similarity.
# We set this higher because of some cases where V2 and V3 functionality are
# similar, but abstracting them isn't feasible.
min-similarity-lines = 8

# Ignore comments when computing similarities.
ignore-comments = true

# Ignore docstrings when computing similarities.
ignore-docstrings = true

# Ignore imports when computing similarities.
ignore-imports = true

[tool.vulture]
min_confidence = 80
paths = ["aioridwell", "tests"]
verbose = false