mirror of
https://github.com/alexgetmancom/miband-bot.git
synced 2026-07-20 20:50:13 +03:00
feat: add miband bot application
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
[project]
|
||||
name = "mi-fitness"
|
||||
version = "0.2.0"
|
||||
description = "小米运动健康亲友数据 SDK"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.11"
|
||||
authors = [{ name = "Misty02600", email = "xiao02600@gmail.com" }]
|
||||
dependencies = [
|
||||
"httpx>=0.28.1",
|
||||
"loguru>=0.7.3",
|
||||
"pydantic>=2.12.5",
|
||||
"qrcode>=8.0",
|
||||
"tenacity>=9.0.0",
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://github.com/MistEO/MiSDK"
|
||||
Issues = "https://github.com/MistEO/MiSDK/issues"
|
||||
Repository = "https://github.com/MistEO/MiSDK.git"
|
||||
|
||||
[project.scripts]
|
||||
mi-fitness-login = "mi_fitness.cli:main"
|
||||
|
||||
[dependency-groups]
|
||||
dev = [
|
||||
"basedpyright>=1.16.0",
|
||||
"commitizen>=4.1.0",
|
||||
"git-cliff>=2.11.0,<3.0.0",
|
||||
"prek>=0.2.0",
|
||||
"ruff>=0.14.13,<1.0.0",
|
||||
{ include-group = "test" },
|
||||
]
|
||||
test = [
|
||||
"pytest>=8.0.0",
|
||||
"pytest-asyncio>=1.3.0,<1.4.0",
|
||||
"pytest-cov>=7.0.0",
|
||||
"pytest-xdist>=3.8.0,<4.0.0",
|
||||
]
|
||||
|
||||
[build-system]
|
||||
requires = ["uv_build>=0.9.2,<0.10.0"]
|
||||
build-backend = "uv_build"
|
||||
|
||||
[tool.commitizen]
|
||||
name = "cz_conventional_commits"
|
||||
version = "0.2.0"
|
||||
tag_format = "v$version"
|
||||
version_files = ["pyproject.toml:^version"]
|
||||
major_version_zero = true
|
||||
|
||||
[tool.coverage.report]
|
||||
exclude_lines = [
|
||||
"raise NotImplementedError",
|
||||
"if TYPE_CHECKING:",
|
||||
"@overload",
|
||||
"except ImportError:",
|
||||
]
|
||||
|
||||
[tool.pyright]
|
||||
include = ["src", "tests/unit"]
|
||||
pythonVersion = "3.11"
|
||||
pythonPlatform = "All"
|
||||
typeCheckingMode = "standard"
|
||||
|
||||
[[tool.pyright.executionEnvironments]]
|
||||
root = "tests"
|
||||
reportPrivateUsage = "none"
|
||||
reportUnknownMemberType = "none"
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
addopts = [
|
||||
"--import-mode=importlib",
|
||||
"--strict-markers",
|
||||
"--tb=short",
|
||||
"-ra",
|
||||
]
|
||||
testpaths = ["tests/unit"]
|
||||
pythonpath = ["src", "tests/unit"]
|
||||
asyncio_mode = "auto"
|
||||
asyncio_default_fixture_loop_scope = "function"
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 100
|
||||
src = ["src", "tests/unit"]
|
||||
|
||||
[tool.ruff.format]
|
||||
line-ending = "lf"
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = [
|
||||
"F", # Pyflakes
|
||||
"W", # pycodestyle warnings
|
||||
"E", # pycodestyle errors
|
||||
"I", # isort
|
||||
"B", # flake8-bugbear
|
||||
"UP", # pyupgrade
|
||||
"ASYNC", # flake8-async
|
||||
"C4", # flake8-comprehensions
|
||||
"T10", # flake8-debugger
|
||||
"T20", # flake8-print
|
||||
"PYI", # flake8-pyi
|
||||
"PT", # flake8-pytest-style
|
||||
"Q", # flake8-quotes
|
||||
"TID", # flake8-tidy-imports
|
||||
"RUF", # Ruff-specific
|
||||
]
|
||||
ignore = [
|
||||
"E501", # 行长度由 formatter 控制
|
||||
"E402", # 允许模块导入不在文件顶部
|
||||
"UP037", # 允许引号类型注解
|
||||
"RUF001", # 允许字符串中的中文字符
|
||||
"RUF002", # 允许文档字符串中的中文字符
|
||||
"RUF003", # 允许注释中的中文字符
|
||||
"W191", # 允许制表符缩进
|
||||
"TID252", # 允许相对导入
|
||||
"B008", # 允许函数参数默认值中使用函数调用
|
||||
]
|
||||
|
||||
[tool.ruff.lint.isort]
|
||||
extra-standard-library = ["typing_extensions"]
|
||||
|
||||
[tool.ruff.lint.per-file-ignores]
|
||||
"examples/*" = ["T201", "ASYNC240", "ASYNC250"]
|
||||
"src/mi_fitness/cli.py" = ["T201", "ASYNC240"]
|
||||
"tests/e2e/*" = ["T201", "ASYNC230", "ASYNC240", "ASYNC250", "F541"]
|
||||
Reference in New Issue
Block a user