dsmview/pyproject.toml
Jan Vetesnik 78b1712fdd v0.2.1: show all NICs with IPs, filter storage to /volumeN only
Network
- NetworkCollector now also runs `ip -o -4 addr show` and merges the
  IPv4 address into each NetSample. Dashboard shows one line per
  interface (iface + IP + rx + tx); the active one is marked with `●`
  and is what the rx/tx braille graphs track.
- Hides loopback, docker*, veth*, br-*, virbr*, tap*, tun*, ovs-system,
  dummy*, wg*. Folds the raw `ethN` away when an `ovs_ethN` exists for
  the same NIC (Open vSwitch on Synology exposes both, only the ovs_
  one carries the IP).

Storage
- Only `/volumeN` (digits) is shown. Previously bind-mounts created by
  Container Manager under `/volume1/@appdata/.../all_shares/*` and other
  subpath mounts were listed too, each repeating the pool's usage —
  visually noisy and meaningless.

Verified against DS720+ (DSM 7.3.2) and a multi-NIC NAS running OvS +
Tailscale + Docker.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-13 18:33:48 +02:00

46 lines
1.3 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "dsmview"
version = "0.2.1"
description = "TUI SSH monitor for Synology DSM 7.x"
readme = "README.md"
license = { text = "MIT" }
requires-python = ">=3.12"
authors = [{ name = "Jan Vetesnik" }]
keywords = ["synology", "dsm", "nas", "tui", "ssh", "monitoring"]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console :: Curses",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: MIT License",
"Operating System :: MacOS",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.12",
"Topic :: System :: Monitoring",
"Topic :: System :: Systems Administration",
]
dependencies = [
"textual>=0.47.0",
"paramiko>=3.4.0",
"click>=8.1.0",
"plotext>=5.2.0",
"textual-plotext>=0.2.1",
]
[project.scripts]
dsmview = "dsmview.cli:main"
[project.urls]
Homepage = "https://github.com/janvete/dsmview"
Repository = "https://github.com/janvete/dsmview"
Issues = "https://github.com/janvete/dsmview/issues"
[tool.hatch.build.targets.wheel]
packages = ["dsmview"]
[tool.hatch.build.targets.sdist]
include = ["/dsmview", "/README.md", "/LICENSE"]