{ "info": { "author": "Intentionet", "author_email": "netconan-dev@intentionet.com", "bugtrack_url": null, "classifiers": [], "description": "Netconan\n========\n\nNetconan (network configuration anonymizer) anonymizes text files that contain sensitive network information.\n\nWith Netconan, a sensitive input file\n\n.. code-block:: bash\n\n $ cat sensitive/cisco.cfg \n ! This is intentionet's sensitive comment\n username admin password 7 122A001901\n enable secret 5 $1$wtHI$0rN7R8PKwC30AsCGA77vy.\n !\n tacacs-server host 1.2.3.4 key pwd1234\n ip address 10.10.20.30/24\n ip address 2001:2002::9d3b:1\n !\n route-map sea-to-lax ...\n route-map sea-to-atl ...\n\ncan be anonymized\n\n.. code-block:: bash\n\n $ netconan -i sensitive -o anonymized \\\n --sensitive-words intentionet,sea,lax,atl \\\n --anonymize-passwords \\\n --anonymize-ips \n WARNING No salt was provided; using randomly generated \"WNo5pX28MJOrqxfv\"\n INFO Anonymizing cisco.cfg\n\nto produce an output file you can feel comfortable sharing.\n\n.. code-block:: bash\n\n $ cat anonymized/cisco.cfg \n ! This is db1792's sensitive comment\n username admin password 7 09424B1D1A0A1913053E012724322D3765\n enable secret 5 $1$0000$EhfXcDfB7iiakW6mwMy1i.\n !\n tacacs-server host 7.227.130.88 key netconanRemoved2\n ip address 10.72.218.183/24\n ip address cd7e:83e:1eaf:2ada:7535:591e:6d47:a4b8\n !\n route-map e69ceb-to-880ac2 ...\n route-map e69ceb-to-5d37ad ...\n\nInstalling Netconan\n===================\n\nInstall Netconan using ``pip``:\n\n.. code-block:: bash\n\n $ pip install netconan\n\nFeatures\n========\n\nNetconan can anonymize *many types of sensitive information*:\n\n* Sensitive strings like passwords or SNMP community strings (``--anonymize-passwords``, ``-p``), for many common network vendors.\n* IPv4 and IPv6 addresses (``--anonymize-ips``, ``-a``).\n* User-specified sensitive words (``--sensitive-words``, ``-w``). *Note that any occurrence of a specified sensitive word will be replaced regardless of context, even if it is part of a larger string.*\n* User-specified AS numbers (``--as-numbers``, ``-n``). *Note that any number matching a specified AS number will be anonymized.*\n\n\nNetconan attempts to *preserve useful structure*. For example,\n\n* Netconan preserves prefixes when anonymizing IPv4 and IPv6 addresses: IP addresses with a common prefix before anonymization will share the same prefix length after anonymization. For more information, see J. Xu et al., *On the Design and Performance of Prefix-Preserving IP Traffic Trace Anonymization*, ACM SIGCOMM Workshop on Internet Measurement, 2001 [`link `_].\n\n* IPv4 classes and private-use prefixes (see `IANA IPv4 assignments `_) are preserved by default, but can be overriden (with ``--preserve-prefixes`` e.g. ``--preserve-prefixes 12.0.0.0/8`` will preserve a leading octet ``12`` of IP addresses encountered but anonymize octets after the ``12``).\n\n* Specific addresses can optionally be preserved, e.g.\n\n - ``--preserve-addresses`` skips anonymizing the specified network or address e.g. ``--preserve-addresses 12.0.0.0/8,13.12.11.10`` will skip anonymization for any address in the ``12.0.0.0/8`` network and skip anonymizing ``13.12.11.10``.\n\n - ``--preserve-private-addresses`` skips anonymizing addresses that fall under private-use blocks.\n\n* AS number blocks are preserved (i.e. an anonymized public AS number will still be in the public AS number range after anonymization).\n\n* Standard password and hash formats (salted md5, Cisco Type 7, Juniper Type 9) are recognized and substituted with format-compliant replacements.\n\nNetconan is *deterministic* when provided the same user-controllable salt (``--salt``, ``-s``). Files processed using the same salt are compatible (e.g., IP addresses anonymized the same way) whether anonymized together or separately.\n\nFor *reversible operations* (specifically, IP address anonymization), Netconan can produce a de-anonymized file (``--undo``, ``-u``) when provided with the same salt used in anonymization (``--salt``, ``-s``).\n\nRunning netconan\n================\n\nNetconan processes the ``input`` file or recursively processes files in the ``input`` directory (skipping files starting with ``.``) and saves processed files at the specified ``output``.\n\nFor more information about less commonly-used features, see the Netconan help (``-h``). For more information on config file syntax, see `here `_.\n\n.. code-block:: bash\n\n usage: netconan [-h] [-a] [-c CONFIG] [-d DUMP_IP_MAP] -i INPUT\n [-l {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-n AS_NUMBERS] -o\n OUTPUT [-p] [-r RESERVED_WORDS] [-s SALT] [-u]\n [-w SENSITIVE_WORDS] [--preserve-prefixes PRESERVE_PREFIXES]\n\n Args that can start with '--' can also be set in a config file (specified via\n -c). If an arg is specified in more than one place, then command line values\n override config file values which override defaults. Config file syntax\n allows: key=value, flag=true, stuff=[a,b,c] (for more details, see here\n https://goo.gl/R74nmi).\n\n optional arguments:\n -h, --help show this help message and exit\n -a, --anonymize-ips Anonymize IP addresses\n -c CONFIG, --config CONFIG\n Netconan configuration file with defaults for these\n CLI parameters\n -d DUMP_IP_MAP, --dump-ip-map DUMP_IP_MAP\n Dump IP address anonymization map to specified file\n -i INPUT, --input INPUT\n Input file or directory containing files to anonymize\n -l {DEBUG,INFO,WARNING,ERROR,CRITICAL}, --log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}\n Determines what level of logs to display\n -n AS_NUMBERS, --as-numbers AS_NUMBERS\n List of comma separated AS numbers to anonymize\n -o OUTPUT, --output OUTPUT\n Output file or directory where anonymized files are\n placed\n -p, --anonymize-passwords\n Anonymize password and snmp community lines\n -r RESERVED_WORDS, --reserved-words RESERVED_WORDS\n List of comma separated words that should not be\n anonymized\n -s SALT, --salt SALT Salt for IP and sensitive keyword anonymization\n -u, --undo Undo reversible anonymization (must specify salt)\n -w SENSITIVE_WORDS, --sensitive-words SENSITIVE_WORDS\n List of comma separated keywords to anonymize\n --preserve-prefixes PRESERVE_PREFIXES\n List of comma separated IP prefixes to preserve.\n Specified prefixes are preserved, but the host bits\n within those prefixes are still anonymized. To\n preserve prefixes and host bits in specified blocks,\n use --preserve-addresses instead\n --preserve-addresses PRESERVE_ADDRESSES\n List of comma separated IP addresses or networks to\n preserve. Prefixes and host bits within those networks\n are preserved. To preserve just prefixes and anonymize\n host bits, use --preserve-prefixes\n --preserve-private-addresses\n Preserve private-use IP addresses. Prefixes and host\n bits within the private-use IP networks are preserved.\n To preserve specific addresses or networks, use\n --preserve-addresses instead. To preserve just\n prefixes and anonymize host bits, use --preserve-\n prefixes\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/intentionet/netconan", "keywords": "network configuration anonymizer", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "netconan", "package_url": "https://pypi.org/project/netconan/", "platform": "", "project_url": "https://pypi.org/project/netconan/", "project_urls": { "Homepage": "https://github.com/intentionet/netconan" }, "release_url": "https://pypi.org/project/netconan/0.11.0/", "requires_dist": [ "configargparse (<1.0.0)", "bidict (<1.0.0)", "ipaddress (<2.0.0)", "passlib (<2.0.0)", "regex (<=2019.6.8)", "six (<2.0.0)", "enum34 (<2.0.0) ; python_version < \"3.4\"", "flake8 (<4.0.0) ; extra == 'dev'", "flake8-docstrings (<2.0.0) ; extra == 'dev'", "pydocstyle (<4.0.0) ; extra == 'dev'" ], "requires_python": "", "summary": "Netconan network configuration anonymization utilities", "version": "0.11.0" }, "last_serial": 5886486, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "9d692069182f9c39f3ca7564e99378d7", "sha256": "df49ae53479239ac247e9573be67ae9a353fe7ffa35912bb52b2a21a393c20f5" }, "downloads": -1, "filename": "netconan-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9d692069182f9c39f3ca7564e99378d7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18707, "upload_time": "2018-02-10T00:12:19", "url": "https://files.pythonhosted.org/packages/c7/e0/a1ad5385b6b20b0d334948418fa18f298d83ca99994c1e464aff9f83be96/netconan-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffebddb630f7c1f5c77ad71e2d877f06", "sha256": "2b21b8db8153025b7bc9fafee86f76b09e98ed373fd66fb9d0cb8e81d6f9cf3a" }, "downloads": -1, "filename": "netconan-0.1.1.tar.gz", "has_sig": false, "md5_digest": "ffebddb630f7c1f5c77ad71e2d877f06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13416, "upload_time": "2018-02-10T00:12:21", "url": "https://files.pythonhosted.org/packages/3a/45/dae57d6a17ed2d7b0fe26335c0202bad04051a7df577575212bec1140e65/netconan-0.1.1.tar.gz" } ], "0.10.0": [ { "comment_text": "", "digests": { "md5": "978f60abebe764e2fee4709830ea5c21", "sha256": "436568ad9b6959a759e82fb0e9925e4c9e5137503af1145d4b15b879937892d1" }, "downloads": -1, "filename": "netconan-0.10.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "978f60abebe764e2fee4709830ea5c21", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 42702, "upload_time": "2019-02-19T20:12:25", "url": "https://files.pythonhosted.org/packages/75/5f/3ebc89faa8b91606a21929e3e4b45adde7215992760c53e5edaa280c9648/netconan-0.10.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6d5670d1d270c4d72f7c4d5a07ce134", "sha256": "bdb0c0b370a9e612b002b29e6573992c048b05eba8d9b105cbb39b6607f35976" }, "downloads": -1, "filename": "netconan-0.10.0.tar.gz", "has_sig": false, "md5_digest": "d6d5670d1d270c4d72f7c4d5a07ce134", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37634, "upload_time": "2019-02-19T20:12:26", "url": "https://files.pythonhosted.org/packages/65/f6/30c33e250df58e5cf3decc8575ba2a1aab82186ea243bfe1722bf3e0a006/netconan-0.10.0.tar.gz" } ], "0.10.1": [ { "comment_text": "", "digests": { "md5": "ea9ba15aef7dbdb4eb8237e15b0b51c5", "sha256": "a783f9d7a386d2e01e5ac48384d20f48926ad18a164989acdcc2b5e697207b6a" }, "downloads": -1, "filename": "netconan-0.10.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ea9ba15aef7dbdb4eb8237e15b0b51c5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 42709, "upload_time": "2019-06-18T23:32:53", "url": "https://files.pythonhosted.org/packages/39/de/588a6d2a363be4d7336940bd9d129b5e87dc6a547afbb03e00d1337d46af/netconan-0.10.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90026d1c7f3f460fccb2477f58a9d6a7", "sha256": "75c3a9658a000695d471ecf3fab9921954091952dac90376680cfe7727facd2a" }, "downloads": -1, "filename": "netconan-0.10.1.tar.gz", "has_sig": false, "md5_digest": "90026d1c7f3f460fccb2477f58a9d6a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38160, "upload_time": "2019-06-18T23:32:55", "url": "https://files.pythonhosted.org/packages/56/fd/9bda894d1472f17ddae1d8b00b4b5cae29bbe11e9d34e1f775586094ab06/netconan-0.10.1.tar.gz" } ], "0.10.2": [ { "comment_text": "", "digests": { "md5": "5d41cb02d9772d547fa82eac8f4ddddf", "sha256": "fddfed65c6606c3b7b332bf5f85cefb4b280dd5982c6b8babec869a71f19a026" }, "downloads": -1, "filename": "netconan-0.10.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5d41cb02d9772d547fa82eac8f4ddddf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 41775, "upload_time": "2019-07-09T23:06:17", "url": "https://files.pythonhosted.org/packages/d3/ed/e4a9de6bd4dd0b400afb01becf0851d1885587b0060a8c659c98023410a9/netconan-0.10.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6275d6289d8ff140148f732a74a71587", "sha256": "fe9281ceca3600d3ec9626c987a2a4f9dba3590cb728f1600c9fc532a1afdbbf" }, "downloads": -1, "filename": "netconan-0.10.2.tar.gz", "has_sig": false, "md5_digest": "6275d6289d8ff140148f732a74a71587", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37740, "upload_time": "2019-07-09T23:06:19", "url": "https://files.pythonhosted.org/packages/d1/9c/43b1c3721d894a78fd8b78ff89760015962fd3ec455712c4d9f0adde3c2c/netconan-0.10.2.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "e9dfe850ce08919cf03e71c04532fd4b", "sha256": "cb5d2064ab46a5d00b5860a81e28f284adf58ace6266a30a00b47870f8ac699b" }, "downloads": -1, "filename": "netconan-0.11.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e9dfe850ce08919cf03e71c04532fd4b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 43549, "upload_time": "2019-09-25T17:37:14", "url": "https://files.pythonhosted.org/packages/85/1c/9974ea7518d8ddd3ab10d91477eaa0d2078b27f3d278c52215d0e4bde63b/netconan-0.11.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca6a08e8d4c6ccd31b7f4a168df28126", "sha256": "7ef6d0a07568f833c1bf1b6b0e0beb20b708f2b41a4cb89d5e7a622a8f19ffa5" }, "downloads": -1, "filename": "netconan-0.11.0.tar.gz", "has_sig": false, "md5_digest": "ca6a08e8d4c6ccd31b7f4a168df28126", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38780, "upload_time": "2019-09-25T17:37:21", "url": "https://files.pythonhosted.org/packages/49/e9/f10d53b6ef94a07ddd167f322a7d0b5c7461842ba2f1e0dcddd7927c269d/netconan-0.11.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "ce3894e6c8371d1a94c9a864967fd260", "sha256": "a908b781a46b402d23d38f13b680049d54ebb56eeb51a9ae1fc80738fc081136" }, "downloads": -1, "filename": "netconan-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ce3894e6c8371d1a94c9a864967fd260", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20669, "upload_time": "2018-03-20T21:14:37", "url": "https://files.pythonhosted.org/packages/93/b4/d349222df30f1180f79a6de6d47c6ffa5fb7f08abbe9617a7aefc483cd9b/netconan-0.2.0-py2.py3-none-any.whl" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "ae18d0099073cd2bcedd1ee589e2e309", "sha256": "78c9b0298b31ad75d5b390374318af895813299867130085a0f9ce09f45c81bc" }, "downloads": -1, "filename": "netconan-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ae18d0099073cd2bcedd1ee589e2e309", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20728, "upload_time": "2018-04-06T16:31:05", "url": "https://files.pythonhosted.org/packages/4c/63/fd0b0622cfd66a7796441ead465a10cef150424ea8e5692db24091fd40c2/netconan-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f450fed57f64d600b0b90c972b0261d3", "sha256": "640feb75863c860af9d5bd75cb85664f427b0e9c2a8ca7a3f8ac6c5e67f78857" }, "downloads": -1, "filename": "netconan-0.3.0.tar.gz", "has_sig": false, "md5_digest": "f450fed57f64d600b0b90c972b0261d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16303, "upload_time": "2018-04-06T16:31:06", "url": "https://files.pythonhosted.org/packages/c4/a4/d444996a0c3c35caa50d679df7b561961d36c038daf1885cbe183d855954/netconan-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "5a996a55e66d737d8ac3d98e77d6e9ee", "sha256": "0603c0f2707492dd93d40030c23321d8393db067d05824c22378428352f0322b" }, "downloads": -1, "filename": "netconan-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5a996a55e66d737d8ac3d98e77d6e9ee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21104, "upload_time": "2018-04-09T21:56:39", "url": "https://files.pythonhosted.org/packages/69/99/97ee0abf8607222efcf5535e8351fa0230ad094edbffa35837b93b4405fc/netconan-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3de4b6bb1a6c675ded0b3b6a8b203cc9", "sha256": "f1213708abf4d0559be30ea1e889371a29481abdc05fafb02fa010a4cb6f6226" }, "downloads": -1, "filename": "netconan-0.4.0.tar.gz", "has_sig": false, "md5_digest": "3de4b6bb1a6c675ded0b3b6a8b203cc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16696, "upload_time": "2018-04-09T21:56:40", "url": "https://files.pythonhosted.org/packages/a5/01/514eb0a1271c8242f98e09e5c8041891caa2374ee7ed575afafa1305361a/netconan-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "d1be254e38320611f280124df2b3380d", "sha256": "0dc65502b5d873b5e9dd89ef6e967648fac7a1be86e25a7f5944d040243880b0" }, "downloads": -1, "filename": "netconan-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d1be254e38320611f280124df2b3380d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 36921, "upload_time": "2018-04-26T19:10:12", "url": "https://files.pythonhosted.org/packages/92/04/10cdcf8a37ed53ecad674a65a30c00ce55cd3ad6135317f5f9fe927a82fa/netconan-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c51ad5219ea2fa72e4c7f9f535735e13", "sha256": "35fc9d41de6fea05b815279d72afc05168316c021b089921a8f534e864a3168c" }, "downloads": -1, "filename": "netconan-0.5.0.tar.gz", "has_sig": false, "md5_digest": "c51ad5219ea2fa72e4c7f9f535735e13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32846, "upload_time": "2018-04-26T19:10:14", "url": "https://files.pythonhosted.org/packages/bb/df/07d241c63b41c641656b3c7e644381bfc78efa3b465246795c3f5355a208/netconan-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "4cf6c41aafffab04547794ab4e35ca34", "sha256": "9b0bce1a98651ed4f0b1a09341e2eb00456b3c57fbb33870f2075ae97664b1a9" }, "downloads": -1, "filename": "netconan-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4cf6c41aafffab04547794ab4e35ca34", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37051, "upload_time": "2018-05-22T23:29:48", "url": "https://files.pythonhosted.org/packages/38/6e/dd1302a862a98f7ca12dea294d2215a2256b168df21e4b601d11cae9ff3f/netconan-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a2363a99192f25afac2965cc2019d70", "sha256": "ef793297bf6d6aa11636ea367d7b0b86f87170b3a1d36fa6c50552f812475a23" }, "downloads": -1, "filename": "netconan-0.6.0.tar.gz", "has_sig": false, "md5_digest": "2a2363a99192f25afac2965cc2019d70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32957, "upload_time": "2018-05-22T23:29:49", "url": "https://files.pythonhosted.org/packages/88/32/7c4554cad0d247c85f5b2f9c3562699f1fe27987d8e01d6f49fa3fce65b6/netconan-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "c55624db4c335c01ff4d1ca7f727c8a4", "sha256": "9a6c7280069c5d241665f6a74352db737743b4b845084e81ae860a9ac7b220d0" }, "downloads": -1, "filename": "netconan-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c55624db4c335c01ff4d1ca7f727c8a4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37233, "upload_time": "2018-06-08T22:02:09", "url": "https://files.pythonhosted.org/packages/6d/aa/47311162e320872360458d90d043626bc0aa5797216e89b690bfbad6e5b6/netconan-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "792e61a21f5e388c226b98577edda29a", "sha256": "ebd022cb564baa8def133c0d24c40fea784a0c7576ffa67a3f09c900e5f2e8f2" }, "downloads": -1, "filename": "netconan-0.7.0.tar.gz", "has_sig": false, "md5_digest": "792e61a21f5e388c226b98577edda29a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33167, "upload_time": "2018-06-08T22:02:10", "url": "https://files.pythonhosted.org/packages/dd/a6/abdf0c0064120739d339a819d5366a1d06675fb1c72ca64d72612a0bf91a/netconan-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "8fa26a40aa75df70066bcf28e9c3a550", "sha256": "a7a92e92be998106a6e8d08f44bfd457c25a3c17684872ef2317999eeb5221ff" }, "downloads": -1, "filename": "netconan-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8fa26a40aa75df70066bcf28e9c3a550", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37241, "upload_time": "2018-07-16T21:22:32", "url": "https://files.pythonhosted.org/packages/5f/a0/1325a049ae22ef6c763805c7036ce04ea2f003efaa23ea5052eccf97a103/netconan-0.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "374458867709c825135b39b4bfc2a3f9", "sha256": "e3cfaeb258d5a3cfd101795c74c446e60203a4c12976e9921f56e18636cdb79c" }, "downloads": -1, "filename": "netconan-0.8.0.tar.gz", "has_sig": false, "md5_digest": "374458867709c825135b39b4bfc2a3f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33180, "upload_time": "2018-07-16T21:22:34", "url": "https://files.pythonhosted.org/packages/40/7e/40a5804c780e0f61bc3813d1a3eb01b5cf21331505275603bec90d19d2f3/netconan-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "eecd8c9ef8222f15fc9096991117bdea", "sha256": "658d9e94dee26e197ba047b5d1f8744a66140451dd32ebee360100690f6bdbc1" }, "downloads": -1, "filename": "netconan-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eecd8c9ef8222f15fc9096991117bdea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 37339, "upload_time": "2018-07-17T21:21:17", "url": "https://files.pythonhosted.org/packages/40/c5/b3b88c53aeefb6bfcd24f19a957a333a1724729fcb0c6ce3324cc1b60d9d/netconan-0.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffe906b9cb8c68d1e6a0761784cb7669", "sha256": "02528dae8f1fbfdf2e76eec1936e90daef89c47fa4f33fd2c7602cb4d270688a" }, "downloads": -1, "filename": "netconan-0.8.1.tar.gz", "has_sig": false, "md5_digest": "ffe906b9cb8c68d1e6a0761784cb7669", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33269, "upload_time": "2018-07-17T21:21:17", "url": "https://files.pythonhosted.org/packages/bb/14/50ea453ee869c3938a96721ca32289462bca0173bbb801511e3d476c8549/netconan-0.8.1.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "052202ae90058f02b175b997d8d1f34f", "sha256": "da9a360e3adcba6f51f4d4fd616d0a11ff38c67c7981a866fed9b8b1d736561a" }, "downloads": -1, "filename": "netconan-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "052202ae90058f02b175b997d8d1f34f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 39251, "upload_time": "2018-12-10T18:48:20", "url": "https://files.pythonhosted.org/packages/c8/8d/a199913c50d7b5e204b4455bb27118682d2689892bc0b106c40e8ceae3aa/netconan-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "720dd90031666f2ef0334975a75b9371", "sha256": "8db9a2dd0886c705b556e4e8c09b683e2960c5a2b672e369d3af0c0480098462" }, "downloads": -1, "filename": "netconan-0.9.0.tar.gz", "has_sig": false, "md5_digest": "720dd90031666f2ef0334975a75b9371", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33903, "upload_time": "2018-12-10T18:48:22", "url": "https://files.pythonhosted.org/packages/70/2c/6009f0c854d4e74b25d15a6790199582a46615750b79ef8b812716f66069/netconan-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "20613c9aa8a22dbb19e5b8791b209dc3", "sha256": "5d2e9701eaab6b65aeb33349c3e96476aee05710ec62b5c3fe5332ffd28d0a44" }, "downloads": -1, "filename": "netconan-0.9.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "20613c9aa8a22dbb19e5b8791b209dc3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 38047, "upload_time": "2018-12-18T19:23:16", "url": "https://files.pythonhosted.org/packages/d3/0c/e16724c2bb5513ddf2b555648ead58e029e64e72cb008fcc46e8bd5c2c0f/netconan-0.9.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "030fd2fcbadce6d38876e488ef4a7ac9", "sha256": "20af5153a937e3e47572c04b33e6b35089fc26515d68f225793154a5a77e5b34" }, "downloads": -1, "filename": "netconan-0.9.1.tar.gz", "has_sig": false, "md5_digest": "030fd2fcbadce6d38876e488ef4a7ac9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33975, "upload_time": "2018-12-18T19:23:17", "url": "https://files.pythonhosted.org/packages/48/a0/1993271daddbfab80f4fd0ea34d7e3d6599a660e7228339ee8d618010c6a/netconan-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "f6f51838e81295bb73db93be9088f73e", "sha256": "760e45f1ebaf26e937820cfb46ed8f3a2a01c7195991b1bce65bb57f8f0ef28a" }, "downloads": -1, "filename": "netconan-0.9.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f6f51838e81295bb73db93be9088f73e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 41695, "upload_time": "2019-01-08T20:06:13", "url": "https://files.pythonhosted.org/packages/88/0a/9ffb6171e88b318872ecd6fff849a355e7c5dedd595953ac4037a7768d01/netconan-0.9.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "336bd07e53eda3c3954b5d1102d059c5", "sha256": "9d4707291793d13d9a2907426ad0427a14d406550e453410869f6006e5788f82" }, "downloads": -1, "filename": "netconan-0.9.2.tar.gz", "has_sig": false, "md5_digest": "336bd07e53eda3c3954b5d1102d059c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36515, "upload_time": "2019-01-08T20:06:15", "url": "https://files.pythonhosted.org/packages/e7/70/7cc958b48d7ab8ed8a50a38f6138bc73b383735a4e8e415b267ff644425a/netconan-0.9.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e9dfe850ce08919cf03e71c04532fd4b", "sha256": "cb5d2064ab46a5d00b5860a81e28f284adf58ace6266a30a00b47870f8ac699b" }, "downloads": -1, "filename": "netconan-0.11.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e9dfe850ce08919cf03e71c04532fd4b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 43549, "upload_time": "2019-09-25T17:37:14", "url": "https://files.pythonhosted.org/packages/85/1c/9974ea7518d8ddd3ab10d91477eaa0d2078b27f3d278c52215d0e4bde63b/netconan-0.11.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca6a08e8d4c6ccd31b7f4a168df28126", "sha256": "7ef6d0a07568f833c1bf1b6b0e0beb20b708f2b41a4cb89d5e7a622a8f19ffa5" }, "downloads": -1, "filename": "netconan-0.11.0.tar.gz", "has_sig": false, "md5_digest": "ca6a08e8d4c6ccd31b7f4a168df28126", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38780, "upload_time": "2019-09-25T17:37:21", "url": "https://files.pythonhosted.org/packages/49/e9/f10d53b6ef94a07ddd167f322a7d0b5c7461842ba2f1e0dcddd7927c269d/netconan-0.11.0.tar.gz" } ] }