- CI moves to .gitea/workflows/ci.yml and calls the shared driver workflow
of NAPALM/driver-standard; .github/ is gone.
- requires-python >=3.10 (napalm-device-types needs it), LICENSE file,
py.typed, setuptools>=77 with the SPDX license string, Issues and
Changelog links on git.netork.io, napalm-device-types>=4.21.1 from PyPI,
floors on the dev extra.
- mypy strict for the whole package, no module exempt: optional_args is
dict[str, Any] | None.
- tests/quality_baseline.json records get_facts and get_route_to, over
complexity 10. Coverage floor 95 % (measured 95.67 %).
- CHANGELOG.md in Keep a Changelog form; the README says no host output is
recorded yet, links napalm-device-types in the NAPALM org and pypsrp on
PyPI.
One script: Get-NetTCPConnection -State Listen, Get-NetUDPEndpoint, the
processes holding them and Win32_Service's PIDs. A process running one
service names it; a shared svchost runs several, and which of them holds
the socket Windows does not say, so it names none. http.sys sockets
(WinRM, IIS, SMB) belong to the System process.
The fixture is synthetic: no Windows host was at hand. tools/harvest.py
records the real output. For netOrk#673.
Talks PSRP over WinRM via pypsrp, one runspace pool per connection. Each
getter sends one PowerShell script that projects cmdlet results onto flat
fields and ends in ConvertTo-Json, so the Python side parses JSON, not text.
Covers facts, interfaces, IP addresses, ARP, routes and services, plus
service start/stop/restart/enable/disable. Service names are validated and
quoted as PowerShell verbatim strings, typographic quotes included.
Fixtures are synthetic: they pin down the JSON the scripts are designed to
emit. tools/harvest.py records the real output from a host.
Refs christianmanivong/netork#300