mediumMultiple Choice
200-901 Practice Question: A developer is writing a Python script to…
A developer is writing a Python script to interact with a Cisco device using NETCONF. Which library is most appropriate?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
ncclient
The most appropriate library for NETCONF operations in Python is ncclient (option D). ncclient is a Python library that provides a client for NETCONF, allowing interaction with network devices via NETCONF protocol. Option A (netmiko) is used for SSH/Telnet connections to network devices but does not natively support NETCONF. Option B (requests) is for HTTP requests, not NETCONF. Option C (paramiko) is a pure Python SSH implementation, which is not suitable for NETCONF. Therefore, ncclient is the correct choice.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
netmiko
Why it's wrong here
Netmiko wraps Paramiko to drive CLI sessions over SSH, sending show and configuration commands as text; it cannot encode or decode NETCONF's XML RPC payloads over the SSH subsystem. It is tempting because it is the standard library for scripted CLI automation of Cisco devices, and would be correct if the task required interactive command-line configuration rather than a model-driven NETCONF session.
- ✗
requests
Why it's wrong here
Requests speaks HTTP, so it cannot open the SSH transport or exchange XML-encoded RPCs that NETCONF requires on port 830. It is tempting because it is the go-to library for RESTCONF and other HTTP-based APIs, and would be the correct choice if the device exposed a RESTCONF or YANG-model-driven HTTP interface instead of NETCONF.
- ✗
paramiko
Why it's wrong here
Paramiko provides raw SSH transport and channels but no NETCONF framing, capabilities exchange, or XML RPC handling, so the developer would have to implement the protocol manually. It is tempting because NETCONF runs over SSH and Paramiko underpins many automation tools, and it would be correct for generic SSH command execution or file transfer rather than model-driven configuration.
- ✓
ncclient
Why this is correct
The `ncclient` library implements NETCONF over SSH, providing native RPC operations such as `<get-config>` and `<edit-config>` against Cisco devices. It satisfies the stem's requirement for a Python NETCONF client, unlike RESTCONF libraries or SSH-only tools such as Netmiko, which cannot speak the NETCONF protocol.
Go deeper
Related to this question
About these practice questions
Courseiva writes every 200-901 question from scratch — 975 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This 200-901 practice question is part of Courseiva's free Cisco certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 200-901 exam.