netconf-client


Namenetconf-client JSON
Version 3.1.0 PyPI version JSON
download
home_pagehttps://github.com/ADTRAN/netconf_client
SummaryA Python NETCONF client
upload_time2024-03-01 22:11:13
maintainer
docs_urlNone
authorADTRAN, Inc.
requires_python>=3.8,<4.0
licenseApache-2.0
keywords netconf
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Build Status](https://github.com/ADTRAN/netconf_client/workflows/CI%20Checks/badge.svg)
[![PyPI version](https://badge.fury.io/py/netconf-client.svg)](https://badge.fury.io/py/netconf-client)
[![Coverage Status](https://coveralls.io/repos/github/ADTRAN/netconf_client/badge.svg?branch=main)](https://coveralls.io/github/ADTRAN/netconf_client?branch=main)

# netconf_client

A NETCONF client for Python 3.8+.

## Basic Usage

```python
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)

mgr.edit_config(config="""<config> ... </config>""")
print(mgr.get(filter="""<filter> ... </filter>""").data_xml)
```

More complete documentation can be found in the [User Guide]

## Comparison with `ncclient`

Compared to [ncclient](https://github.com/ncclient/ncclient),
`netconf_client` has several advantages:

 - It's simpler (at the time of writing: 789 LoC vs 2889 LoC)
 - lxml can be bypassed, which can work around issues where lxml
   breaks namespaces of e.g. identityrefs
 - Support for TLS sessions

And a few disadvantages:

 - Support for non-RFC-compliant devices isn't really included in
   `netconf_client`
 - `netconf_client` does a lot less error checking and assumes you're
   sending valid messages to the server (however this can be useful
   for testing edge-case behavior of a server)


[User Guide]: https://adtran.github.io/netconf_client/


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ADTRAN/netconf_client",
    "name": "netconf-client",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "netconf",
    "author": "ADTRAN, Inc.",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/00/33/e330cf87b8026bb502c2a82d009c73e5377dcb92f169a17b3d1aa4fc0b76/netconf_client-3.1.0.tar.gz",
    "platform": null,
    "description": "![Build Status](https://github.com/ADTRAN/netconf_client/workflows/CI%20Checks/badge.svg)\n[![PyPI version](https://badge.fury.io/py/netconf-client.svg)](https://badge.fury.io/py/netconf-client)\n[![Coverage Status](https://coveralls.io/repos/github/ADTRAN/netconf_client/badge.svg?branch=main)](https://coveralls.io/github/ADTRAN/netconf_client?branch=main)\n\n# netconf_client\n\nA NETCONF client for Python 3.8+.\n\n## Basic Usage\n\n```python\nfrom netconf_client.connect import connect_ssh\nfrom netconf_client.ncclient import Manager\n\nsession = connect_ssh(host=\"localhost\", port=830, username=\"admin\", password=\"password\")\nmgr = Manager(session, timeout=120)\n\nmgr.edit_config(config=\"\"\"<config> ... </config>\"\"\")\nprint(mgr.get(filter=\"\"\"<filter> ... </filter>\"\"\").data_xml)\n```\n\nMore complete documentation can be found in the [User Guide]\n\n## Comparison with `ncclient`\n\nCompared to [ncclient](https://github.com/ncclient/ncclient),\n`netconf_client` has several advantages:\n\n - It's simpler (at the time of writing: 789 LoC vs 2889 LoC)\n - lxml can be bypassed, which can work around issues where lxml\n   breaks namespaces of e.g. identityrefs\n - Support for TLS sessions\n\nAnd a few disadvantages:\n\n - Support for non-RFC-compliant devices isn't really included in\n   `netconf_client`\n - `netconf_client` does a lot less error checking and assumes you're\n   sending valid messages to the server (however this can be useful\n   for testing edge-case behavior of a server)\n\n\n[User Guide]: https://adtran.github.io/netconf_client/\n\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "A Python NETCONF client",
    "version": "3.1.0",
    "project_urls": {
        "Documentation": "https://adtran.github.io/netconf_client/",
        "Homepage": "https://github.com/ADTRAN/netconf_client",
        "Repository": "https://github.com/ADTRAN/netconf_client"
    },
    "split_keywords": [
        "netconf"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dafdd50156e327fd2e9ab939cd52decb71658cd429f5ac4981fbb9ae0a83415e",
                "md5": "cc1aae8e711242baf574e5a1139192eb",
                "sha256": "1dab3294440057375b02e63f52ba73675dce00c1c10e2d4b3db0cfc2060bc0a7"
            },
            "downloads": -1,
            "filename": "netconf_client-3.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cc1aae8e711242baf574e5a1139192eb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 16191,
            "upload_time": "2024-03-01T22:11:12",
            "upload_time_iso_8601": "2024-03-01T22:11:12.588961Z",
            "url": "https://files.pythonhosted.org/packages/da/fd/d50156e327fd2e9ab939cd52decb71658cd429f5ac4981fbb9ae0a83415e/netconf_client-3.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0033e330cf87b8026bb502c2a82d009c73e5377dcb92f169a17b3d1aa4fc0b76",
                "md5": "72ce616cec981bbfa486f0fbdf89afd3",
                "sha256": "cacced892e1afc0695f0deebe96565a78f27049425be0cfcb421fed612973402"
            },
            "downloads": -1,
            "filename": "netconf_client-3.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "72ce616cec981bbfa486f0fbdf89afd3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 14120,
            "upload_time": "2024-03-01T22:11:13",
            "upload_time_iso_8601": "2024-03-01T22:11:13.922909Z",
            "url": "https://files.pythonhosted.org/packages/00/33/e330cf87b8026bb502c2a82d009c73e5377dcb92f169a17b3d1aa4fc0b76/netconf_client-3.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-01 22:11:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ADTRAN",
    "github_project": "netconf_client",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "netconf-client"
}
        
Elapsed time: 0.19505s