python-netgear-switch-library 0.0.post347__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.post347 → python_netgear_switch_library-0.0.post349}/PKG-INFO +1 -1
- {python_netgear_switch_library-0.0.post347 → 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.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/_version.py +2 -2
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/aio_api.py +15 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/snmp_write.py +61 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/sync_api.py +16 -3
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_capabilities.py +1 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/.github/workflows/ci.yml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/.github/workflows/deb.yml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/.github/workflows/publish-pypi.yml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/.gitignore +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/.readthedocs.yaml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/CLAUDE.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/LICENSE +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/README.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/RELEASING.md +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/debian/changelog +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/debian/control +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/debian/copyright +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/debian/rules +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/debian/source/format +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/Makefile +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/_ext/filelinks.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/_ext/support_tables.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/_static/models/gs105pe.png +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/_static/models/gs110emx.png +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/_static/models/gs305ep.png +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/_static/models/gs728tpp.png +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/_static/models/gsm7228ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/_static/models/gsm7252ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/_static/models/m4300-16x.png +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/_static/models/m4300-24x.png +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/_static/ngsw.css +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/api/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/api/core.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/api/facades.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/api/index.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/api/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/api/operations.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/api/protocols.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/api/transport.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/api/virtual.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/conf.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/development.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/fake/index.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/fake/internals.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/fake/serving.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/fake/testing.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/guide/concepts.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/guide/configuration.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/guide/installation.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/guide/principles.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/guide/quickstart.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/guide/reading.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/guide/writing.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/index.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/models/gs105pe.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/models/gs110emx.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/models/gs305ep.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/models/gs728tpp.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/models/gsm7228ps.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/models/gsm7252ps.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/models/index.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/models/m4300-16x.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/models/m4300-24x.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/models/support.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/protocols/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/protocols/http/cheetah-form.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/protocols/http/cheetah-v1.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/protocols/http/gambit.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/protocols/http/merge-hash-cgi.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/protocols/http/xml-api.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/protocols/http.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/protocols/index.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/protocols/nsdp.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/protocols/snmp.rst +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/docs/superpowers/plans/2026-07-15-foundation.md +0 -0
- {python_netgear_switch_library-0.0.post347 → 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.post347 → 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.post347 → 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.post347 → 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.post347 → 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.post347 → 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.post347 → 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.post347 → 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.post347 → 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.post347 → 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.post347 → python_netgear_switch_library-0.0.post349}/packaging/apt-index.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/packaging/ci-build.sh +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/packaging/deb-version.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/pyproject.toml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/capabilities.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/capture.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/context.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/format.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/main.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/resolve.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli/safety.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/config.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/errors.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/http_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/http_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/mcp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/mcp/server.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/models.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/cli/commands.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/cli/parse.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/crypt.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/forms.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/parse.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/session.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/http/types.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/auth.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/client.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/parsers.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/protocol.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/types.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/nsdp/write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/snmp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/snmp/client.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/snmp/oids.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/snmp/parse.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/protocols/snmp/write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/py.typed +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/registry.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/aio/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/aio/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/aio/snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/cli/console.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/cli/session.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/cli/ssh.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/cli/telnet.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/http/client.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/sync/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/sync/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/transport/sync/snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/cli_fastpath.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/faces/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/faces/cli.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/faces/http.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/faces/mibview.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/faces/nsdp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/faces/snmp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/seed.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/server.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/state.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_fastpath_vlan.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_fastpath_xui.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_gs105pe.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_gs110emx.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_gs110emx_templates.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_gs728tpp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_gsm7228ps.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_gsm7252ps.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/src/netgear_switch/virtual/web_m4300.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/capture_parity.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/cli/test_capture.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/cli/test_cli_integration.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/cli/test_control_poe_port.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/cli/test_control_vlan_ip.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/cli/test_format.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/cli/test_main_framework.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/cli/test_new_commands.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/cli/test_op_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/cli/test_prompt_wiring.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/cli/test_read_commands.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/cli/test_resolve.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/cli/test_safety.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/cli/test_serve.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/conftest.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/captures/gsm7228ps.json +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/captures/gsm7252ps.json +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/captures/m4300-16x.json +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/captures/m4300-24x.json +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_lldp.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_mac_table.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_network.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_poe.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7228ps_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → 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.post347 → 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.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_network.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → 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.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/gsm7252ps_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → 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.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → 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.post347 → 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.post347 → 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.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_vlan_1.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_vlan_4.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_16x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → 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.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → 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.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → 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.post347 → 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.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/cli/m4300_24x_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → 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.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs105pe_membership.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs105pe_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs105pe_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs105pe_status.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs105pe_switch_info.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs105pe_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_cf8021q.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_interface_stats.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_login.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_port_settings.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_redirect.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs110emx_vlanmembership.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_dashboard.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_login.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_membership.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_poestatus.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs305ep_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_device_info_and_sensors.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_lldp.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_macs.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_mgmt_ip.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_poe.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_ports.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_pvids_membership.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_vlan_membership_per_vlan.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gs728tpp_vlans.xml +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_vlanPortCfg_vlan5.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7228ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_login.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan141.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/gsm7252ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_16x_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_16x_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_16x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_16x_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_16x_vlanportcfg_vlan4.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_24x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_addresstable.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_ports.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_vlanportcfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/http/m4300_vlanstatus.html +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/snmp/gsm7252ps_fans.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/snmp/gsm7252ps_ifhighspeed.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/snmp/gsm7252ps_ifoperstatus.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/fixtures/snmp/gsm7252ps_psu.txt +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/http_specs.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/cli/test_cli_parse.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/http/test_crypt.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/http/test_endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/http/test_forms.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/http/test_parse.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/nsdp/test_auth.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/nsdp/test_parsers.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/nsdp/test_protocol.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/nsdp/test_write_frame.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_client.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_oids.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_parse_lldp_macs.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_parse_mgmt_ip.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_parse_poe_sensors.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_parse_ports.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_parse_system_info.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_parse_vlans.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/protocols/snmp/test_write_encode.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_aio_api.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_cli_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_config.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_cross_backend_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_deb_version.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_docs_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_errors.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_facade_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_http_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_http_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_http_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_http_vlan_membership.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_http_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_http_xui_writes.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_import.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_mcp_server.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_models.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_models_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_nsdp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_public_api.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_quality_gates.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_registry.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_snmp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_sync_api.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_version.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/test_write_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/transport/_fastpath_fake.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/transport/test_cli_console.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/transport/test_cli_scp_cert.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/transport/test_cli_telnet.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/transport/test_http_client.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/transport/test_nsdp_udp_sync.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/transport/test_set_transport.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/transport/test_snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/transport/test_snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/transport/test_value_parity.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_cli_cross_backend.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_cli_gsm7228ps_parity.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_gsm7228ps_seed.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_hostname.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_m4300_seeds.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_mibview.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_mutable_state.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_nsdp_state.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_serve_daemon.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_snmp_write_face.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_state_seed.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_switchport_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_virtual_http_face.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_virtual_nsdp_face.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_virtual_snmp_face.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/tests/virtual/test_web_projection.py +0 -0
- {python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/uv.lock +0 -0
{python_netgear_switch_library-0.0.post347 → 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
|
|
@@ -661,6 +661,21 @@ class AsyncSwitch:
|
|
|
661
661
|
lambda w: w.clear_poe_fault(port, force=force, timeouts=timeouts), backend
|
|
662
662
|
)
|
|
663
663
|
|
|
664
|
+
async def set_syslog_enabled(
|
|
665
|
+
self,
|
|
666
|
+
enabled: bool,
|
|
667
|
+
*,
|
|
668
|
+
force: bool = False,
|
|
669
|
+
backend: Backend | None = None,
|
|
670
|
+
) -> None:
|
|
671
|
+
"""Turn remote syslog on or off.
|
|
672
|
+
|
|
673
|
+
Served over SNMP. Adding or removing a COLLECTOR is a separate,
|
|
674
|
+
unbuilt operation -- it needs a row-status write that has not
|
|
675
|
+
been driven against hardware.
|
|
676
|
+
"""
|
|
677
|
+
await self._write(lambda w: w.set_syslog_enabled(enabled, force=force), backend)
|
|
678
|
+
|
|
664
679
|
async def set_hostname(
|
|
665
680
|
self, name: str, *, force: bool = False, backend: Backend | None = None
|
|
666
681
|
) -> None:
|
|
@@ -707,6 +707,46 @@ class SnmpWriter:
|
|
|
707
707
|
after=after,
|
|
708
708
|
)
|
|
709
709
|
|
|
710
|
+
def set_syslog_enabled(self, enabled: bool, *, force: bool = False) -> None:
|
|
711
|
+
"""Turn remote syslog on or off.
|
|
712
|
+
|
|
713
|
+
Writes the vendor logging admin-mode column (``<base>.14.1.4.1.0``),
|
|
714
|
+
whose enum is ``1 = enabled, 2 = disabled`` -- established from captured
|
|
715
|
+
CLI rather than assumed, see ``oids.VendorOids.syslog_admin_mode``.
|
|
716
|
+
|
|
717
|
+
WRITABILITY MEASURED 2026-08-02 by SETting each switch the value it
|
|
718
|
+
already held, which cannot change device state but still distinguishes a
|
|
719
|
+
writable column from a read-only one: m4300-24x (10.1.5.13), gsm7252ps
|
|
720
|
+
(10.1.5.22) and gsm7228ps (10.1.5.11) all accepted it.
|
|
721
|
+
|
|
722
|
+
Deliberately narrower than ``get_syslog`` reads. Adding or removing a
|
|
723
|
+
COLLECTOR means creating a row in the host table, which needs a
|
|
724
|
+
row-status write that has not been driven against hardware; offering it
|
|
725
|
+
here on the strength of the read alone would be the inference this
|
|
726
|
+
project refuses.
|
|
727
|
+
|
|
728
|
+
Not force-gated: toggling log delivery cannot strand a switch and is
|
|
729
|
+
reversible by writing the old value back.
|
|
730
|
+
"""
|
|
731
|
+
del force # accepted for a uniform writer signature; nothing to gate
|
|
732
|
+
if not oids.has_vendor_oids(self.model):
|
|
733
|
+
raise UnsupportedCapabilityError(
|
|
734
|
+
f"model {self.model.key!r} registers no Netgear vendor OID "
|
|
735
|
+
"subtree, and the logging columns are vendor-only"
|
|
736
|
+
)
|
|
737
|
+
vo = oids.vendor_oids(self.model)
|
|
738
|
+
before = self._reader.get_syslog()
|
|
739
|
+
self.client.set_many(
|
|
740
|
+
[SetVarbind(vo.syslog_admin_mode, 1 if enabled else 2, "i")]
|
|
741
|
+
)
|
|
742
|
+
after = self._reader.get_syslog()
|
|
743
|
+
if after.enabled != enabled:
|
|
744
|
+
raise WriteVerificationError(
|
|
745
|
+
f"syslog enabled is {after.enabled} after writing {enabled}",
|
|
746
|
+
before=before,
|
|
747
|
+
after=after,
|
|
748
|
+
)
|
|
749
|
+
|
|
710
750
|
def set_hostname(self, name: str, *, force: bool = False) -> None:
|
|
711
751
|
"""Set the switch's host name via the standard MIB-II ``sysName``.
|
|
712
752
|
|
|
@@ -1112,6 +1152,27 @@ class AsyncSnmpWriter:
|
|
|
1112
1152
|
after=after,
|
|
1113
1153
|
)
|
|
1114
1154
|
|
|
1155
|
+
async def set_syslog_enabled(self, enabled: bool, *, force: bool = False) -> None:
|
|
1156
|
+
"""Async twin of ``SnmpWriter.set_syslog_enabled`` -- see there."""
|
|
1157
|
+
del force # accepted for a uniform writer signature; nothing to gate
|
|
1158
|
+
if not oids.has_vendor_oids(self.model):
|
|
1159
|
+
raise UnsupportedCapabilityError(
|
|
1160
|
+
f"model {self.model.key!r} registers no Netgear vendor OID "
|
|
1161
|
+
"subtree, and the logging columns are vendor-only"
|
|
1162
|
+
)
|
|
1163
|
+
vo = oids.vendor_oids(self.model)
|
|
1164
|
+
before = await self._reader.get_syslog()
|
|
1165
|
+
await self.client.set_many(
|
|
1166
|
+
[SetVarbind(vo.syslog_admin_mode, 1 if enabled else 2, "i")]
|
|
1167
|
+
)
|
|
1168
|
+
after = await self._reader.get_syslog()
|
|
1169
|
+
if after.enabled != enabled:
|
|
1170
|
+
raise WriteVerificationError(
|
|
1171
|
+
f"syslog enabled is {after.enabled} after writing {enabled}",
|
|
1172
|
+
before=before,
|
|
1173
|
+
after=after,
|
|
1174
|
+
)
|
|
1175
|
+
|
|
1115
1176
|
async def set_hostname(self, name: str, *, force: bool = False) -> None:
|
|
1116
1177
|
"""Async twin of ``SnmpWriter.set_hostname`` -- see there."""
|
|
1117
1178
|
del force # accepted for a uniform writer signature; nothing to gate
|
|
@@ -503,9 +503,7 @@ class SyncSwitch:
|
|
|
503
503
|
has -- the actionable information the old silent fallback destroyed.
|
|
504
504
|
"""
|
|
505
505
|
if requested is None:
|
|
506
|
-
others = sorted(
|
|
507
|
-
b.name for b in self.model.backends if b is not chosen
|
|
508
|
-
)
|
|
506
|
+
others = sorted(b.name for b in self.model.backends if b is not chosen)
|
|
509
507
|
hint = (
|
|
510
508
|
f"; pass backend=Backend.<{'|'.join(others)}> to use another backend"
|
|
511
509
|
if others
|
|
@@ -814,6 +812,21 @@ class SyncSwitch:
|
|
|
814
812
|
lambda w: w.clear_poe_fault(port, force=force, timeouts=timeouts), backend
|
|
815
813
|
)
|
|
816
814
|
|
|
815
|
+
def set_syslog_enabled(
|
|
816
|
+
self,
|
|
817
|
+
enabled: bool,
|
|
818
|
+
*,
|
|
819
|
+
force: bool = False,
|
|
820
|
+
backend: Backend | None = None,
|
|
821
|
+
) -> None:
|
|
822
|
+
"""Turn remote syslog on or off.
|
|
823
|
+
|
|
824
|
+
Served over SNMP. Adding or removing a COLLECTOR is a separate,
|
|
825
|
+
unbuilt operation -- it needs a row-status write that has not
|
|
826
|
+
been driven against hardware.
|
|
827
|
+
"""
|
|
828
|
+
self._write(lambda w: w.set_syslog_enabled(enabled, force=force), backend)
|
|
829
|
+
|
|
817
830
|
def set_hostname(
|
|
818
831
|
self, name: str, *, force: bool = False, backend: Backend | None = None
|
|
819
832
|
) -> None:
|
|
@@ -97,6 +97,7 @@ _WRITE_ARGS: dict[str, tuple[tuple[Any, ...], dict[str, Any]]] = {
|
|
|
97
97
|
# `hostname` with no argument is rejected by the device itself and clearing
|
|
98
98
|
# a name is a different command (`no hostname`) that is not implemented.
|
|
99
99
|
"set_hostname": (("capcheck",), {}),
|
|
100
|
+
"set_syslog_enabled": ((True,), {}),
|
|
100
101
|
}
|
|
101
102
|
|
|
102
103
|
#: Not driven. ``upload_certificate_scp`` runs a multi-command deploy sequence
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/CLAUDE.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/LICENSE
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → python_netgear_switch_library-0.0.post349}/README.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → 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.post347 → 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.post347 → python_netgear_switch_library-0.0.post349}/docs/cli.rst
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post347 → 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.post347 → 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
|