Merge branch 'main' into feat/better-docs

This commit is contained in:
Mike A.
2025-08-04 15:11:51 +02:00
43 changed files with 3751 additions and 2602 deletions

View File

@@ -1,44 +1,39 @@
[tool.poetry]
[project]
name = "FindMy"
version = "v0.7.3"
version = "0.8.0"
description = "Everything you need to work with Apple's Find My network!"
authors = ["Mike Almeloo <git@mikealmel.ooo>"]
readme = "README.md"
packages = [{ include = "findmy" }]
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.poetry.dependencies]
python = ">=3.9,<3.13"
srp = "^1.0.21"
cryptography = ">=42.0.0,<44.0.0"
beautifulsoup4 = "^4.12.3"
aiohttp = "^3.9.5"
bleak = "^0.22.2"
typing-extensions = "^4.12.2"
[tool.uv.dependency-groups.docs]
requires-python = ">=3.11"
[tool.poetry.group.dev]
optional = true
[tool.poetry.group.dev.dependencies]
pre-commit = "^3.8.0"
pyright = "1.1.378"
ruff = "0.6.3"
tomli = "^2.0.1"
packaging = "^24.1"
[tool.poetry.group.test]
optional = true
[tool.poetry.group.test.dependencies]
pytest = "^8.3.2"
[tool.poetry.group.docs]
optional = true
[tool.poetry.group.docs.dependencies]
sphinx = "^7.2.6"
sphinx-autoapi = "3.3.1"
furo = "^2024.1.29"
myst-parser = "^2.0.0"
[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 = [
"furo>=2025.7.19",
"myst-parser>=4.0.1",
"sphinx>=8.2.3,<8.3.0",
"sphinx-autoapi==3.6.0",
]
[tool.pyright]
venvPath = "."
@@ -48,51 +43,50 @@ venv = ".venv"
typeCheckingMode = "standard"
reportImplicitOverride = true
# examples should be run from their own directory
executionEnvironments = [
{ root = "examples/" }
]
[tool.ruff]
line-length = 100
exclude = [
"docs/",
"tests/"
]
exclude = ["docs/", "tests/"]
[tool.ruff.lint]
select = [
"ALL",
]
select = ["ALL"]
ignore = [
"ANN101", # annotations on `self`
"ANN102", # annotations on `cls`
"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)
"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]
"docs/*" = [
"INP001", # implicit namespaces
]
"examples/*" = [
"T201", # use of "print"
"S101", # use of "assert"
"D", # documentation
"INP001", # namespacing
"T201", # use of "print"
"S101", # use of "assert"
"D", # documentation
"INP001", # namespacing
]
"scripts/*" = [
"T201", # use of "print"
"D", # documentation
"T201", # use of "print"
"D", # documentation
]
"tests/*" = [
"INP001", # implicit namespaces
"PLC0415", # import not on top of file
]
[tool.setuptools]
py-modules = ["findmy"]
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"