[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "hbd" version = "5.0.12" 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", ] # 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.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