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
|
[project]
name = "python-roborock"
version = "3.8.5"
description = "A package to control Roborock vacuums."
authors = [{ name = "humbertogontijo", email = "humbertogontijo@users.noreply.github.com" }, {name="Lash-L"}, {name="allenporter"}]
requires-python = ">=3.11, <4"
readme = "README.md"
license = "GPL-3.0-only"
keywords = [
"roborock",
"vacuum",
"homeassistant",
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Natural Language :: English",
"Operating System :: OS Independent",
"Topic :: Software Development :: Libraries",
]
dependencies = [
"click>=8",
"aiohttp>=3.8.2,<4",
"pycryptodome~=3.18",
"pycryptodomex~=3.18 ; sys_platform == 'darwin'",
"paho-mqtt>=1.6.1,<3.0.0",
"construct>=2.10.57,<3",
"vacuum-map-parser-roborock",
"pyrate-limiter>=3.7.0,<4",
"aiomqtt>=2.3.2,<3",
"click-shell~=2.1",
]
[project.urls]
Repository = "https://github.com/humbertogontijo/python-roborock"
Documentation = "https://python-roborock.readthedocs.io/"
[project.scripts]
roborock = "roborock.cli:main"
[dependency-groups]
dev = [
"pytest-asyncio>=1.1.0",
"pytest",
"pre-commit>=3.5,<5.0",
"mypy",
"ruff==0.14.6",
"codespell",
"pyshark>=0.6,<0.7",
"aioresponses>=0.7.7,<0.8",
"freezegun>=1.5.1,<2",
"pytest-timeout>=2.3.1,<3",
"syrupy>=4.9.1,<5",
"pdoc>=15.0.4,<16",
"pyyaml>=6.0.3",
"pyshark>=0.6",
]
[tool.hatch.build.targets.sdist]
include = ["roborock"]
[tool.hatch.build.targets.wheel]
include = ["roborock"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.semantic_release]
branch = "main"
version_toml = ["pyproject.toml:project.version"]
build_command = "pip install uv && uv lock --upgrade-package python-roborock && git add uv.lock && uv build"
changelog_file = 'CHANGELOG.md'
commit = true
[tool.semantic_release.branches.main]
match = "main"
prerelease = false
[tool.semantic_release.branches.temp-main-branch]
match = "temp-main-branch"
prerelease = false
[tool.semantic_release.commit_parser_options]
allowed_tags = [
"chore",
"docs",
"feat",
"fix",
"refactor"
]
major_tags= ["refactor"]
[tool.ruff]
lint.ignore = ["F403", "E741"]
lint.select=["E", "F", "UP", "I"]
line-length = 120
[tool.ruff.lint.per-file-ignores]
"*/__init__.py" = ["F401"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
timeout = 30
log_format = "%(asctime)s.%(msecs)03d %(levelname)s (%(threadName)s) [%(name)s] %(message)s"
|