-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
130 lines (116 loc) · 3.04 KB
/
pyproject.toml
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
[project]
name = "hop3"
version = "0.2.2"
description = "Simple PaaS - Deploy and manage web applications on a single server"
authors = [
{ name = "Stefane Fermigier", email = "[email protected]" },
]
readme = "README.md"
requires-python = "~=3.10"
dependencies = [
# Workspace
"hop3-agent",
"hop3-testing",
"hop3-cli",
# "hop3-lib",
# "hop3-server",
# "hop3-web",
# Debug (remove later)
"devtools ~= 0.12",
"snoop ~= 0.6",
# Used by manual install (remove later)
"invoke ~= 2.2.0",
"tomlkit",
"python-dotenv",
]
# ------------------------------------
[tool.uv]
package = false
dev-dependencies = [
# Generic tools
"abilian-devtools >= 0.7",
"reuse >= 5.0",
# Used by `inv watch`
"watchfiles >= 0.24.0",
# Used by testing infra
"httpx >= 0.27.0",
"python-dotenv >= 1.0.1",
# Experimental
"infer-types~=1.0.0",
# Installer
"pyinfra ~= 3.0",
# Type helpers
"types-toml>=0.10.8.20240310",
"types-requests>=2.32.0.20241016",
"types-paramiko>=3.5.0.20240928",
"types-pytz>=2024.2.0.20241003",
"types-tabulate>=0.9.0.20240106",
# Type checking
"beartype>=0.19.0",
"pytest-beartype>=0.2.0",
# More tools
"import-linter>=2.1",
# Doc (temp - this should go in hop3-docs)
"duty>=1.4.3",
"markdown-callouts>=0.4",
"markdown-exec>=1.8",
"mkdocs",
"mkdocs-coverage>=1.0",
"mkdocs-gen-files>=0.5",
"mkdocs-git-revision-date-localized-plugin>=1.2",
"mkdocs-include-markdown-plugin",
"mkdocs-literate-nav>=0.6",
"mkdocs-material",
"mkdocs-material-extensions",
"mkdocs-minify-plugin>=0.8",
"mkdocs-roamlinks-plugin",
"mkdocstrings[python]",
"pygments",
"urllib3",
# SBOM
"cyclonedx-bom>=5.1.1",
"lbom>=0.6",
"sbom4python>=0.11.3",
"spdx-tools>=0.8.3",
]
[tool.uv.workspace]
members = ["packages/*"]
[tool.uv.sources]
hop3-lib = { workspace = true }
hop3-agent = { workspace = true }
hop3-cli = { workspace = true }
hop3-server = { workspace = true }
hop3-web = { workspace = true }
hop3-testing = { workspace = true }
# ------------------------------------
[tool.isort]
profile = "black"
# ------------------------------------
[tool.pytest.ini_options]
# See: https://docs.pytest.org/en/7.1.x/explanation/pythonpath.html#import-modes
# and: https://docs.pytest.org/en/7.1.x/explanation/goodpractices.html#choosing-an-import-mode
addopts = "-ra --import-mode=importlib"
testpaths = [
"packages/hop3-agent/tests",
"packages/hop3-agent/src",
# Disabled for now
# "packages/*/tests",
# # Tests may be in the same directory as the code
# "packages/*/src",
]
# ------------------------------------
[tool.coverage.report]
exclude_also = [
"if typing.TYPE_CHECKING:",
"if TYPE_CHECKING:",
]
# ------------------------------------
[tool.mypy]
ignore_missing_imports = true
strict_optional = true
warn_no_return = true
warn_unused_ignores = true
check_untyped_defs = true
exclude = [
"^packages/hop3-agent/src/hop3/builders/java\\.py$",
]