Skip to content

Commit 9a26900

Browse files
committed
build: add optional-dependencies for new feature modules
Group the optional dependencies introduced by the recent feature work into install extras so users can opt in cleanly: pip install je_load_density[mqtt] # paho-mqtt pip install je_load_density[grpc] # grpcio + protobuf pip install je_load_density[websocket] # websocket-client pip install je_load_density[metrics] # prometheus + otel pip install je_load_density[mcp] # mcp SDK pip install je_load_density[faker] pip install je_load_density[all] Each runtime module already imports these lazily, so the base install footprint is unchanged.
1 parent 2be98b2 commit 9a26900

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

pyproject.toml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,35 @@ find = { namespaces = false }
4040

4141
[project.optional-dependencies]
4242
gui = ["PySide6==6.11.0", "qt-material"]
43+
websocket = ["websocket-client>=1.6"]
44+
grpc = ["grpcio>=1.60", "protobuf>=4.25"]
45+
mqtt = ["paho-mqtt>=2.0"]
46+
prometheus = ["prometheus-client>=0.19"]
47+
opentelemetry = [
48+
"opentelemetry-api>=1.24",
49+
"opentelemetry-sdk>=1.24",
50+
"opentelemetry-exporter-otlp-proto-grpc>=1.24",
51+
]
52+
metrics = [
53+
"prometheus-client>=0.19",
54+
"opentelemetry-api>=1.24",
55+
"opentelemetry-sdk>=1.24",
56+
"opentelemetry-exporter-otlp-proto-grpc>=1.24",
57+
]
58+
faker = ["faker>=24.0"]
59+
mcp = ["mcp>=1.0"]
60+
all = [
61+
"PySide6==6.11.0", "qt-material",
62+
"websocket-client>=1.6",
63+
"grpcio>=1.60", "protobuf>=4.25",
64+
"paho-mqtt>=2.0",
65+
"prometheus-client>=0.19",
66+
"opentelemetry-api>=1.24",
67+
"opentelemetry-sdk>=1.24",
68+
"opentelemetry-exporter-otlp-proto-grpc>=1.24",
69+
"faker>=24.0",
70+
"mcp>=1.0",
71+
]
4372

4473
[tool.bandit]
4574
exclude_dirs = ["test", "tests", ".venv", "build", "dist"]

0 commit comments

Comments
 (0)