{ "info": { "author": "Federico Capoano (nemesisdesign)", "author_email": "ninux-dev@ml.ninux.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: System :: Networking" ], "description": "=========\nnetengine\n=========\n\n.. image:: https://landscape.io/github/ninuxorg/netengine/master/landscape.png\n :target: https://landscape.io/github/ninuxorg/netengine/master\n :alt: Code Health\n\n.. image:: https://requires.io/github/ninuxorg/netengine/requirements.png?branch=master\n :target: https://requires.io/github/ninuxorg/netengine/requirements/?branch=master\n :alt: Requirements Status\n\nAbstraction layer for extracting information from network devices.\n\nInstall\n=======\n\nInstall via pip::\n\n pip install -e git+git://github.com/ninuxorg/netengine#egg=netengine\n\nUsage\n=====\n\nSSH example::\n\n from netengine.backends.ssh import AirOS\n \n device = AirOS('10.40.0.1', 'root', 'password')\n \n device.name\n 'RM5PomeziaSNode'\n device.model\n 'Rocket M5'\n device.os\n ('AirOS', 'XMar7240.v5.3.3.sdk.9634.1111221.2238')\n\n device.to_json()\n \nSpecific backend (protocol) commands, SSH example::\n\n print device.run('ls -l')\n -rw------- 1 root admin 459 Jan 26 2011 dropbear_dss_host_key\n -rw------- 1 root admin 427 Jan 26 2011 dropbear_rsa_host_key\n drwxr-xr-x 3 root admin 0 Oct 21 2011 mcuser\n -rwxr-xr-x 1 root admin 662 Nov 11 18:12 ninux\n -rw------- 1 root admin 1133 Nov 12 00:27 olsrd.conf\n -rw-r--r-- 1 root admin 786 Dec 21 2011 olsrd6.conf\n -rw-r--r-- 1 root admin 234 Jan 4 2012 radvd.conf\n\nSNMP example::\n\n from netengine.backends.snmp import AirOS\n \n device = AirOS('10.40.0.1', community='public')\n \n device.name\n 'RM5PomeziaSNode'\n device.model\n 'Rocket M5'\n device.os\n ('AirOS', 'XMar7240.v5.3.3.sdk.9634.1111221.2238')\n\nSpecific SNMP command example::\n\n from netengine.backends.snmp import OpenWRT\n \n device = OpenWRT('10.40.0.1', community='public')\n # get a certain OID\n device.get('1.2.840.10036.3.1.2.1.4.8')\n \n\nHTTP example::\n\n # TODO\n\nMUNIN example::\n\n # TODO\n\nRunning tests\n=============\n\nInstall nose::\n\n pip install nose\n\nClone repo::\n\n git clone git://github.com/ninuxorg/netengine\n \n cd netengine/\n\nEdit settings json file according to your network::\n\n cp test-settings.example.json test-settings.json\n vim test-settings.json\n\nRun tests with::\n\n nosetests\n\nSee test coverage with::\n\n nosetests --with-coverage --cover-package=netengine\n\nRun specific tests by specifying the relative path::\n\n # base tests\n nosetests tests.base\n\n # snmp tests\n nosetests tests.snmp\n # snmp openwrt specific tests\n nosetests tests.snmp.openwrt\n \n # ssh tests\n nosetests tests.ssh\n # ssh airos specific tests\n nosetests tests.ssh.airos\n\nContribute\n==========\n\n1. Join the `ninux-dev mailing list`_\n2. Fork this repo\n3. Follow `PEP8, Style Guide for Python Code`_\n4. Write code\n5. Write tests for your code\n6. Ensure all tests pass\n7. Ensure test coverage is not under 90%\n8. Document your changes\n9. Send pull request\n\n.. _PEP8, Style Guide for Python Code: http://www.python.org/dev/peps/pep-0008/\n.. _ninux-dev mailing list: http://ml.ninux.org/mailman/listinfo/ninux-dev\n\nLicense\n=======\n\nCopyright (c) 2013 Federico Capoano\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nExcept as contained in this notice, the name(s) of the above copyright holders\nshall not be used in advertising or otherwise to promote the sale,\nuse or other dealings in this Software without prior written authorization.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nemesisdesign/netengine", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "netengine", "package_url": "https://pypi.org/project/netengine/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/netengine/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/nemesisdesign/netengine" }, "release_url": "https://pypi.org/project/netengine/0.1.alpha/", "requires_dist": null, "requires_python": null, "summary": "Abstraction layer for extracting information from network devices.", "version": "0.1.alpha" }, "last_serial": 1212954, "releases": { "0.1.alpha": [ { "comment_text": "", "digests": { "md5": "ee2eacc1f776a9d7268d46a991df4736", "sha256": "26535e56c66cf587664c8543253dc3622f605726ce8ce238ce9ac14a251f40c1" }, "downloads": -1, "filename": "netengine-0.1.alpha.tar.gz", "has_sig": true, "md5_digest": "ee2eacc1f776a9d7268d46a991df4736", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18989, "upload_time": "2014-09-04T14:46:35", "url": "https://files.pythonhosted.org/packages/61/7b/1b8333e4c3091b5fe0a21cfa4f76eeee8e7a3b8f681af6915da8b640d7ea/netengine-0.1.alpha.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ee2eacc1f776a9d7268d46a991df4736", "sha256": "26535e56c66cf587664c8543253dc3622f605726ce8ce238ce9ac14a251f40c1" }, "downloads": -1, "filename": "netengine-0.1.alpha.tar.gz", "has_sig": true, "md5_digest": "ee2eacc1f776a9d7268d46a991df4736", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18989, "upload_time": "2014-09-04T14:46:35", "url": "https://files.pythonhosted.org/packages/61/7b/1b8333e4c3091b5fe0a21cfa4f76eeee8e7a3b8f681af6915da8b640d7ea/netengine-0.1.alpha.tar.gz" } ] }