Files
FindMy.py/pyproject.toml

81 lines
1.8 KiB
TOML

[project]
name = "FindMy"
version = "0.8.0"
description = "Everything you need to work with Apple's Find My network!"
readme = "README.md"
authors = [{ name = "Mike Almeloo", email = "git@mikealmel.ooo" }]
license-files = ["LICENSE.md"]
requires-python = ">=3.9,<3.14"
dependencies = [
"srp>=1.0.21,<2.0.0",
"cryptography>=42.0.0,<46.0.0",
"beautifulsoup4>=4.12.3,<5.0.0",
"aiohttp>=3.9.5,<4.0.0",
"bleak>=1.0.0,<2.0.0",
"typing-extensions>=4.12.2,<5.0.0",
"anisette>=1.2.1,<2.0.0",
]
[tool.uv.dependency-groups.docs]
requires-python = ">=3.11"
[dependency-groups]
dev = [
"pre-commit>=4.0.0,<5.0.0",
"basedpyright>=1.31.1,<2.0.0",
"ruff>=0.8.4,<1.0.0",
"tomli>=2.0.1,<3.0.0",
"packaging>=25.0,<26.0",
]
test = ["pytest>=8.3.2,<9.0.0"]
docs = ["sphinx>=8.2.3,<8.3.0", "sphinx-autoapi==3.6.0"]
[tool.pyright]
venvPath = "."
venv = ".venv"
# rule overrides
typeCheckingMode = "standard"
reportImplicitOverride = true
[tool.ruff]
line-length = 100
exclude = ["docs/", "tests/"]
[tool.ruff.lint]
select = ["ALL"]
ignore = [
"FIX002", # resolving TODOs
"D203", # one blank line before class docstring
"D212", # multi-line docstring start at first line
"D105", # docstrings in magic methods
"S101", # assert statements
"S603", # false-positive subprocess call (https://github.com/astral-sh/ruff/issues/4045)
"PLR2004", # "magic" values >.>
"FBT", # boolean "traps"
"COM812", # trailing commas
]
[tool.ruff.lint.per-file-ignores]
"examples/*" = [
"T201", # use of "print"
"S101", # use of "assert"
"D", # documentation
"INP001", # namespacing
]
"scripts/*" = [
"T201", # use of "print"
"D", # documentation
]
[tool.setuptools]
py-modules = ["findmy"]
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"