{ "info": { "author": "Yten Software", "author_email": "YtenSoftware@nocer.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Plugins", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "Intended Audience :: Telecommunications Industry", "License :: OSI Approved :: GNU General Public License (GPL)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Communications", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Networking", "Topic :: System :: Networking :: Monitoring" ], "description": "========================================================\nNety - Currently under heavy work, don't use it for now!\n========================================================\n\n.. image:: https://img.shields.io/travis/YtenSoftware/Nety/master.svg?style=flat-square\n :target: https://travis-ci.org/YtenSoftware/Nety\n :alt: Travis CI Status\n\n.. image:: https://img.shields.io/pypi/v/Nety.svg?style=flat-square\n :target: https://pypi.python.org/pypi/Nety/\n :alt: Version\n\n.. image:: https://img.shields.io/github/tag/YtenSoftware/Nety.svg?style=flat-square \n :target: https://github.com/YtenSoftware/Nety\n :alt: GitHub Version\n\n.. image:: http://img.shields.io/badge/license-GPLv3-blue.svg?style=flat-square\n :target: https://www.gnu.org/copyleft/gpl.html\n :alt: License\n\n.. image:: https://img.shields.io/github/issues/YtenSoftware/Nety.svg?style=flat-square\n :target: https://github.com/YtenSoftware/Nety/issues\n :alt: Issues\n\n.. image:: https://img.shields.io/github/stars/YtenSoftware/Nety.svg?style=flat-square\n :target: https://github.com/YtenSoftware/Nety/stargazers\n :alt: Stars\n\n.. image:: https://img.shields.io/badge/Yten-Software-blue.svg?style=flat-square\n :alt: YtenSoftware\n\n.. contents:: Table of Contents\n\n.. _introduction:\n\nIntroduction: What is Nety?\n=====================================\n\nNety is a Python_ library, which parses through Cisco IOS-style\n(and other vendor) configurations. It can:\n\n- Audit existing router / switch / firewall / wlc configurations\n- Retrieve portions of the configuration\n- Modify existing configurations\n- Build new configurations\n\nThe library examines an IOS-style config and breaks it into a set of linked\nparent / child relationships. You can perform complex queries about these \nrelationships.\n\n.. image:: https://raw.githubusercontent.com/YtenSoftware/Nety/master/sphinx-doc/_static/nety_parent_child.png\n :target: https://raw.githubusercontent.com/YtenSoftware/Nety/master/sphinx-doc/_static/nety_parent_child.png\n :alt: Nety Parent / Child relationships\n\n\nWhat if we don't use Cisco?\n===========================\n\nDon't let that stop you.\n\nAs of Nety 1.2.4, you can parse `brace-delimited configurations`_ \ninto a Cisco IOS style (see `Github Issue #17`_), which means that \nNety understands these configurations:\n\n- Juniper Networks Junos, and Screenos\n- F5 Networks configurations\n\nNety also handles anything that has a Cisco IOS style of configuration, which includes:\n\n- Cisco IOS, Cisco Nexus, Cisco IOS-XR, Cisco IOS-XE, Aironet OS, Cisco ASA, Cisco CatOS\n- Arista EOS\n- Brocade\n- HP Switches\n- Force 10 Switches\n- Dell PowerConnect Switches\n- Extreme Networks\n- Enterasys\n\n\nDocs\n====\n\n- You can find the HTML Docs `online `_\n- There is also a `Nety Tutorial `_\n\n.. _Pre-Requisites:\n\nPre-requisites\n==============\n\nNety_ requires Python versions 3.2+ (We no longer support Python 2.x); the OS should not\nmatter. If you want to run it under a Python virtualenv_, it's been heavily \ntested in that environment as well.\n\n.. _Installation:\n\nInstallation and Downloads\n==========================\n\nThe best way to get Nety is with setuptools_ or pip_. If you \nalready have setuptools_, you can install as usual:\n\n::\n\n # Substitute whatever Nety version you like...\n easy_install -U nety==1.3.0\n\nAlternatively you can install into Python2.x with pip_:\n\n::\n\n pip install --upgrade Nety\n\nUse ``pip3`` for Python3.x...\n\n::\n\n pip3 install --upgrade Nety\n\nOtherwise `download it from PyPi `_, extract it and run the ``setup.py`` script:\n\n::\n\n python setup.py install\n\nIf you're interested in the source, you can always pull from the `github repo`_:\n\n\n- From github_:\n ::\n\n git clone https://github.com/YtenSoftware/Nety.git\n\n\n.. _FAQ:\n\nFAQ\n===\n\n#) *QUESTION*: I want to use Nety_ with Python3; is that safe? *ANSWER*: As long as you're using Python 3.3 or higher, it's safe. I test every release against Python 3.2+; however, Python 3.2 is currently exposed to a small bug for some configurations (see `Github Issue #14`_).\n\n#) *QUESTION*: Some of the code in the documentation looks different than what I'm used to seeing. Did you change something? *ANSWER*: Yes, starting around Nety_ v0.9.10 I introducted more methods directly on ``IOSConfigLine()`` objects; going forward, these methods are the preferred way to use Nety_. Please start using the new methods shown in the example, since they're faster, and you type much less code this way.\n\n#) *QUESTION*: Nety_ saved me a lot of time, I want to give money. Do you have a donation link? *ANSWER*: I love getting emails like this; helping people get their jobs done is why I wrote the module. However, I'm not accepting donations.\n\n#) *QUESTION*: Is there a way to use this module with perl? *ANSWER*: Yes, I do this myself. Install the python package as you normally would and import it into perl with ``Inline.pm`` and ``Inline::Python`` from CPAN.\n\n#) *QUESTION*: When I use ``find_children(\"interface GigabitEthernet3/2\")``, I'm getting all interfaces beginning with 3/2, including 3/21, 3/22, 3/23 and 3/24. How can I limit my results? *ANSWER*: There are two ways... the simplest is to use the 'exactmatch' option... ``find_children(\"interface GigabitEthernet3/2\", exactmatch=True)``. Another way is to utilize regex expansion that is native to many methods... ``find_children(\"interface GigabitEthernet3/2$\")``\n\n.. _`Other-Resources`:\n\nOther Resources\n===============\n\n- `Dive into Python3`_ is a good way to learn Python\n- `Team CYMRU`_ has a `Secure IOS Template`_, which is especially useful for external-facing routers / switches\n- `Cisco's Guide to hardening IOS devices`_\n\n.. _`Bug-Tracker-and-Support`:\n\nBug Tracker and Support\n=======================\n\n- Please report any suggestions, bug reports, or annoyances with Nety_ through the `github bug tracker`_.\n- If you're having problems with general python issues, consider searching for a solution on `Stack Overflow`_. If you can't find a solution for your problem or need more help, you can `ask a question`_.\n- If you're having problems with your Cisco devices, you can open a case with `Cisco TAC`_; if you prefer crowd-sourcing, you can ask on the Stack Exchange `Network Engineering`_ site.\n\n.. _Unit-Tests:\n\nUnit-Tests\n==========\n\n`Travis CI project `_ tests Nety on Python versions 2.6 through 3.4, as well as a `pypy JIT`_ executable.\n\nClick the image below for details; the current build status is:\n\n.. image:: https://img.shields.io/travis/YtenSoftware/Nety/master.svg?style=flat-square\n :target: https://travis-ci.org/YtenSoftware/Nety\n :alt: Travis CI Status\n\n.. _`License and Copyright`:\n\nLicense and Copyright\n=====================\n\nNety_ is licensed GPLv3_; \n2016.\n\n\n.. _Author:\n\nAuthor and Thanks\n=================\n\nNety_ was developed by Yten Software\n\nSpecial thanks to mpenning for his great CiscoConfParse_, Nety is a successor of it!\n\n\n.. _Nety: https://pypi.python.org/pypi/Nety\n\n.. _Python: http://python.org/\n\n.. _CiscoConfParse: https://github.com/mpenning/nety\n\n.. _`pypy JIT`: http://pypy.org/\n\n.. _`Github Issue #13`: https://github.com/mpenning/CiscoConfParse/issues/13\n\n.. _`Github Issue #14`: https://github.com/mpenning/CiscoConfParse/issues/14\n\n.. _`Github Issue #17`: https://github.com/mpenning/CiscoConfParse/issues/17\n\n.. _`brace-delimited configurations`: https://github.com/YtenSoftware/Nety/blob/master/configs/sample_01.junos\n\n.. _setuptools: https://pypi.python.org/pypi/setuptools\n\n.. _pip: https://pypi.python.org/pypi/pip\n\n.. _virtualenv: https://pypi.python.org/pypi/virtualenv\n\n.. _`github repo`: https://github.com/YtenSoftware/Nety\n\n.. _github: https://github.com/YtenSoftware/Nety\n\n.. _mercurial: http://mercurial.selenic.com/\n\n.. _`github bug tracker`: https://github.com/YtenSoftware/Nety/issues\n\n.. _`regular expressions`: http://docs.python.org/2/howto/regex.html\n\n.. _`docs`: http://www.pennington.net/py/Nety/\n\n.. _`ipaddr`: https://code.google.com/p/ipaddr-py/\n\n.. _`GPLv3`: http://www.gnu.org/licenses/gpl-3.0.html\n\n.. _`ASF License 2.0`: http://www.apache.org/licenses/LICENSE-2.0\n\n.. _`Dive into Python3`: http://www.diveintopython3.net/\n\n.. _`Network Engineering`: http://networkengineering.stackexchange.com/\n\n.. _`Stack Overflow`: http://stackoverflow.com/\n\n.. _`ask a question`: http://stackoverflow.com/questions/ask\n\n.. _`Secure IOS Template`: https://www.cymru.com/Documents/secure-ios-template.html\n\n.. _`Team CYMRU`: http://www.team-cymru.org/\n\n.. _`Cisco TAC`: http://cisco.com/go/support\n\n.. _`Juniper networks`: http://www.juniper.net/\n\n.. _`Cisco's Guide to hardening IOS devices`: http://www.cisco.com/c/en/us/support/docs/ip/access-lists/13608-21.html", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/YtenSoftware/Nety/", "keywords": "Parse audit query modify Cisco IOS configuration", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "Nety", "package_url": "https://pypi.org/project/Nety/", "platform": "any", "project_url": "https://pypi.org/project/Nety/", "project_urls": { "Homepage": "https://github.com/YtenSoftware/Nety/" }, "release_url": "https://pypi.org/project/Nety/1.3.4/", "requires_dist": null, "requires_python": "", "summary": "Parse, Audit, Query, Build, and Modify Cisco IOS-style configurations", "version": "1.3.4" }, "last_serial": 4655996, "releases": { "1.3.0": [ { "comment_text": "", "digests": { "md5": "d4aab39ec451c3933b8559dde8d8fac8", "sha256": "3cc1e4028e41b2f7d2f391476e29952bde186f53a76198c585bf659b9fd6bd75" }, "downloads": -1, "filename": "Nety-1.3.0-py2.7.egg", "has_sig": false, "md5_digest": "d4aab39ec451c3933b8559dde8d8fac8", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 144282, "upload_time": "2016-11-24T12:36:05", "url": "https://files.pythonhosted.org/packages/21/6d/095ababd1a2f04409d891114cfcbe62300f98e03e5f1ac88178dbb51c174/Nety-1.3.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "a0869cb70f40112847640dc20d82e516", "sha256": "9b98ffa040a052e3d4283d93ba6ce46efa6710381f6d1b56170f7595bc792c79" }, "downloads": -1, "filename": "Nety-1.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "a0869cb70f40112847640dc20d82e516", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 72078, "upload_time": "2016-11-23T17:03:02", "url": "https://files.pythonhosted.org/packages/97/4c/88064cae2d6c23033cf041d4b020be3805d6c79fb354b10bd4cdbae7b312/Nety-1.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5e142fc4ad88ae1f92019f9b17d0507", "sha256": "f0a72effb97f90ee296b8b14e4b92c0812259cc48ff43cee4b7981984524e74c" }, "downloads": -1, "filename": "Nety-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b5e142fc4ad88ae1f92019f9b17d0507", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 70970, "upload_time": "2016-12-19T11:46:23", "url": "https://files.pythonhosted.org/packages/44/43/18a516c498675a33d7797978137078bc22447c1751084fd2ff8a68e6c758/Nety-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7ab0e79821f816802786fd922a06115", "sha256": "dd7ff2f924441d6a3b5859f2d029d2b12c5a4aa78ac159476c3ed6a0a1f45c49" }, "downloads": -1, "filename": "Nety-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a7ab0e79821f816802786fd922a06115", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 70967, "upload_time": "2016-12-19T11:46:02", "url": "https://files.pythonhosted.org/packages/54/d0/4d04940698ad81d05f241356fea955b348ae988ab3d33de02aedabdd2d39/Nety-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99311aae8784e8ccd18d13c583676de8", "sha256": "6fbd4d90edff413e11670a9258f3b6de57f9b813824f51bf4eadbc9d19b9c1f0" }, "downloads": -1, "filename": "Nety-1.3.0.tar.gz", "has_sig": false, "md5_digest": "99311aae8784e8ccd18d13c583676de8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77882, "upload_time": "2016-11-23T17:03:04", "url": "https://files.pythonhosted.org/packages/b1/0d/e61bb504d4061fc463454432fcd20b6e783367629830fa8515bc46a079f8/Nety-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "b0ebe8c2e1bd3f7ad47cd789e7d8bcf9", "sha256": "36f3d0cebcb2f2f8defe6275c1150825d03cbb139486adcf87badf187023503a" }, "downloads": -1, "filename": "Nety-1.3.1.tar.gz", "has_sig": false, "md5_digest": "b0ebe8c2e1bd3f7ad47cd789e7d8bcf9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77408, "upload_time": "2018-03-28T15:43:53", "url": "https://files.pythonhosted.org/packages/53/3e/17565cf057d4c3c119d8dcded547109289eab615c31581c9ffb2fb63594e/Nety-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "bb28308a80e6789137e47536c7f8eed8", "sha256": "e5cedfd6e4cd14e6e9e531b23b6e268a42fb699e7671f49ed237c0e757f488a1" }, "downloads": -1, "filename": "Nety-1.3.2.tar.gz", "has_sig": false, "md5_digest": "bb28308a80e6789137e47536c7f8eed8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77547, "upload_time": "2018-04-10T06:53:09", "url": "https://files.pythonhosted.org/packages/2d/88/231de5462952cb48a5fe69e4754eeaafad867c0de6254f27acb7cfd48283/Nety-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "03a45e4824b1725ad56e229ac1620943", "sha256": "7235ba895c5878f9a1e9ccca716c8b90afddbb6809348f7c3635bdb4bad7c028" }, "downloads": -1, "filename": "Nety-1.3.3.tar.gz", "has_sig": false, "md5_digest": "03a45e4824b1725ad56e229ac1620943", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 77582, "upload_time": "2018-04-13T11:09:19", "url": "https://files.pythonhosted.org/packages/1e/dd/c6a97a51283cc0a5586e534335ce9c59958c9459f4aa4a04165407903927/Nety-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "a0d585bceaed5332fdc11b683b526964", "sha256": "da12b82ec7256babbf380230b010bdbd7062e1921ce44c46ff73c4d839decfbf" }, "downloads": -1, "filename": "Nety-1.3.4.tar.gz", "has_sig": false, "md5_digest": "a0d585bceaed5332fdc11b683b526964", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83822, "upload_time": "2019-01-03T10:59:19", "url": "https://files.pythonhosted.org/packages/c5/fa/8d0b3ea67dfd6496f28355c4c28ac67227f2d93dc63097834b6c48d79b65/Nety-1.3.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a0d585bceaed5332fdc11b683b526964", "sha256": "da12b82ec7256babbf380230b010bdbd7062e1921ce44c46ff73c4d839decfbf" }, "downloads": -1, "filename": "Nety-1.3.4.tar.gz", "has_sig": false, "md5_digest": "a0d585bceaed5332fdc11b683b526964", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 83822, "upload_time": "2019-01-03T10:59:19", "url": "https://files.pythonhosted.org/packages/c5/fa/8d0b3ea67dfd6496f28355c4c28ac67227f2d93dc63097834b6c48d79b65/Nety-1.3.4.tar.gz" } ] }