yang.connector
YANG defined interface API protocol connector
What it is and what it does
yang.connector is a NETCONF and gRPC/GNMI client library for Cisco's pyATS test automation framework. It abstracts the complexity of connecting to network devices that expose YANG data models, allowing you to send configuration commands, retrieve operational state, and automate network testing workflows. The package wraps lower-level libraries like ncclient (for NETCONF) and grpcio (for gRPC) to provide a unified interface aligned with pyATS conventions.
The library is intended for network engineers and test automation developers who need to programmatically interact with Cisco devices or other NETCONF/GNMI-capable equipment. It handles the protocol-level details of SSH tunneling, XML parsing (via lxml), and gRPC serialization (via protobuf), so you focus on the test logic rather than connection management.
Use it for:
- Automate NETCONF configuration changes on network devices as part of a pyATS test suite
- Retrieve operational state and configuration snapshots from YANG-modeled devices for validation
- Build gRPC/GNMI clients to interact with modern Cisco devices supporting telemetry
- Integrate network device connectivity into CI/CD pipelines for infrastructure testing
- Compare before-and-after configurations during network automation workflows
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides NETCONF and gRPC/GNMI client implementations for connecting to network devices and managing YANG-modeled configurations, designed for integration with Cisco pyATS test automation.
Yes, if you are working with Cisco pyATS or need to automate NETCONF/GNMI interactions with network devices. The package is actively maintained, has no known vulnerabilities, and integrates well with the pyATS ecosystem. Install it only if you have NETCONF or gRPC-capable devices to connect to; it is not useful as a standalone utility.
Install
yang-connector on PyPI
pip
pip install yang-connectoruv
uv add yang-connectorpoetry
poetry add yang-connectorInstalling yang.connector
Before you install
Low friction installation with a pure-Python wheel. Active maintenance with a release within the last week. Five runtime dependencies (paramiko, lxml, ncclient, grpcio, protobuf) are all established libraries, though grpcio and protobuf add some weight to the dependency tree.
License in practice
Apache 2.0 is permissive; you can use this package commercially and modify it freely, with the main obligation being to retain license and copyright notices.
Quickstart
pip install yang.connector
from yang.connector import NetconfClient
client = NetconfClient(host='device_ip', username='user', password='pass')
client.connect()
Requires network connectivity to a NETCONF-enabled device; paramiko and ncclient must be able to establish SSH connections.
Verify before relying
- Whether the package supports Python versions beyond 3.4 (classifier lists 3.4, but requires_python is unspecified)
- Exact API surface and method signatures for NetconfClient and GNMI client classes
- Whether gRPC/GNMI support is fully implemented or still in development
Package facts
| License | Apache 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — paramiko, lxml, ncclient, grpcio, protobuf |
| Maintenance | actively maintained — 7 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 266,166/month — #8,306 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: yang_connector-26.7-py3-none-any.whl
Keywords: pyats, cisco-shared
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
pygnmiPure Python gNMI client for querying and…
permissive · top 15,000 on PyPI
rest.connectorProvides REST API connectivity for network…
permissive · top 15,000 on PyPI
ncclientncclient is a Python library that implements…
permissive · top 5,000 on PyPI
genieGenie is a test automation library and harness…
permissive · top 15,000 on PyPI
genie.libs.confGenie Libs Conf provides Python object-based…
permissive · top 15,000 on PyPI
pyats.topologyModels network testbeds, devices, interfaces,…
permissive · top 15,000 on PyPI
pyats.connectionsProvides device connection abstraction and base…
permissive · top 15,000 on PyPI
netconf-clientA NETCONF client library for Python that…
permissive · top 15,000 on PyPI
pyatspyATS is Cisco's end-to-end testing framework…
permissive · top 15,000 on PyPI
pyangpyang validates YANG data models (RFC 7950),…
permissive · top 15,000 on PyPI