[tool.poetry] name = "FindMy" version = "v0.7.3" description = "Everything you need to work with Apple's Find My network!" authors = ["Mike Almeloo "] readme = "README.md" packages = [{ include = "findmy" }] [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.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" [tool.pyright] venvPath = "." venv = ".venv" # rule overrides typeCheckingMode = "standard" reportImplicitOverride = true # examples should be run from their own directory executionEnvironments = [ { root = "examples/" } ] [tool.ruff] line-length = 100 exclude = [ "docs/", "tests/" ] [tool.ruff.lint] 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) "PLR2004", # "magic" values >.> "FBT", # boolean "traps" ] [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 ] [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"