{ "info": { "author": "Robin Jarry", "author_email": "robin@jarry.cc", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: Unix", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries" ], "description": "============\nlibyang-cffi\n============\n\nPython CFFI bindings to libyang__.\n\n__ https://github.com/CESNET/libyang/\n\n|pypi-project|__ |python-versions|__ |build-status|__ |license|__\n\n__ https://pypi.org/project/libyang\n__ https://travis-ci.com/rjarry/libyang-cffi\n__ https://travis-ci.com/rjarry/libyang-cffi\n__ https://github.com/rjarry/libyang-cffi/blob/master/LICENSE\n\n.. |pypi-project| image:: https://img.shields.io/pypi/v/libyang.svg\n.. |python-versions| image:: https://img.shields.io/pypi/pyversions/libyang.svg\n.. |build-status| image:: https://travis-ci.com/rjarry/libyang-cffi.svg\n.. |license| image:: https://img.shields.io/github/license/rjarry/libyang-cffi.svg\n\nInstallation\n============\n\n::\n\n pip install libyang\n\nYou need the following system dependencies installed:\n\n- Python development headers\n- GCC\n- cmake (to build the libyang C code)\n- Lib PCRE development headers (to build the libyang C code)\n\nOn a Debian/Ubuntu system::\n\n sudo apt-get install python3-dev build-essential cmake libpcre3-dev\n\n.. note::\n\n By default, the C library will be compiled and statically linked with the\n python ``_libyang.so`` extension.\n\n If you already have ``libyang.so`` installed on your system (with the\n development headers), you can link the python extension with it by exporting\n the ``LIBYANG_INSTALL=system`` variable when running pip::\n\n LIBYANG_INSTALL=system pip install libyang\n\n If libyang headers and libraries are installed in a non-standard location,\n you can specify them with the ``LIBYANG_HEADERS`` and ``LIBYANG_LIBRARIES``\n variables. Additionally, for finer control, you may use\n ``LIBYANG_EXTRA_CFLAGS`` and ``LIBYANG_EXTRA_LDFLAGS``::\n\n LIBYANG_INSTALL=system \\\n LIBYANG_HEADERS=/home/build/opt/ly/include \\\n LIBYANG_LIBRARIES=/home/build/opt/ly/lib \\\n LIBYANG_EXTRA_CFLAGS=\"-O3\" \\\n LIBYANG_EXTRA_LDFLAGS=\"-rpath=/opt/ly/lib\" \\\n pip install libyang\n\nExamples\n========\n\n.. code-block:: pycon\n\n >>> import libyang\n >>> ctx = libyang.Context('/usr/local/share/yang/modules')\n >>> module = ctx.load_module('ietf-system')\n >>> print(module)\n module: ietf-system\n +--rw system\n | +--rw contact? string\n | +--rw hostname? ietf-inet-types:domain-name\n | +--rw location? string\n | +--rw clock\n | | +--rw (timezone)?\n | | +--:(timezone-utc-offset)\n | | +--rw timezone-utc-offset? int16\n | +--rw dns-resolver\n | +--rw search* ietf-inet-types:domain-name\n | +--rw server* [name]\n | | +--rw name string\n | | +--rw (transport)\n | | +--:(udp-and-tcp)\n | | +--rw udp-and-tcp\n | | +--rw address ietf-inet-types:ip-address\n | +--rw options\n | +--rw timeout? uint8 <5>\n | +--rw attempts? uint8 <2>\n +--ro system-state\n +--ro platform\n | +--ro os-name? string\n | +--ro os-release? string\n | +--ro os-version? string\n | +--ro machine? string\n +--ro clock\n +--ro current-datetime? ietf-yang-types:date-and-time\n +--ro boot-datetime? ietf-yang-types:date-and-time\n\n rpcs:\n +---x set-current-datetime\n | +---- input\n | +---w current-datetime ietf-yang-types:date-and-time\n +---x system-restart\n +---x system-shutdown\n\n >>> xpath = '/ietf-system:system/ietf-system:dns-resolver/ietf-system:server'\n >>> dnsserver = next(ctx.find_path(xpath))\n >>> dnsserver\n \n >>> print(dnsserver.description())\n List of the DNS servers that the resolver should query.\n\n When the resolver is invoked by a calling application, it\n sends the query to the first name server in this list. If\n no response has been received within 'timeout' seconds,\n the resolver continues with the next server in the list.\n If no response is received from any server, the resolver\n continues with the first server again. When the resolver\n has traversed the list 'attempts' times without receiving\n any response, it gives up and returns an error to the\n calling application.\n\n Implementations MAY limit the number of entries in this\n list.\n >>> dnsserver.ordered()\n True\n >>> for node in dnsserver:\n ... print(repr(node))\n ...\n \n ", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rjarry/libyang-cffi", "keywords": "libyang,cffi", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "libyang", "package_url": "https://pypi.org/project/libyang/", "platform": "", "project_url": "https://pypi.org/project/libyang/", "project_urls": { "Homepage": "https://github.com/rjarry/libyang-cffi" }, "release_url": "https://pypi.org/project/libyang/1.0.70/", "requires_dist": null, "requires_python": "", "summary": "CFFI bindings to libyang", "version": "1.0.70" }, "last_serial": 5953884, "releases": { "0.16.65": [ { "comment_text": "", "digests": { "md5": "6c159fba2f1358730503560e1b978f26", "sha256": "92580acb728179ed9cda93d31118e46f227d77bdbe189389b2dc3bccdd7d2f0a" }, "downloads": -1, "filename": "libyang-0.16.65.tar.gz", "has_sig": false, "md5_digest": "6c159fba2f1358730503560e1b978f26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 798937, "upload_time": "2018-11-13T17:10:39", "url": "https://files.pythonhosted.org/packages/a4/96/3e196458cedd203119f16e58827a9316627786b04ab661ed87c69560080f/libyang-0.16.65.tar.gz" } ], "0.16.65.post1": [ { "comment_text": "", "digests": { "md5": "f86f166f2f5f054855e6d3c959712589", "sha256": "9b8bf52eed789db0e0c919bbd807131e78699fa731096769aa799d9a34c2a859" }, "downloads": -1, "filename": "libyang-0.16.65.post1.tar.gz", "has_sig": false, "md5_digest": "f86f166f2f5f054855e6d3c959712589", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 799131, "upload_time": "2018-11-16T14:01:44", "url": "https://files.pythonhosted.org/packages/30/66/69d03711897b4c4f6e30aba961a5cba7c821a04e4b56d68e6c4cbce1205a/libyang-0.16.65.post1.tar.gz" } ], "0.16.78": [ { "comment_text": "", "digests": { "md5": "dcaac72af9b92f7a0568fa881f4bea2a", "sha256": "f4360566ad59f9d6c83c63c0bf58587ddee8f1b27fb143c2ffe9fb9af52ac777" }, "downloads": -1, "filename": "libyang-0.16.78.tar.gz", "has_sig": false, "md5_digest": "dcaac72af9b92f7a0568fa881f4bea2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 802460, "upload_time": "2018-11-30T22:21:41", "url": "https://files.pythonhosted.org/packages/68/69/9f13a803c025c8fa023cbe15396c1d2064df2a925ce7650b7a2f82386065/libyang-0.16.78.tar.gz" } ], "0.16.78.post1": [ { "comment_text": "", "digests": { "md5": "8b38653a11a769de98c5573f938bd222", "sha256": "ecaab78436aa6442a6b0e98989f6a9b362e8a1e4bfac518e48e5965ad97989f9" }, "downloads": -1, "filename": "libyang-0.16.78.post1.tar.gz", "has_sig": false, "md5_digest": "8b38653a11a769de98c5573f938bd222", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 811577, "upload_time": "2019-07-17T12:18:44", "url": "https://files.pythonhosted.org/packages/5a/5a/7b76df75cb2ae3a0b1eca785d9ea7c68511e2c81f9bd631c6b1902b086a4/libyang-0.16.78.post1.tar.gz" } ], "0.16.78.post2": [ { "comment_text": "", "digests": { "md5": "63963057088c0c256c5b4d0ff6b43dbe", "sha256": "38653e75aa0df6831ab1a1edbf1725a8cd7c5879c51f3e61c8c8a2b6c283dd8f" }, "downloads": -1, "filename": "libyang-0.16.78.post2.tar.gz", "has_sig": false, "md5_digest": "63963057088c0c256c5b4d0ff6b43dbe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 799396, "upload_time": "2019-08-13T08:46:38", "url": "https://files.pythonhosted.org/packages/d6/36/88eb2506acedf955fdcb7b753803e3a2928c820c572fcddc0ee451b15cb9/libyang-0.16.78.post2.tar.gz" } ], "0.16.dev0": [ { "comment_text": "", "digests": { "md5": "3953cf063bec09536c65d001b8bda19b", "sha256": "54c1923fc109d9eae7db5c7e62035a4a8cb8f3f10bc0f46efc8172a5d3ffe340" }, "downloads": -1, "filename": "libyang-0.16.dev0.tar.gz", "has_sig": false, "md5_digest": "3953cf063bec09536c65d001b8bda19b", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.3", "size": 795147, "upload_time": "2018-11-12T17:08:51", "url": "https://files.pythonhosted.org/packages/5b/43/59459a4cb0f5d9740aa4336dcdbc2e4ef0e754cf056106b48f3aba0fc353/libyang-0.16.dev0.tar.gz" } ], "0.16.dev1": [ { "comment_text": "", "digests": { "md5": "eea9aee40f52cec52a5439f6b3e6ef2f", "sha256": "4cd7a5b1d8e85a118d2bea135a47b604446d75c3b95df0e25eb2e01519fd3d23" }, "downloads": -1, "filename": "libyang-0.16.dev1.tar.gz", "has_sig": false, "md5_digest": "eea9aee40f52cec52a5439f6b3e6ef2f", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.3", "size": 795365, "upload_time": "2018-11-12T17:45:45", "url": "https://files.pythonhosted.org/packages/8e/50/4628c00181961a02360218faba56cd7fb4fc984e5924fa4e2932f3e4a29a/libyang-0.16.dev1.tar.gz" } ], "0.16.dev2": [ { "comment_text": "", "digests": { "md5": "9e50bb50be136b821d6f3b21fac0487a", "sha256": "5c00824f0ceeb68810b5bbddf4491da1856b22dfbc4c9b131a29fd28cb5422e7" }, "downloads": -1, "filename": "libyang-0.16.dev2.tar.gz", "has_sig": false, "md5_digest": "9e50bb50be136b821d6f3b21fac0487a", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.3", "size": 795388, "upload_time": "2018-11-12T18:20:15", "url": "https://files.pythonhosted.org/packages/f5/94/a2611394a3b6e6f292b271285b59860d6eb699c5d979052c05544c54caa6/libyang-0.16.dev2.tar.gz" } ], "0.16.dev3": [ { "comment_text": "", "digests": { "md5": "c0cb2ccc714fcef60e8056b54338f60a", "sha256": "84652cd33636b389118c12943b049e04b30d521839b2c33ee60f8760c56a5a99" }, "downloads": -1, "filename": "libyang-0.16.dev3.tar.gz", "has_sig": false, "md5_digest": "c0cb2ccc714fcef60e8056b54338f60a", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.3", "size": 795387, "upload_time": "2018-11-12T18:30:38", "url": "https://files.pythonhosted.org/packages/1a/d0/b3296ef9fb5d8372e68a62be40815e133d30cb919963d8d208cf57c77432/libyang-0.16.dev3.tar.gz" } ], "0.16.dev4": [ { "comment_text": "", "digests": { "md5": "b51ca4184bba145fdff8f3ca9a8ea445", "sha256": "2209856d43a961c137ea8dc4fd10e3a1d1c0b98c1c460271e398a1c6b3b4b047" }, "downloads": -1, "filename": "libyang-0.16.dev4.tar.gz", "has_sig": false, "md5_digest": "b51ca4184bba145fdff8f3ca9a8ea445", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.3", "size": 795444, "upload_time": "2018-11-13T08:29:31", "url": "https://files.pythonhosted.org/packages/14/88/096b531067a3cbf2fde3de2bf647cdc51f4d5d375f828e7abead4468f566/libyang-0.16.dev4.tar.gz" } ], "0.16.dev5": [ { "comment_text": "", "digests": { "md5": "324ca98200a7c8f6271ccf0843b94210", "sha256": "44967eab8e59cf6866467023b6e85c4c231ee345a6899d85ad8f65b370309801" }, "downloads": -1, "filename": "libyang-0.16.dev5.tar.gz", "has_sig": false, "md5_digest": "324ca98200a7c8f6271ccf0843b94210", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.3", "size": 795444, "upload_time": "2018-11-13T08:37:47", "url": "https://files.pythonhosted.org/packages/46/64/c66a38546f31c60439f7d2f9dcfbe123fb387c15ff5bb2056f47a66b71aa/libyang-0.16.dev5.tar.gz" } ], "0.16.dev6": [ { "comment_text": "", "digests": { "md5": "55ef084f6fe9fcc74cc63924e892bf0f", "sha256": "af6247899869cc2e07173c1c9c506697d38d49315bcb46aef92a22f913a5afc9" }, "downloads": -1, "filename": "libyang-0.16.dev6.tar.gz", "has_sig": false, "md5_digest": "55ef084f6fe9fcc74cc63924e892bf0f", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.3", "size": 795785, "upload_time": "2018-11-13T09:33:32", "url": "https://files.pythonhosted.org/packages/e1/7a/d569246a56696fa182a346908f61c019d4c371dac1a169af19e421a05f89/libyang-0.16.dev6.tar.gz" } ], "1.0.70": [ { "comment_text": "", "digests": { "md5": "bf533be7c47cb7eb3ac655047c90e161", "sha256": "50e137a8c5528cee3c183f15f69707858992b0e7d7ce9c554fb910d548ff7b56" }, "downloads": -1, "filename": "libyang-1.0.70.tar.gz", "has_sig": false, "md5_digest": "bf533be7c47cb7eb3ac655047c90e161", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 816996, "upload_time": "2019-10-10T09:38:54", "url": "https://files.pythonhosted.org/packages/8c/ef/320159e7ea3394f873e60c70d0ab47633b485b5305ced866184c48b7d5d8/libyang-1.0.70.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bf533be7c47cb7eb3ac655047c90e161", "sha256": "50e137a8c5528cee3c183f15f69707858992b0e7d7ce9c554fb910d548ff7b56" }, "downloads": -1, "filename": "libyang-1.0.70.tar.gz", "has_sig": false, "md5_digest": "bf533be7c47cb7eb3ac655047c90e161", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 816996, "upload_time": "2019-10-10T09:38:54", "url": "https://files.pythonhosted.org/packages/8c/ef/320159e7ea3394f873e60c70d0ab47633b485b5305ced866184c48b7d5d8/libyang-1.0.70.tar.gz" } ] }