python-netgear-switch-library 0.0.post348__tar.gz → 0.0.post349__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/PKG-INFO +1 -1
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/superpowers/specs/2026-08-02-snmp-surface-findings.md +41 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/_version.py +2 -2
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/.github/workflows/ci.yml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/.github/workflows/deb.yml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/.github/workflows/publish-pypi.yml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/.gitignore +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/.readthedocs.yaml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/CLAUDE.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/LICENSE +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/README.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/RELEASING.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/debian/changelog +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/debian/control +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/debian/copyright +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/debian/rules +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/debian/source/format +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/Makefile +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/_ext/filelinks.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/_ext/support_tables.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/_static/models/gs105pe.png +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/_static/models/gs110emx.png +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/_static/models/gs305ep.png +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/_static/models/gs728tpp.png +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/_static/models/gsm7228ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/_static/models/gsm7252ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/_static/models/m4300-16x.png +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/_static/models/m4300-24x.png +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/_static/ngsw.css +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/api/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/api/core.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/api/facades.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/api/index.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/api/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/api/operations.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/api/protocols.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/api/transport.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/api/virtual.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/conf.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/development.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/fake/index.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/fake/internals.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/fake/serving.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/fake/testing.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/guide/concepts.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/guide/configuration.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/guide/installation.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/guide/principles.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/guide/quickstart.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/guide/reading.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/guide/writing.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/index.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/models/gs105pe.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/models/gs110emx.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/models/gs305ep.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/models/gs728tpp.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/models/gsm7228ps.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/models/gsm7252ps.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/models/index.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/models/m4300-16x.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/models/m4300-24x.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/models/support.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/protocols/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/protocols/http/cheetah-form.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/protocols/http/cheetah-v1.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/protocols/http/gambit.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/protocols/http/merge-hash-cgi.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/protocols/http/xml-api.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/protocols/http.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/protocols/index.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/protocols/nsdp.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/protocols/snmp.rst +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/superpowers/plans/2026-07-15-foundation.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/superpowers/plans/2026-07-17-slice-02-snmp-read-core.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/superpowers/plans/2026-07-17-slice-03-read-apis.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/superpowers/plans/2026-07-18-slice-04-snmp-write.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/superpowers/plans/2026-07-18-slice-05-nsdp.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/superpowers/plans/2026-07-18-slice-06-http.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/superpowers/plans/2026-07-18-slice-07-cli.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/superpowers/plans/2026-07-18-slice-08-packaging-ci.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/superpowers/plans/2026-07-23-gsm7252ps-http-xe-dialect.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/superpowers/specs/2026-07-15-netgear-control-library-design.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/superpowers/specs/2026-07-23-gsm7252ps-http-xe-dialect-design.md +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/packaging/apt-index.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/packaging/ci-build.sh +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/packaging/deb-version.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/pyproject.toml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/aio_api.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/capabilities.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/capture.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/context.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/format.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/main.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/resolve.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/safety.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/config.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/errors.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/http_read.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/http_write.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/mcp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/mcp/server.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/models.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/cli/commands.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/cli/parse.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/crypt.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/forms.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/parse.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/session.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/types.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/auth.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/client.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/parsers.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/protocol.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/types.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/write.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/snmp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/snmp/client.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/snmp/oids.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/snmp/parse.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/snmp/write.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/py.typed +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/registry.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/sync_api.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/aio/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/aio/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/aio/snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/cli/console.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/cli/session.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/cli/ssh.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/cli/telnet.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/http/client.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/sync/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/sync/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/sync/snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/cli_fastpath.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/faces/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/faces/cli.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/faces/http.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/faces/mibview.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/faces/nsdp.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/faces/snmp.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/seed.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/server.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/state.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_fastpath_vlan.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_fastpath_xui.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_gs105pe.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_gs110emx.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_gs110emx_templates.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_gs728tpp.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_gsm7228ps.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_gsm7252ps.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_m4300.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/capture_parity.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/cli/test_capture.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/cli/test_cli_integration.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/cli/test_control_poe_port.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/cli/test_control_vlan_ip.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/cli/test_format.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/cli/test_main_framework.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/cli/test_new_commands.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/cli/test_op_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/cli/test_prompt_wiring.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/cli/test_read_commands.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/cli/test_resolve.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/cli/test_safety.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/cli/test_serve.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/conftest.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/captures/gsm7228ps.json +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/captures/gsm7252ps.json +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/captures/m4300-16x.json +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/captures/m4300-24x.json +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_lldp.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_mac_table.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_network.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_poe.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_network.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_vlan_1.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_vlan_4.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs105pe_membership.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs105pe_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs105pe_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs105pe_status.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs105pe_switch_info.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs105pe_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_cf8021q.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_interface_stats.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_login.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_port_settings.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_redirect.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_vlanmembership.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_dashboard.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_login.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_membership.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_poestatus.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_device_info_and_sensors.xml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_lldp.xml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_macs.xml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_mgmt_ip.xml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_poe.xml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_ports.xml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_pvids_membership.xml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_vlan_membership_per_vlan.xml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_vlans.xml +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_vlanPortCfg_vlan5.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_login.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan141.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_16x_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_16x_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_16x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_16x_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_16x_vlanportcfg_vlan4.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_24x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_addresstable.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_ports.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_vlanportcfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_vlanstatus.html +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/snmp/gsm7252ps_fans.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/snmp/gsm7252ps_ifhighspeed.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/snmp/gsm7252ps_ifoperstatus.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/fixtures/snmp/gsm7252ps_psu.txt +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/http_specs.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/cli/test_cli_parse.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/http/test_crypt.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/http/test_endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/http/test_forms.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/http/test_parse.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/nsdp/test_auth.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/nsdp/test_parsers.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/nsdp/test_protocol.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/nsdp/test_write_frame.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_client.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_oids.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_parse_lldp_macs.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_parse_mgmt_ip.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_parse_poe_sensors.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_parse_ports.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_parse_system_info.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_parse_vlans.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_write_encode.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_aio_api.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_capabilities.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_cli_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_config.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_cross_backend_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_deb_version.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_docs_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_errors.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_facade_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_http_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_http_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_http_read.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_http_vlan_membership.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_http_write.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_http_xui_writes.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_import.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_mcp_server.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_models.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_models_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_nsdp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_public_api.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_quality_gates.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_registry.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_snmp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_sync_api.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_version.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/test_write_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/transport/_fastpath_fake.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/transport/test_cli_console.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/transport/test_cli_scp_cert.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/transport/test_cli_telnet.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/transport/test_http_client.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/transport/test_nsdp_udp_sync.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/transport/test_set_transport.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/transport/test_snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/transport/test_snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/transport/test_value_parity.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_cli_cross_backend.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_cli_gsm7228ps_parity.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_gsm7228ps_seed.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_hostname.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_m4300_seeds.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_mibview.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_mutable_state.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_nsdp_state.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_serve_daemon.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_snmp_write_face.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_state_seed.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_switchport_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_virtual_http_face.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_virtual_nsdp_face.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_virtual_snmp_face.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_web_projection.py +0 -0
- {python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/uv.lock +0 -0
{python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-netgear-switch-library
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.post349
|
|
4
4
|
Summary: Python library and CLI to query and control Netgear switches over SNMP, NSDP and HTTP.
|
|
5
5
|
Author-email: Tim Ansell <me@mith.ro>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -215,3 +215,44 @@ cross-backend operation.
|
|
|
215
215
|
Service protocols are NOT implementable yet: SSH state is readable, inbound
|
|
216
216
|
telnet state is unlocated, and HTTP state is unlocated. Recording that as three
|
|
217
217
|
separate unknowns rather than one blocked feature.
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
## Service-protocol WRITE commands — attempted, not established
|
|
221
|
+
|
|
222
|
+
Reading service state is done (`show ip http`, `show telnetcon`, `show ip ssh`;
|
|
223
|
+
see `get_services`). The commands that CHANGE it are not, and this section
|
|
224
|
+
records the attempt so the next person does not repeat it.
|
|
225
|
+
|
|
226
|
+
Toggling a management service on a production switch can lock out the very
|
|
227
|
+
session doing it — disabling SSH on 10.1.5.13 would end the connection issuing
|
|
228
|
+
the command — so no toggle was performed. The safe substitute this project uses
|
|
229
|
+
elsewhere is the device's own context-sensitive help (`<partial> ?`), which is
|
|
230
|
+
read-only and abandons the line.
|
|
231
|
+
|
|
232
|
+
That substitute did **not** work cleanly here. Asked in config mode on
|
|
233
|
+
m4300-24x:
|
|
234
|
+
|
|
235
|
+
| Query | Answer |
|
|
236
|
+
|---|---|
|
|
237
|
+
| `ip http ?` | lists only `accounting` and `authentication` |
|
|
238
|
+
| `ip ssh ?` | `% Unrecognized command` |
|
|
239
|
+
| `ip telnet ?` | `% Unrecognized command` |
|
|
240
|
+
| `telnet ?` | `% Unrecognized command` |
|
|
241
|
+
|
|
242
|
+
Two reasons to distrust the negative results rather than record them as limits:
|
|
243
|
+
|
|
244
|
+
1. **`ip http secure-server` is demonstrably valid on this switch** — it appears
|
|
245
|
+
in its own `show running-config | include http` output. So the `ip http ?`
|
|
246
|
+
listing above is incomplete, not authoritative, and the help query is being
|
|
247
|
+
partly consumed by the shell driver rather than fully captured.
|
|
248
|
+
2. `show running-config | include telnet` returns `line telnet`, which suggests
|
|
249
|
+
the inbound telnet server is configured inside a `line telnet` sub-mode
|
|
250
|
+
rather than at global-config level. That would explain the `ip telnet`
|
|
251
|
+
rejection without meaning the capability is absent.
|
|
252
|
+
|
|
253
|
+
**Conclusion: unresolved, and deliberately not implemented.** What is needed is
|
|
254
|
+
either a capture of the help output through a driver that does not swallow it,
|
|
255
|
+
or a toggle performed on a switch that is safe to lose contact with. Writing
|
|
256
|
+
`ip http server` / `no ip ssh server` on the strength of FASTPATH convention
|
|
257
|
+
would be precisely the inference this project forbids — and the cost of being
|
|
258
|
+
wrong is a switch that can no longer be reached.
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '0.0.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 0, '
|
|
21
|
+
__version__ = version = '0.0.post349'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 0, 'post349')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/CLAUDE.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/LICENSE
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/README.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/RELEASING.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/debian/rules
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/cli.rst
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/conf.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post348 → python_netgear_switch_library-0.0.post349}/docs/mcp.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|