-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
112 lines (98 loc) · 3.18 KB
/
Copy pathpyproject.toml
File metadata and controls
112 lines (98 loc) · 3.18 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
[project]
name = "tofupilot"
version = "2.17.0"
description = "Official Python client for TofuPilot with OpenHTF integration and file attachment support"
authors = [
{ name = "TofuPilot Team", email = "hello@tofupilot.com" },
]
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.9.2"
keywords = ["automatic", "hardware", "testing", "tofupilot", "openhtf", "sdk"]
classifiers = [
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: Manufacturing",
"Topic :: Scientific/Engineering",
"Topic :: Software Development :: Testing",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = [
# Core v1 dependencies
"requests>=2.25.0",
"certifi>=2023.7.22",
"posthog>=3.0.0",
# Core v2 dependencies
"httpcore>=1.0.9",
"httpx>=0.28.1",
"pydantic>=2.11.2",
]
# openhtf is only needed by the callback named after it, and was previously
# installed for everyone: a station uploading through the V2 client pulled an
# entire test framework it never imports. It is not imported at package level.
#
# openhtf carries a floor now. It was declared bare, which is how a release
# shipped calling `Attachment.size` — added in 1.5.2 — against installs that
# did not have it. 1.3.0 is the oldest the callback is tested against.
[project.optional-dependencies]
openhtf = ["openhtf>=1.3.0"]
dev = [
# Build and distribution tools
"build",
"twine",
# Testing dependencies. pytest and openhtf were runtime deps before
# 2.15.0; the test suite still needs both (`pip install -e ".[dev]" &&
# pytest tests/` is the documented workflow, and tests/v1/openhtf/*
# import the framework). Same openhtf floor as the runtime extra — the
# CI compat matrix starts at 1.3.0.
"pytest>=6.0.0",
"openhtf>=1.3.0",
"trycast",
"python-dotenv",
# Code quality tools
"mypy==1.15.0",
"pylint==3.2.3",
]
[project.urls]
Homepage = "https://github.com/tofupilot/python-client"
Documentation = "https://tofupilot.com/docs"
Repository = "https://github.com/tofupilot/python-client"
Issues = "https://github.com/tofupilot/python-client/issues"
[tool.poetry]
packages = [
{ include = "tofupilot" }
]
include = ["py.typed", "tofupilot/v2/py.typed"]
[virtualenvs]
in-project = true
[tool.poetry.group.dev.dependencies]
mypy = "==1.15.0"
pylint = "==3.2.3"
pytest = ">=6.0.0"
# Same floor as the runtime extra and the CI compat matrix (1.3.0); a higher
# floor here silently tested against features older installs don't have.
openhtf = ">=1.3.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
asyncio_default_fixture_loop_scope = "function"
pythonpath = ["."]
[tool.mypy]
disable_error_code = "misc"
explicit_package_bases = true
mypy_path = "."
[[tool.mypy.overrides]]
module = "typing_inspect"
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = "jsonpath"
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = "openhtf.*"
ignore_missing_imports = true
[tool.pyright]
venvPath = "."
venv = ".venv"