Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
77 lines (66 loc) · 2.17 KB
/
Copy pathpyproject.toml
File metadata and controls
77 lines (66 loc) · 2.17 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
[build-system]
requires = ["scikit-build-core>=1.0", "pybind11>=3.1,<4"]
build-backend = "scikit_build_core.build"
[project]
name = "tesla-ble"
dynamic = ["version"]
description = "Python bindings for TeslaBLE: control Tesla vehicles over BLE"
readme = "README.md"
requires-python = ">=3.13"
license = "AGPL-3.0-only"
license-files = ["LICENSE", "NOTICE"]
authors = [{ name = "TeslaBLE contributors" }]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: C++",
"Topic :: Software Development :: Embedded Systems",
]
[project.urls]
Homepage = "https://github.com/yoziru/tesla-ble"
[dependency-groups]
dev = ["pytest>=8", "pybind11>=3.1", "ruff", "mypy"]
[tool.ruff]
target-version = "py313"
line-length = 100
[tool.ruff.lint]
select = ["E4", "E7", "E9", "F", "I"]
[tool.mypy]
python_version = "3.13"
files = ["scripts/check_dist.py", "scripts/test_check_dist.py", "bindings/python/tools/gen_state_dicts.py"]
strict = true
# The pyproject lives at the repository root so source distributions contain
# the whole C++ library and can build wheels standalone. The Python package
# sources stay under bindings/python/.
[[tool.dynamic-metadata]]
provider = "scikit_build_core.metadata.regex"
field = "version"
input = "VERSION"
regex = "(?P<value>[0-9.]+)"
[tool.scikit-build]
cmake.source-dir = "bindings/python"
cmake.build-type = "Release"
wheel.packages = ["bindings/python/src/tesla_ble"]
install.components = ["python"]
sdist.exclude = [
"build/**",
"build-*/**",
".zvec-grep/**",
"bindings/python/.venv/**",
"bindings/python/dist/**",
"bindings/python/.pytest_cache/**",
"**/__pycache__/**",
]
# Wheel matrix: Home Assistant runs on Linux (HA OS/Container) and macOS, on
# both x86_64 and arm64/aarch64. Shared by CI and local cibuildwheel runs.
[tool.cibuildwheel]
build-frontend = "build[uv]"
build = "cp313-* cp314-* cp315-*"
test-sources = ["bindings/python/tests"]
test-requires = ["pytest>=8"]
test-command = "python -m pytest bindings/python/tests -q"
[tool.cibuildwheel.linux]
archs = ["x86_64", "aarch64"]
[tool.cibuildwheel.macos]
archs = ["x86_64", "arm64"]