Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
76 lines (68 loc) · 2 KB
/
Copy pathpyproject.toml
File metadata and controls
76 lines (68 loc) · 2 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
[project]
name = "telemetry-nerd"
version = "0.1.0"
description = "Evidence-first telemetry analysis workspace for Claude"
license = "Apache-2.0"
requires-python = ">=3.12"
dependencies = [
"anyio>=4.15.1",
"duckdb>=1.5.6",
"httpx>=0.28.1",
"ipykernel>=7.4.0",
"jupyter-client>=8.10.0",
"mcp>=2.2.0",
"numpy>=2.5.3",
"polars>=1.44.2",
"pyarrow>=25.0.1",
"pydantic>=2.13.5",
"pyyaml>=6.0.3",
"starlette>=1.7.0",
"uvicorn>=0.54.0",
"websockets>=17.1",
]
[project.optional-dependencies]
# Tier-2 scientific stack for code run in the kernel (spec 5.2); also the `-full` image.
analysis = [
"scipy>=1.17.0",
"statsmodels>=0.14.6",
"scikit-learn>=1.8.0",
"ruptures>=1.1.10",
"pywavelets>=1.9.0",
]
[project.scripts]
telemetry-nerd = "telemetry_nerd.cli:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/telemetry_nerd"]
# test-only: the e2e fixture PromQL source needs the dev-only promql-parser (bead y7hb)
exclude = ["src/telemetry_nerd/devtools/promfixture"]
# Bundles ui/dist as telemetry_nerd/ui_dist (see hatch_build.py).
[tool.hatch.build.targets.wheel.hooks.custom]
path = "hatch_build.py"
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
testpaths = ["tests"]
markers = [
"integration: needs Docker (testcontainers VictoriaMetrics, Elasticsearch, OpenSearch); required in CI (`just test-integration`)",
"network: needs the public internet; non-blocking in CI (`just test-network`)",
"slow: starts real subprocesses (seconds); deselect with -m 'not slow'",
]
addopts = "-m 'not integration and not network'"
[tool.ruff]
line-length = 100
target-version = "py312"
extend-exclude = ["docs"]
[dependency-groups]
dev = [
"hypothesis>=6.168.3",
"promql-parser>=0.10.0",
"pytest>=9.1.1",
"pytest-asyncio>=1.4.0",
"pytest-randomly>=5.0.0",
"respx>=0.23.1",
"ruff>=0.16.9",
"testcontainers>=4.15.0",
]