-
-
Notifications
You must be signed in to change notification settings - Fork 120
Expand file tree
/
Copy pathpyproject.toml
More file actions
93 lines (81 loc) · 2.16 KB
/
pyproject.toml
File metadata and controls
93 lines (81 loc) · 2.16 KB
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
[project]
name = "FindMy"
version = "0.9.4"
description = "Query the location of your FindMy devices with Python!"
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.4,<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; python_full_version >= '3.10'",
"sphinx>=8.2.3,<8.3.0; python_full_version >= '3.11'",
"sphinx-autoapi==3.6.1",
"sphinx-book-theme>=1.1.4",
"sphinx-design>=0.6.1",
"sphinx-togglebutton>=0.3.2",
]
[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]
"docs/*" = [
"INP001", # implicit namespaces
]
"examples/*" = [
"T201", # use of "print"
"S101", # use of "assert"
"D", # documentation
"INP001", # namespacing
"ERA001", # commented out code
]
"scripts/*" = [
"T201", # use of "print"
"D", # documentation
]
"tests/*" = [
"INP001", # implicit namespaces
"PLC0415", # import not on top of file
]
[tool.setuptools]
packages = ["findmy"]
[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"