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