{ "info": { "author": "David Barroso", "author_email": "dbarrosop@dravetech.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# Yangify\n\nYangify is a framework that allows you to easily write code that can map structured and unstructured data into data modelled using YANG models. Yangify can also do the opposite operation and convert data modelled with YANG models into other structured or non-structured data. This allows you to easily write code that can parse native output/data/configuration from network devices and map them into YANG models and vice-versa.\n\n## Installing yangify\n\nYou can install yangify with pip:\n\n```\npip install yangify\n```\n\n## Ways to Get Started with Yangify\n\n\n* [Start Executing Juptyer Notebooks](#Start-Executing-Juptyer-Notebooks)\n* [Go Right into a Working Yangify Dev Environment](#Go-Right-into-a-Working-Yangify-Dev-Environment)\n* [Read the Docs](https://yangify.readthedocs.io)\n\n\n### Start Executing Yangify Juptyer Notebooks\n\n**Step 1**\n\nClone the repository:\n\n\n```\n$ git clone https://github.com/networktocode/yangify\n```\n\n\n**Step 2**\n\nNavigate into `yangify`:\n\n\n```\n$ cd yangify\n```\n\n\n**Step 3**\n\nBuild the containers needed.\n\n\n```\n$ make build_test_containers \n```\n\n**Step 4**\n\nStart a container so you can run Jupyter notebooks:\n\n\n```\nmake jupyter\n```\n\n**Step 5**\n\nLanunch a browser and navigate to the following URL:\n\n```\nhttp://127.0.0.1:8888\n```\n\n\nYou will find all of the notebooks in `docs/tutorials` and also `docs/tutorials/parsing-quickstart`. \n\nThese same notebooks can be viewed without being interactive in the Read the Docs.\n\n\n\n### Go Right into a Working Yangify Dev Environment\n\n> Note: this dev environment is built for parsing. \n\n**Step 1**\n\nClone the repository:\n\n\n```\n$ git clone https://github.com/networktocode/yangify\n```\n\n\n**Step 2**\n\nNavigate into `yangify`:\n\n\n```\n$ cd yangify\n```\n\n\n**Step 3**\n\nBuild the containers needed.\n\n\n```\n$ make build_test_containers \n```\n\n\n**Step 4**\n\nCreate a container that you'll use for development & testing. This container will get built such that you can modify files in your local directory and execute them within the container environment. Great for using your local text editor and executing in pre-buit enviornment.\n\n\n```\nmake enter_dev_container\n```\n\nThis will drop you right into the container.\n\n\n**Step 5**\n\nInstall `yangify` with `make install`:\n\n```\nroot@e726de8f2226:/yangify# make install\n/root/.poetry/bin/poetry install\nSkipping virtualenv creation, as specified in config file.\nInstalling dependencies from lock file\n\nNothing to install or update\n\n - Installing yangify (0.1.0)\nA setup.py file already exists. Using it.\nroot@e726de8f2226:/yangify#\n```\n\n\n**Step 6**\n\nNavigate into the `parsing-quickstart` directory (inside the container):\n\n\n```\nroot@e726de8f2226:/yangify# cd docs/tutorial/parsing-quickstart/\nroot@e726de8f2226:/yangify/docs/tutorial/parsing-quickstart# \n```\n\n**Step 7**\n\n\nTry out the `dev-yangify.py` script:\n\n\n```\nroot@e726de8f2226:/yangify/docs/tutorial/parsing-quickstart# python dev-yangify.py --vlans\n{\n \"openconfig-vlan:vlans\": {\n \"vlan\": [\n {\n \"vlan-id\": 10,\n \"config\": {\n \"vlan-id\": 10,\n \"status\": \"ACTIVE\"\n }\n },\n {\n \"vlan-id\": 20,\n \"config\": {\n \"vlan-id\": 20,\n \"name\": \"web_vlan\",\n \"status\": \"ACTIVE\"\n }\n },\n {\n \"vlan-id\": 30,\n \"config\": {\n \"vlan-id\": 30,\n \"name\": \"test_vlan\",\n \"status\": \"ACTIVE\"\n }\n }\n ]\n }\n}\nroot@e726de8f2226:/yangify/docs/tutorial/parsing-quickstart# \n```\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "Apache-2.0", "maintainer": "David Barroso", "maintainer_email": "dbarrosop@dravetech.com", "name": "yangify", "package_url": "https://pypi.org/project/yangify/", "platform": "", "project_url": "https://pypi.org/project/yangify/", "project_urls": null, "release_url": "https://pypi.org/project/yangify/0.1.1/", "requires_dist": [ "yangson (>=1.3,<2.0)", "dataclasses (>=0.6.0,<0.7.0); python_version >= \"3.6\" and python_version < \"3.7\"" ], "requires_python": ">=3.6,<4.0", "summary": "Library to help parsing/translating YANG models from/to native text/structures", "version": "0.1.1" }, "last_serial": 5233842, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "e27234a03de4c56b73724089acd02468", "sha256": "775aa5203426acd96cd98cd0c8d4b63b4de07db036546d4da623bc7b51a3286c" }, "downloads": -1, "filename": "yangify-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e27234a03de4c56b73724089acd02468", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 21378, "upload_time": "2019-05-06T16:14:09", "url": "https://files.pythonhosted.org/packages/87/41/9bc8f635e74478bc68e14016e6a1c868fe2c823e433466c4f41cd18bb63f/yangify-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a68296163fab76637f1685df9ac5d393", "sha256": "53a6c0a0c99c822028d59b69f4dbe25366ba824a8c23f198340e5a284d676d70" }, "downloads": -1, "filename": "yangify-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a68296163fab76637f1685df9ac5d393", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 19105, "upload_time": "2019-05-06T16:14:10", "url": "https://files.pythonhosted.org/packages/eb/21/425210d4b293c16b6a5c46118e6106be1b503ce00f214dcb194bcfc8cdb1/yangify-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e27234a03de4c56b73724089acd02468", "sha256": "775aa5203426acd96cd98cd0c8d4b63b4de07db036546d4da623bc7b51a3286c" }, "downloads": -1, "filename": "yangify-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "e27234a03de4c56b73724089acd02468", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 21378, "upload_time": "2019-05-06T16:14:09", "url": "https://files.pythonhosted.org/packages/87/41/9bc8f635e74478bc68e14016e6a1c868fe2c823e433466c4f41cd18bb63f/yangify-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a68296163fab76637f1685df9ac5d393", "sha256": "53a6c0a0c99c822028d59b69f4dbe25366ba824a8c23f198340e5a284d676d70" }, "downloads": -1, "filename": "yangify-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a68296163fab76637f1685df9ac5d393", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 19105, "upload_time": "2019-05-06T16:14:10", "url": "https://files.pythonhosted.org/packages/eb/21/425210d4b293c16b6a5c46118e6106be1b503ce00f214dcb194bcfc8cdb1/yangify-0.1.1.tar.gz" } ] }