462a445235
- scripts/hbc_mini.py: self-contained hbc with no external deps; uses /proc for CPU/memory/network on Linux, df for disk, JSON config - hbc + hbc_mini: mark connection _dead and stop sending on protocol error - README: document hbc_mini usage, config, and plugin availability - pyproject.toml: include hbc_mini.py in script-files Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
77 lines
1.5 KiB
TOML
77 lines
1.5 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61.0", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "hbd"
|
|
version = "5.1.6"
|
|
description = "Heartbeat monitoring system — client (hbc) and server (hbd)"
|
|
readme = "README.md"
|
|
requires-python = ">=3.11"
|
|
license = "MIT"
|
|
keywords = ["heartbeat", "monitoring", "dns", "websocket", "system-monitoring"]
|
|
authors = [
|
|
{ name = "heartbeat contributors" }
|
|
]
|
|
|
|
# Core dependencies (required for both client and server)
|
|
dependencies = [
|
|
"PyYAML>=6.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
# Client-only dependencies (hbc - system monitoring client)
|
|
client = [
|
|
"psutil>=5.9.0",
|
|
]
|
|
|
|
# Server-only dependencies (hbd - heartbeat daemon/server)
|
|
server = [
|
|
"websockets>=13.2",
|
|
"mattermostdriver>=7.3.0",
|
|
"aiohttp>=3.11",
|
|
"Jinja2>=3.1.6",
|
|
"matrix-nio>=0.24",
|
|
]
|
|
|
|
# Install both client and server
|
|
all = [
|
|
"hbd[client,server]",
|
|
]
|
|
|
|
# Development dependencies
|
|
dev = [
|
|
"pytest>=7.0",
|
|
"pytest-cov>=4.0",
|
|
"flake8>=5.0",
|
|
"mypy>=1.10",
|
|
"black>=23.0",
|
|
"isort>=5.0",
|
|
"tox>=4.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
hbd = "hbd.server.cli:main"
|
|
hbc = "hbd.client.main:main"
|
|
|
|
[tool.setuptools]
|
|
script-files = ["scripts/hb_install.sh", "scripts/hbc_mini.py"]
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["hbd*"]
|
|
|
|
[tool.setuptools.package-data]
|
|
"hbd.server" = ["*.yaml", "static/*", "static/*/*", "templates/*"]
|
|
"hbd.client" = ["*.yaml"]
|
|
|
|
|
|
[tool.black]
|
|
line-length = 111
|
|
|
|
[tool.flake8]
|
|
max-line-length = 111
|
|
|
|
[tool.pylint.format]
|
|
max-line-length = 111
|