1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
[tool.poetry]
authors = ["Ben Lebherz <git@benleb.de>"]
classifiers = [
"Topic :: Home Automation",
"Topic :: Software Development",
"Topic :: Software Development :: Libraries :: Python Modules",
"Intended Audience :: Developers",
"Intended Audience :: End Users/Desktop",
"Operating System :: OS Independent",
"Environment :: Console",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Development Status :: 4 - Beta",
"Development Status :: 5 - Production/Stable",
]
description = "Library to interact with the flaps & doors from Sure Petcare."
documentation = "https://surepy.readthedocs.io"
homepage = "https://github.com/benleb/surepy"
keywords = ["cat", "surepetcare", "home-assistant"]
license = "MIT"
name = "surepy"
readme = "README.md"
repository = "https://github.com/benleb/surepy"
version = "0.8.0"
[tool.poetry.dependencies]
aiohttp = {extras = ["speedups"], version = "^3.7.4"}
async-timeout = ">=3.0.1,<5.0"
click = ">=7.1.2,<9.0.0"
python = "==3.*,>=3.8.0"
requests = "^2.24.0"
rich = "^10.1.0"
[tool.poetry.dev-dependencies]
bandit = "^1.6.2"
black = "^21.9b0"
coverage = {extras = ["toml"], version = "^5.3.1"}
isort = "^5.9.3"
mypy = "^0.910"
pycodestyle = "^2.6.0"
pylint = "^2.10.2"
pytest = "^6.2.1"
pytest-cov = "^2.12.1"
[tool.poetry.scripts]
surepy = 'surepy.surecli:cli'
[tool.pylint.MASTER]
ignore = ["tests", "const.py", "surecli"]
disable = ["missing-module-docstring", "missing-class-docstring", "missing-function-docstring"]
# Use a conservative default here; 2 should speed up most setups and not hurt
# any too bad. Override on command line as appropriate.
jobs = 3
load-plugins = [
"pylint.extensions.code_style",
"pylint.extensions.typing",
"pylint_strict_informational",
]
[tool.pylint.BASIC]
good-names = ["_", "id", "sp", "at"]
[tool.pylint.TYPING]
py-version = "3.9"
runtime-typing = false
[tool.pylint.FORMAT]
max-line-length = 100
[tool.isort]
balanced_wrapping = true
combine_as_imports = true
combine_star = true
force_grid_wrap = 0
include_trailing_comma = true
line_length = 100
lines_after_imports = 2
lines_between_types = 1
multi_line_output = 3
order_by_type = true
use_parentheses = true
[tool.black]
exclude = '''
(
/(
\.eggs # exclude a few common directories in the
| \.git # root of the project
| \.hg
| \.mypy_cache
| \.tox
| \.venv
| _build
| buck-out
| build
| dist
)/
)
'''
include = '\.pyi?$'
line-length = 100
target_version = ["py39"]
[tool.pytest.ini_options]
addopts = "--cov --setup-show --code-highlight=yes --verbose"
minversion = "6.0"
testpaths = ["tests"]
[tool.coverage.paths]
source = ["surepy"]
[tool.coverage.run]
branch = true
source = ["surepy"]
[tool.coverage.report]
show_missing = true
[build-system]
build-backend = "poetry.core.masonry.api"
requires = ["poetry_core>=1.0.0"]
|