vangorra/python_withings_api

View on GitHub
pyproject.toml

Summary

Maintainability
Test Coverage
[tool.poetry]
name = "withings_api"
version = "2.4.0"
description = "Library for the Withings API"

license = "MIT"

authors = [
    "Robbie Van Gorkom <robbie.van.gorkom@protonmail.com>"
]

readme = "README.md"

repository = "https://github.com/vangorra/python_withings_api"
homepage = "https://github.com/vangorra/python_withings_api"

keywords = ["withings", "api"]

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

[tool.poetry.dependencies]
python = "^3.6 || ^3.7"
arrow = ">=1.0.3"
requests-oauth = ">=0.4.1"
requests-oauthlib = ">=1.2"
typing-extensions = ">=3.7.4.2"
pydantic = "^1.7.2"

[tool.poetry.dev-dependencies]
bandit = "==1.6.2"
black = "==19.10b0"
codespell = "==1.16.0"
coverage = "==5.0.4"
flake8 = "==3.7.8"
isort = "==4.3.21"
mypy = "==0.790"
pylint = "==2.6.0"
pytest = "==6.1.2"
pytest-cov = "==2.10.1"
responses = "==0.10.6"
toml = "==0.10.0"  # Needed by isort and others.
wheel = "==0.33.6"  # Needed for successful compile of other modules.


[tool.black]
target-version = ["py36", "py37", "py38"]
exclude = '''
(
  /(
      \.eggs         # exclude a few common directories in the
    | \.git          # root of the project
    | \.hg
    | \.mypy_cache
    | \.tox
    | \.venv
    | venv
    | build
    | _build
    | buck-out
    | build
    | dist
  )/
  | foo.py           # also separately exclude a file named foo.py in
                     # the root of the project
)
'''

[tool.isort]
# https://github.com/timothycrosley/isort
# https://github.com/timothycrosley/isort/wiki/isort-Settings
# splits long import on multiple lines indented by 4 spaces
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
line_length = 88
indent = "    "
# by default isort don't check module indexes
not_skip =  "__init__.py"
# will group `import x` and `from x import` of the same module.
force_sort_within_sections = true
sections = "FUTURE,STDLIB,INBETWEENS,THIRDPARTY,FIRSTPARTY,LOCALFOLDER"
default_section = "THIRDPARTY"
known_first_party = "homeassistant,tests"
forced_separate = "tests"
combine_as_imports = true


[tool.coverage.run]
branch = true

[tool.coverage.report]
fail_under = 99.0

[tool.pytest.ini_options]
testpaths = "tests"
addopts = "--capture no --cov ./withings_api --cov-report html:build/coverage_report --cov-report term --cov-report xml:build/coverage.xml"