python-netgear-switch-library 0.0.post345__tar.gz → 0.0.post347__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.post345 → python_netgear_switch_library-0.0.post347}/PKG-INFO +1 -1
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/_version.py +2 -2
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/aio_api.py +16 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/capabilities.py +36 -9
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/nsdp_write.py +23 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/nsdp/write.py +11 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/sync_api.py +19 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/.github/workflows/ci.yml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/.github/workflows/deb.yml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/.github/workflows/publish-pypi.yml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/.gitignore +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/.readthedocs.yaml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/CLAUDE.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/LICENSE +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/README.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/RELEASING.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/debian/changelog +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/debian/control +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/debian/copyright +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/debian/rules +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/debian/source/format +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/Makefile +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/_ext/filelinks.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/_ext/support_tables.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/_static/models/gs105pe.png +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/_static/models/gs110emx.png +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/_static/models/gs305ep.png +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/_static/models/gs728tpp.png +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/_static/models/gsm7228ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/_static/models/gsm7252ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/_static/models/m4300-16x.png +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/_static/models/m4300-24x.png +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/_static/ngsw.css +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/api/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/api/core.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/api/facades.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/api/index.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/api/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/api/operations.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/api/protocols.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/api/transport.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/api/virtual.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/conf.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/development.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/fake/index.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/fake/internals.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/fake/serving.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/fake/testing.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/guide/concepts.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/guide/configuration.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/guide/installation.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/guide/principles.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/guide/quickstart.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/guide/reading.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/guide/writing.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/index.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/models/gs105pe.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/models/gs110emx.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/models/gs305ep.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/models/gs728tpp.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/models/gsm7228ps.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/models/gsm7252ps.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/models/index.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/models/m4300-16x.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/models/m4300-24x.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/models/support.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/protocols/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/protocols/http/cheetah-form.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/protocols/http/cheetah-v1.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/protocols/http/gambit.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/protocols/http/merge-hash-cgi.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/protocols/http/xml-api.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/protocols/http.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/protocols/index.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/protocols/nsdp.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/protocols/snmp.rst +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/superpowers/plans/2026-07-15-foundation.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/superpowers/plans/2026-07-17-slice-02-snmp-read-core.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/superpowers/plans/2026-07-17-slice-03-read-apis.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/superpowers/plans/2026-07-18-slice-04-snmp-write.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/superpowers/plans/2026-07-18-slice-05-nsdp.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/superpowers/plans/2026-07-18-slice-06-http.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/superpowers/plans/2026-07-18-slice-07-cli.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/superpowers/plans/2026-07-18-slice-08-packaging-ci.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/superpowers/plans/2026-07-23-gsm7252ps-http-xe-dialect.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/superpowers/specs/2026-07-15-netgear-control-library-design.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/superpowers/specs/2026-07-23-gsm7252ps-http-xe-dialect-design.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/docs/superpowers/specs/2026-08-02-snmp-surface-findings.md +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/packaging/apt-index.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/packaging/ci-build.sh +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/packaging/deb-version.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/pyproject.toml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/cli/capture.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/cli/context.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/cli/format.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/cli/main.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/cli/resolve.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/cli/safety.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/config.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/errors.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/http_read.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/http_write.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/mcp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/mcp/server.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/models.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/cli/commands.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/cli/parse.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/http/crypt.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/http/endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/http/forms.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/http/parse.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/http/session.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/http/types.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/nsdp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/nsdp/auth.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/nsdp/client.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/nsdp/parsers.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/nsdp/protocol.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/nsdp/types.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/snmp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/snmp/client.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/snmp/oids.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/snmp/parse.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/protocols/snmp/write.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/py.typed +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/registry.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/aio/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/aio/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/aio/snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/cli/console.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/cli/session.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/cli/ssh.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/cli/telnet.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/http/client.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/sync/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/sync/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/transport/sync/snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/cli_fastpath.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/faces/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/faces/cli.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/faces/http.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/faces/mibview.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/faces/nsdp.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/faces/snmp.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/seed.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/server.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/state.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/web.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/web_fastpath_vlan.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/web_fastpath_xui.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/web_gs105pe.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/web_gs110emx.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/web_gs110emx_templates.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/web_gs728tpp.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/web_gsm7228ps.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/web_gsm7252ps.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/src/netgear_switch/virtual/web_m4300.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/capture_parity.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/cli/test_capture.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/cli/test_cli_integration.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/cli/test_control_poe_port.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/cli/test_control_vlan_ip.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/cli/test_format.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/cli/test_main_framework.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/cli/test_new_commands.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/cli/test_op_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/cli/test_prompt_wiring.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/cli/test_read_commands.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/cli/test_resolve.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/cli/test_safety.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/cli/test_serve.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/conftest.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/captures/gsm7228ps.json +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/captures/gsm7252ps.json +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/captures/m4300-16x.json +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/captures/m4300-24x.json +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7228ps_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7228ps_lldp.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7228ps_mac_table.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7228ps_network.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7228ps_poe.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7228ps_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7228ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7228ps_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7228ps_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7228ps_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7252ps_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7252ps_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7252ps_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7252ps_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7252ps_show_network.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7252ps_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7252ps_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7252ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7252ps_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7252ps_show_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/gsm7252ps_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_16x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_16x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_16x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_16x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_16x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_16x_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_16x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_16x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_16x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_16x_show_vlan_1.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_16x_show_vlan_4.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_16x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_16x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_24x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_24x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_24x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_24x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_24x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_24x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_24x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_24x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_24x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_24x_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/cli/m4300_24x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs105pe_membership.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs105pe_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs105pe_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs105pe_status.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs105pe_switch_info.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs105pe_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs110emx_cf8021q.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs110emx_interface_stats.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs110emx_login.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs110emx_port_settings.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs110emx_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs110emx_redirect.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs110emx_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs110emx_vlanmembership.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs305ep_dashboard.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs305ep_login.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs305ep_membership.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs305ep_poestatus.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs305ep_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs305ep_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs305ep_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs728tpp_device_info_and_sensors.xml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs728tpp_lldp.xml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs728tpp_macs.xml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs728tpp_mgmt_ip.xml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs728tpp_poe.xml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs728tpp_ports.xml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs728tpp_pvids_membership.xml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs728tpp_vlan_membership_per_vlan.xml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gs728tpp_vlans.xml +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7228ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7228ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7228ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7228ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7228ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7228ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7228ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7228ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7228ps_vlanPortCfg_vlan5.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7228ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7252ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7252ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7252ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7252ps_login.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7252ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7252ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7252ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7252ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7252ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan141.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/gsm7252ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_16x_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_16x_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_16x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_16x_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_16x_vlanportcfg_vlan4.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_24x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_addresstable.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_ports.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_vlanportcfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/http/m4300_vlanstatus.html +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/snmp/gsm7252ps_fans.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/snmp/gsm7252ps_ifhighspeed.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/snmp/gsm7252ps_ifoperstatus.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/fixtures/snmp/gsm7252ps_psu.txt +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/http_specs.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/cli/test_cli_parse.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/http/test_crypt.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/http/test_endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/http/test_forms.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/http/test_parse.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/nsdp/test_auth.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/nsdp/test_parsers.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/nsdp/test_protocol.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/nsdp/test_write_frame.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/snmp/test_client.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/snmp/test_oids.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/snmp/test_parse_lldp_macs.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/snmp/test_parse_mgmt_ip.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/snmp/test_parse_poe_sensors.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/snmp/test_parse_ports.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/snmp/test_parse_system_info.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/snmp/test_parse_vlans.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/protocols/snmp/test_write_encode.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_aio_api.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_capabilities.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_cli_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_config.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_cross_backend_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_deb_version.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_docs_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_errors.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_facade_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_http_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_http_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_http_read.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_http_vlan_membership.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_http_write.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_http_xui_writes.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_import.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_mcp_server.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_models.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_models_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_nsdp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_public_api.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_quality_gates.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_registry.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_snmp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_sync_api.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_version.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/test_write_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/transport/_fastpath_fake.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/transport/test_cli_console.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/transport/test_cli_scp_cert.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/transport/test_cli_telnet.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/transport/test_http_client.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/transport/test_nsdp_udp_sync.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/transport/test_set_transport.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/transport/test_snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/transport/test_snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/transport/test_value_parity.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_cli_cross_backend.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_cli_gsm7228ps_parity.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_gsm7228ps_seed.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_hostname.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_m4300_seeds.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_mibview.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_mutable_state.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_nsdp_state.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_serve_daemon.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_snmp_write_face.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_state_seed.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_switchport_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_virtual_http_face.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_virtual_nsdp_face.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_virtual_snmp_face.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/tests/virtual/test_web_projection.py +0 -0
- {python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/uv.lock +0 -0
{python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/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.post347
|
|
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
|
|
@@ -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.post347'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 0, 'post347')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -95,6 +95,8 @@ if TYPE_CHECKING:
|
|
|
95
95
|
PortStats,
|
|
96
96
|
PortStatus,
|
|
97
97
|
Sensor,
|
|
98
|
+
ServiceStatus,
|
|
99
|
+
SwitchUser,
|
|
98
100
|
SyslogConfig,
|
|
99
101
|
VLANInfo,
|
|
100
102
|
VlanMode,
|
|
@@ -452,6 +454,20 @@ class AsyncSwitch:
|
|
|
452
454
|
"""Async twin of ``SyncSwitch.get_syslog`` -- see there."""
|
|
453
455
|
return await self._read(lambda r: r.get_syslog(), backend)
|
|
454
456
|
|
|
457
|
+
async def get_users(self, *, backend: Backend | None = None) -> list[SwitchUser]:
|
|
458
|
+
"""Async twin of ``SyncSwitch.get_users``.
|
|
459
|
+
|
|
460
|
+
AsyncSwitch has no CLI backend, so this refuses on every model -- the
|
|
461
|
+
same honest refusal every async CLI read gives.
|
|
462
|
+
"""
|
|
463
|
+
return await self._read(lambda r: r.get_users(), backend)
|
|
464
|
+
|
|
465
|
+
async def get_services(
|
|
466
|
+
self, *, backend: Backend | None = None
|
|
467
|
+
) -> list[ServiceStatus]:
|
|
468
|
+
"""Async twin of ``SyncSwitch.get_services`` -- CLI only, see there."""
|
|
469
|
+
return await self._read(lambda r: r.get_services(), backend)
|
|
470
|
+
|
|
455
471
|
async def get_hostname(self, *, backend: Backend | None = None) -> str:
|
|
456
472
|
"""Async twin of ``SyncSwitch.get_hostname`` -- see there."""
|
|
457
473
|
return await self._read(lambda r: r.get_hostname(), backend)
|
|
@@ -114,6 +114,28 @@ READ_OPERATIONS: tuple[Operation, ...] = (
|
|
|
114
114
|
Operation("get_sensors", OperationKind.READ, "Fan/PSU/temperature sensors"),
|
|
115
115
|
Operation("get_mgmt_ip", OperationKind.READ, "Management IP configuration"),
|
|
116
116
|
Operation("get_hostname", OperationKind.READ, "The switch's host name"),
|
|
117
|
+
Operation(
|
|
118
|
+
"get_users",
|
|
119
|
+
OperationKind.READ,
|
|
120
|
+
"Local login accounts and their access level",
|
|
121
|
+
# CLI only, deliberately. The S3300's vendor SNMP user table holds ONE
|
|
122
|
+
# account where its own CLI lists two, so the two backends do not report
|
|
123
|
+
# the same set; claiming both serve this would assert an equivalence the
|
|
124
|
+
# hardware contradicts. Restricting it to the CLI makes no cross-backend
|
|
125
|
+
# claim at all, and leaves the SNMP question open rather than answered
|
|
126
|
+
# wrongly.
|
|
127
|
+
backends=_CLI_BACKENDS,
|
|
128
|
+
),
|
|
129
|
+
Operation(
|
|
130
|
+
"get_services",
|
|
131
|
+
OperationKind.READ,
|
|
132
|
+
"Which management services (http/https/telnet/ssh) are enabled",
|
|
133
|
+
# CLI only so far: `show ip http`, `show telnetcon` and `show ip ssh`
|
|
134
|
+
# are measured, and the SNMP/HTTP/NSDP equivalents are unlocated rather
|
|
135
|
+
# than absent. The four models with no CLI backend therefore have no
|
|
136
|
+
# route to this yet, which the support table now shows as a hole.
|
|
137
|
+
backends=_CLI_BACKENDS,
|
|
138
|
+
),
|
|
117
139
|
Operation(
|
|
118
140
|
"get_syslog",
|
|
119
141
|
OperationKind.READ,
|
|
@@ -153,16 +175,21 @@ WRITE_OPERATIONS: tuple[Operation, ...] = (
|
|
|
153
175
|
"set_hostname",
|
|
154
176
|
OperationKind.WRITE,
|
|
155
177
|
"Set the switch's host name",
|
|
156
|
-
# SNMP (sysName,
|
|
157
|
-
#
|
|
178
|
+
# SNMP (sysName), NSDP (tag 0x0003) and the FASTPATH CLI (`hostname`),
|
|
179
|
+
# each confirmed writable against real hardware:
|
|
158
180
|
#
|
|
159
|
-
#
|
|
160
|
-
#
|
|
161
|
-
#
|
|
162
|
-
#
|
|
163
|
-
#
|
|
164
|
-
#
|
|
165
|
-
|
|
181
|
+
# SNMP all five reachable switches accepted a SET of the value they
|
|
182
|
+
# already held -- a zero-impact writability probe
|
|
183
|
+
# NSDP live round trip on gs110emx3 (10.1.5.27): recorded the prior
|
|
184
|
+
# name, wrote a throwaway, read it back, restored, re-read
|
|
185
|
+
# CLI round-trips on all four CLI models
|
|
186
|
+
#
|
|
187
|
+
# That closes the Plus-model hole this restriction used to expose: every
|
|
188
|
+
# registered model now has at least one backend that can rename it. HTTP
|
|
189
|
+
# is still absent -- two web UIs carry a switch_name field but the write
|
|
190
|
+
# is unbuilt -- so the restriction stays, and states what the library
|
|
191
|
+
# serves rather than what the devices can do.
|
|
192
|
+
backends=frozenset({Backend.SNMP, Backend.NSDP}) | _CLI_BACKENDS,
|
|
166
193
|
),
|
|
167
194
|
Operation(
|
|
168
195
|
"upload_certificate",
|
|
@@ -33,6 +33,7 @@ from .models import VlanMode
|
|
|
33
33
|
from .nsdp_read import AsyncNsdpReader, NsdpReader
|
|
34
34
|
from .protocols.nsdp.protocol import Tag
|
|
35
35
|
from .protocols.nsdp.write import (
|
|
36
|
+
hostname_tlv,
|
|
36
37
|
ipv4_tlv,
|
|
37
38
|
pvid_tlv,
|
|
38
39
|
vlan_destroy_tlv,
|
|
@@ -132,6 +133,28 @@ class NsdpWriter:
|
|
|
132
133
|
def _vlan(self, vlan: int) -> VLANInfo | None:
|
|
133
134
|
return next((v for v in self._reader.get_vlans() if v.vlan_id == vlan), None)
|
|
134
135
|
|
|
136
|
+
def set_hostname(self, name: str, *, force: bool = False) -> None:
|
|
137
|
+
"""Set the switch's host name over NSDP (tag 0x0003).
|
|
138
|
+
|
|
139
|
+
The Plus family's only write route for this: those switches have no SNMP
|
|
140
|
+
agent and no CLI, so without this they cannot be renamed at all.
|
|
141
|
+
|
|
142
|
+
Not force-gated -- renaming cannot strand a switch, and it is reversible
|
|
143
|
+
by writing the old name back. Verified by re-reading the tag.
|
|
144
|
+
"""
|
|
145
|
+
del force # accepted for a uniform writer signature; nothing to gate
|
|
146
|
+
if not name.strip():
|
|
147
|
+
raise ValueError("hostname must not be empty")
|
|
148
|
+
before = self._reader.get_hostname()
|
|
149
|
+
self.client.write([hostname_tlv(name)], password=self._password)
|
|
150
|
+
after = self._reader.get_hostname()
|
|
151
|
+
if after != name:
|
|
152
|
+
raise WriteVerificationError(
|
|
153
|
+
f"host name is {after!r} after writing {name!r}",
|
|
154
|
+
before=before,
|
|
155
|
+
after=after,
|
|
156
|
+
)
|
|
157
|
+
|
|
135
158
|
def set_pvid(self, port: int, vlan: int, *, force: bool = False) -> None:
|
|
136
159
|
# LIVE-VERIFIED over NSDP v2 on a GS110EMX (fw 1.0.2.8): PORT_PVID
|
|
137
160
|
# (0x3000) IS writable (the reference spec's READ-ONLY marking was
|
|
@@ -157,6 +157,17 @@ def port_name_tlv(port: int, name: str) -> TLVEntry:
|
|
|
157
157
|
return TLVEntry(Tag.PORT_NAME, bytes([port]) + name.encode("utf-8"))
|
|
158
158
|
|
|
159
159
|
|
|
160
|
+
def hostname_tlv(name: str) -> TLVEntry:
|
|
161
|
+
"""Host-name write TLV (tag 0x0003), the same shape the read decodes.
|
|
162
|
+
|
|
163
|
+
The read side is measured -- ``parsers`` decodes this tag as plain text and
|
|
164
|
+
three live GS110EMX report their names through it -- so the write is that
|
|
165
|
+
encoding with nothing added: the bare name, ASCII, no length prefix and no
|
|
166
|
+
port byte (unlike ``port_name_tlv`` above, whose tag is indexed by port).
|
|
167
|
+
"""
|
|
168
|
+
return TLVEntry(Tag.HOSTNAME, name.encode("ascii"))
|
|
169
|
+
|
|
170
|
+
|
|
160
171
|
def ipv4_tlv(tag: Tag, dotted: str) -> TLVEntry:
|
|
161
172
|
return TLVEntry(tag, socket.inet_aton(dotted))
|
|
162
173
|
|
|
@@ -157,6 +157,8 @@ if TYPE_CHECKING:
|
|
|
157
157
|
PortStats,
|
|
158
158
|
PortStatus,
|
|
159
159
|
Sensor,
|
|
160
|
+
ServiceStatus,
|
|
161
|
+
SwitchUser,
|
|
160
162
|
SyslogConfig,
|
|
161
163
|
VLANInfo,
|
|
162
164
|
VlanMode,
|
|
@@ -564,6 +566,23 @@ class SyncSwitch:
|
|
|
564
566
|
"""
|
|
565
567
|
return self._read(lambda r: r.get_syslog(), backend)
|
|
566
568
|
|
|
569
|
+
def get_users(self, *, backend: Backend | None = None) -> list[SwitchUser]:
|
|
570
|
+
"""The switch's local login accounts.
|
|
571
|
+
|
|
572
|
+
Served over the FASTPATH CLI. ``SwitchUser.access_mode`` keeps the
|
|
573
|
+
firmware's own wording, which differs between images, and
|
|
574
|
+
``privileged`` carries the normalised reading.
|
|
575
|
+
"""
|
|
576
|
+
return self._read(lambda r: r.get_users(), backend)
|
|
577
|
+
|
|
578
|
+
def get_services(self, *, backend: Backend | None = None) -> list[ServiceStatus]:
|
|
579
|
+
"""Which management services are enabled, and on which ports.
|
|
580
|
+
|
|
581
|
+
Served over the FASTPATH CLI. A ``port`` of ``None`` means the firmware
|
|
582
|
+
reports no port for that service, not that a default applies.
|
|
583
|
+
"""
|
|
584
|
+
return self._read(lambda r: r.get_services(), backend)
|
|
585
|
+
|
|
567
586
|
def get_hostname(self, *, backend: Backend | None = None) -> str:
|
|
568
587
|
"""The switch's host name.
|
|
569
588
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/CLAUDE.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/LICENSE
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/README.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/RELEASING.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/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.post345 → python_netgear_switch_library-0.0.post347}/docs/cli.rst
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post345 → python_netgear_switch_library-0.0.post347}/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.post345 → python_netgear_switch_library-0.0.post347}/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
|