-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
92 lines (81 loc) · 2.24 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
[project]
name = "timeout-executor"
dynamic = ["version"]
description = "execute with timeout"
authors = [{ name = "phi", email = "[email protected]" }]
readme = "README.md"
license = { file = "LICENSE" }
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Framework :: AnyIO",
"Framework :: AsyncIO",
"Framework :: Trio",
]
requires-python = ">= 3.9"
dependencies = [
"anyio>=4.0.0",
"typing-extensions>=4.4.0",
"cloudpickle>=3.0.0",
"async-wrapper>=0.9.0",
"tblib>=3.0.0",
"exceptiongroup; python_version < '3.11'",
"psutil",
]
[project.urls]
Repository = "https://github.com/phi-friday/timeout-executor"
[project.optional-dependencies]
uvloop = ["uvloop; platform_system != 'Windows'"]
jinja = ["jinja2>=3.0.0"]
test = [
"httpx>=0.27.2",
"pytest-cov>=5.0.0",
"pytest-xdist>=3.6.1",
"pytest>=8.0.2",
"trio>=0.24.0",
]
[tool.uv]
managed = true
dev-dependencies = [
"ruff==0.6.7",
"ipykernel>=6.29.3",
"pre-commit>=3.5.0",
"pyyaml>=6.0.1",
"poethepoet>=0.27.0",
"timeout-executor[uvloop,jinja,test]",
]
[tool.poe.tasks]
lint = ["_lint:check", "_lint:format"]
"_lint:check" = "ruff check src --fix"
"_lint:format" = "ruff format src"
check = "pre-commit run --all-files --show-diff-on-failure"
[build-system]
requires = ["hatchling", "hatch-vcs"]
build-backend = "hatchling.build"
[tool.hatch.version]
source = "vcs"
[tool.hatch.build.targets.wheel]
packages = ["src/timeout_executor"]
[tool.hatch.build.targets.sdist]
include = ["src/timeout_executor"]
[tool.pytest.ini_options]
addopts = "-n 4 --cov=src/timeout_executor --cov-report html --cov-report=xml"
testpaths = ["src/tests"]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"if TYPE_CHECKING:",
"raise NotImplementedError",
]
[tool.coverage.run]
omit = [
"./src/timeout_executor/subprocess.py",
"./src/timeout_executor/subprocess_jinja.py",
"./src/tests/**/*",
]