--- id: netconf-client version: "3.6.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # netconf-client — A Python NETCONF client License: permissive · Maintenance: active · Downloads: 107.7K/mo ## What it is and what it does netconf_client is a lightweight NETCONF protocol client for Python that communicates with network devices and management systems over SSH or TLS. It provides a Manager interface to send NETCONF RPC messages (edit_config, get, etc.) and receive XML responses, making it suitable for automating device configuration and state retrieval in network operations workflows. The library is intentionally simpler than some alternatives, with a smaller codebase and fewer dependencies. It assumes you are sending valid NETCONF messages to a compliant server, which means less defensive error checking but also less overhead and fewer workarounds for non-standard device behavior. It depends on lxml for XML handling and paramiko for SSH transport. Use it for: - Automate configuration changes on NETCONF-compliant network devices (routers, switches, firewalls) via SSH. - Query device state and operational data from network management systems using NETCONF get and get-config operations. - Build network provisioning or remediation scripts that interact with standards-based device APIs. - Test NETCONF server implementations by sending raw or edge-case protocol messages. - Integrate device management into Python-based orchestration or monitoring platforms. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. A NETCONF client library for Python that enables SSH and TLS communication with NETCONF servers to retrieve and edit device configurations using XML-based protocol messages. Yes. The package is actively maintained, has no known vulnerabilities, supports current Python versions, and offers a simpler alternative to heavier NETCONF libraries when you need straightforward SSH/TLS communication with standards-compliant devices. Install friction is low and the Apache-2.0 license is permissive. Best suited for teams comfortable with NETCONF protocol basics and RFC-compliant device behavior. ## Install pip install netconf-client uv add netconf-client poetry add netconf-client ## Installing netconf-client Before you install: Low install friction with a pure-Python wheel distribution. Actively maintained with a recent release (79 days ago) and current Python version support (3.8–3.11). Two lightweight runtime dependencies (lxml and paramiko) are well-established libraries. License in practice: Apache-2.0 is a permissive license; you may use, modify, and distribute this package freely in commercial and private projects, provided you include a copy of the license and note any material changes. Quickstart: pip install netconf-client from netconf_client.connect import connect_ssh from netconf_client.ncclient import Manager session = connect_ssh(host="localhost", port=830, username="admin", password="password") mgr = Manager(session, timeout=120) print(mgr.get(filter="...").data_xml) Requires a NETCONF server listening on the target host (typically port 830) and valid credentials; Python 3.8 or later. Verify before relying: - Whether lxml can actually be bypassed in practice and what the performance implications are. - Extent of error checking differences versus ncclient and whether that matters for your use case. - Whether TLS session support is production-ready or still experimental. ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 107.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags netconf client python, network device configuration management, ssh netconf protocol, xml device config retrieval, network automation netconf, tls netconf sessions, device state queries, network-automation, device-management, protocol-client [View on SkillFed](https://skillfed.io/packages/netconf-client) · [View on PyPI](https://pypi.org/project/netconf-client/)