root / docs / source / index.rst @ e3b66e4b
History | View | Annotate | Download (1.3 kB)
1 |
Welcome |
---|---|
2 |
======= |
3 |
|
4 |
``ncclient`` is a Python library for NETCONF clients. It aims to offer an intuitive API that |
5 |
sensibly maps the XML-encoded nature of NETCONF to Python constructs and idioms, and make writing |
6 |
network-management scripts easier. Other key features are: |
7 |
|
8 |
* Supports all operations and capabilities defined in :rfc:`4741`. |
9 |
* Request pipelining. |
10 |
* Asynchronous RPC requests. |
11 |
* Keeping XML out of the way unless really needed. |
12 |
* Extensible. New transport mappings and capabilities/operations can be easily added. |
13 |
|
14 |
It is suitable for Python 2.6+ (not Python 3 yet, though), and depends on `paramiko |
15 |
<http://www.lag.net/paramiko/>`_, an SSH library. |
16 |
|
17 |
The best way to introduce is of course, through a simple code example:: |
18 |
|
19 |
from ncclient import manager |
20 |
|
21 |
# use unencrypted keys from ssh-agent or ~/.ssh keys, and rely on known_hosts |
22 |
with manager.connect_ssh("host", username="user") as m: |
23 |
assert(":url" in manager.server_capabilities) |
24 |
with m.locked("running"): |
25 |
m.copy_config(source="running", target="file:///new_checkpoint.conf") |
26 |
m.copy_config(source="file:///old_checkpoint.conf", target="running") |
27 |
|
28 |
Contents: |
29 |
|
30 |
.. toctree:: |
31 |
|
32 |
manager |
33 |
api |
34 |
extending |
35 |
|
36 |
Indices and tables |
37 |
------------------ |
38 |
|
39 |
* :ref:`genindex` |
40 |
* :ref:`modindex` |
41 |
* :ref:`search` |