{ "info": { "author": "Brian Wylie", "author_email": "briford@supercowpowers.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "Chains\n======\n\n**Python Chained Generators for Network Packets:** `Read the\nDocs `__\n\n|travis| |Coverage Status| |landscape| |version| |downloads|\n|wheel| |supported-versions| |supported-implementations| |license|\n\nInstall/Run Stuff\n-----------------\nWant to see what's happening on your network right now? Just install chains and run 'netwatch'.\n::\n\n $ pip install chains\n $ netwatch -s\n 2015-09-07 19:08:34 - UDP IP 192.168.1.9(internal)--> 224.0.0.251(multicast_dns)\n 2015-09-07 19:08:34 - UDP IP6 fe80::6e40:8ff:fe89:fc08(internal) --> ff02::fb(multicast_dns)\n 2015-09-07 19:08:34 - UDP IP 192.168.1.14(internal)--> 224.0.0.251(multicast_dns)\n 2015-09-07 19:08:34 - UDP IP6 fe80::8a0:4946:3c8a:e6a1(internal)--> ff02::fb(multicast_dns)\n 2015-09-07 19:08:34 - TCP IP 192.168.1.9(internal)--> 49.75.183.151(nxdomain)\n 2015-09-07 19:08:36 - TCP IP 192.168.1.9(internal)--> 54.164.252.174(compute-1.amazonaws.com)\n 2015-09-07 19:08:36 - UDP IP 192.168.1.1(internal)--> 192.168.1.9(internal)\n 2015-09-07 19:08:36 - TCP IP 54.164.252.174(compute-1.amazonaws.com)--> 192.168.1.9(internal)\n ...\n\nWant to go to coffee shop and see http(s) requests floating about?\n::\n\n $ urlwatch\n\n HTTP_REQUEST\n 192.168.1.9 --> Host: clc.stackoverflow.com\n URI: /j/p.js?d=hireme&ac=891012&tags=python;attributes&lw=5913&bw=1539\n Referer: http://stackoverflow.com/questions/610883/attribute-in-python\n Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36\n\n HTTP_REQUEST\n 192.168.1.9 --> Host: ajax.googleapis.com\n URI: /ajax/libs/jquery/1.7.1/jquery.min.js\n Referer: http://stackoverflow.com/questions/610883/attribute-in-python\n Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36\n\n HTTPS_REQUEST\n 192.168.1.9 --> 199.166.0.200(sc.iasds01.com) tls_records(5)\n TLSRecord(length=512, version=769, type=22, data='\\x01\\x00\\x01\\xfc\\x03\\x03K\\t\\xf8_\\x8...\n TLSRecord(length=262, version=771, type=22, data='\\x10\\x00\\x01\\x02\\x01\\x00Vfd\\x8f8a\\x...\n TLSRecord(length=1, version=771, type=20, data='\\x01')\n TLSRecord(length=64, version=771, type=22, data=\"l\\xd0\\xce\\x96\\xf5\\x1a\\xf8\\xcf\\xcc\\x1...\n TLSRecord(length=560, version=771, type=23, data='\\x1d\\x942K\\xfb\\x87\\x19v\\xba\\x13\\x14...\n\nDocumentation\n-------------\n\n`chains.readthedocs.org `__\n\nAbout\n-----\n\nThe Chains project is an exploration of python components that you\n'chain' together to process streaming network packets. The use of\nnative python generators means the code is extremely lightweight and\nefficient.\n\nExample\n-------\n\n::\n\n # Create the classes\n streamer = packet_streamer.PacketStreamer(iface_name=data_path, max_packets=50)\n meta = packet_meta.PacketMeta()\n rdns = reverse_dns.ReverseDNS()\n printer = packet_printer.PacketPrinter()\n\n # Set up the chain\n meta.link(streamer)\n rdns.link(meta)\n printer.link(rdns)\n\n # Pull the chain\n printer.pull()\n\nExample Output\n~~~~~~~~~~~~~~\n\n::\n\n Timestamp: 2015-05-27 01:17:07.919743\n Ethernet Frame: 6c:40:08:89:fc:08 --> 01:00:5e:00:00:fb (type: 2048)\n Packet: IP 192.168.1.9 --> 224.0.0.251 (len:55 ttl:255) -- Frag(df:0 mf:0 offset:0)\n Domains: LOCAL --> multicast_dns\n Transport: UDP {'dport': 5353, 'sum': 59346, 'sport': 5353, 'data': '...', 'ulen': 35}\n Application: None\n\n Timestamp: 2015-05-27 01:17:07.919926\n Ethernet Frame: 6c:40:08:89:fc:08 --> 33:33:00:00:00:fb (type: 34525)\n Packet: IP6 fe80::6e40:8ff:fe89:fc08 --> ff02::fb (len:35 ttl:255)\n Domains: LOCAL --> multicast_dns\n Transport: UDP {'dport': 5353, 'sum': 6703, 'sport': 5353, 'data': '...', 'ulen': 35}\n Application: None\n ...\n\nLICENSE\n-------\n\nMIT Licensed\n\n.. |travis| image:: https://img.shields.io/travis/SuperCowPowers/chains.svg\n :target: https://travis-ci.org/SuperCowPowers/chains\n.. |Coverage Status| image:: https://coveralls.io/repos/SuperCowPowers/chains/badge.svg?branch=HEAD\n :target: https://coveralls.io/r/SuperCowPowers/chains\n.. |landscape| image:: https://landscape.io/github/SuperCowPowers/chains/master/landscape.svg?style=flat\n :target: https://landscape.io/github/SuperCowPowers/chains/master\n.. |version| image:: https://img.shields.io/pypi/v/chains.svg\n :target: https://pypi.python.org/pypi/chains\n.. |downloads| image:: https://img.shields.io/pypi/dm/chains.svg\n :target: https://pypi.python.org/pypi/chains\n.. |wheel| image:: https://img.shields.io/pypi/wheel/chains.svg\n :target: https://pypi.python.org/pypi/chains\n.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/chains.svg\n :target: https://pypi.python.org/pypi/chains\n.. |supported-implementations| image:: https://img.shields.io/pypi/implementation/chains.svg\n :target: https://pypi.python.org/pypi/chains\n.. |license| image:: https://img.shields.io/badge/license-MIT-green.svg\n :target: http://choosealicense.com/licenses/mit", "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/SuperCowPowers/chains", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "chains", "package_url": "https://pypi.org/project/chains/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/chains/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/SuperCowPowers/chains" }, "release_url": "https://pypi.org/project/chains/0.2.0/", "requires_dist": null, "requires_python": null, "summary": "Exploratory Python Chained Generator Project", "version": "0.2.0" }, "last_serial": 2729367, "releases": { "0.1.10": [ { "comment_text": "", "digests": { "md5": "8296cd25aaed9d209479e764e0ef4fcf", "sha256": "f70ff40d4fb3120dcfa1f121a064e15200c731da9c21844aacc8ff0097a2a706" }, "downloads": -1, "filename": "chains-0.1.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8296cd25aaed9d209479e764e0ef4fcf", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 21787, "upload_time": "2015-09-07T17:54:23", "url": "https://files.pythonhosted.org/packages/07/64/2b6791dc8c02ace2a259c3e817f08610a9b47b299e3440cdfa8f57cc236a/chains-0.1.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f38eedef580f2586292dcd5cdda33db1", "sha256": "e1e89065ca7fe7c3f28b672f55e2b42400ba93105046c37cbcd77666ba052ad5" }, "downloads": -1, "filename": "chains-0.1.10.tar.gz", "has_sig": false, "md5_digest": "f38eedef580f2586292dcd5cdda33db1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31156, "upload_time": "2015-09-07T17:54:20", "url": "https://files.pythonhosted.org/packages/c3/34/9b88cc3c1365e57fbad1312df9e74140f755eab6bba28c218b5863a66465/chains-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "67c2492d58b19d074b7aa165a78ff635", "sha256": "89ef5e0c710302e00a285a1a248472e23545dd20fc9fdf83eb1706039497b53d" }, "downloads": -1, "filename": "chains-0.1.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "67c2492d58b19d074b7aa165a78ff635", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 22414, "upload_time": "2015-09-07T20:22:48", "url": "https://files.pythonhosted.org/packages/47/07/3ada556bec23179c593ef6a67e502974d7a853eb96f36f2faabe5213d836/chains-0.1.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c22fc46a2140dd0cf76700be914cd251", "sha256": "60272b3d42b63e47186efd40a0af5d3c9f098d0ae8cff34de56b2ebc02cd3de6" }, "downloads": -1, "filename": "chains-0.1.11.tar.gz", "has_sig": false, "md5_digest": "c22fc46a2140dd0cf76700be914cd251", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31557, "upload_time": "2015-09-07T20:22:44", "url": "https://files.pythonhosted.org/packages/79/cf/df6e2e1834d0bf74d980b36d338e7d29ad3300e9eeb5142fb7152bedf43f/chains-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "845a4dac5de958286b709c528d079380", "sha256": "56a6bfec0bba4f60df2a9717379a79cfbef625cfac911db0b570653ad103a785" }, "downloads": -1, "filename": "chains-0.1.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "845a4dac5de958286b709c528d079380", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 23063, "upload_time": "2015-09-20T23:41:21", "url": "https://files.pythonhosted.org/packages/5f/0c/b3f789cc406eb1928ef5629ab44ca1955fdeb9b265fe9e2d1a3d5352054c/chains-0.1.12-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1deac1c020ea6acbd6b43764f032199b", "sha256": "1ba065bf7b66ab8017d09a57c36f20990abce68b48ef6fa731d948e3de333a9c" }, "downloads": -1, "filename": "chains-0.1.12.tar.gz", "has_sig": false, "md5_digest": "1deac1c020ea6acbd6b43764f032199b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31980, "upload_time": "2015-09-20T23:41:15", "url": "https://files.pythonhosted.org/packages/36/6f/a53e0793f0a36333bc25c18e1b08790677d05ec3966afb687a4946546a1c/chains-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "933c94d11d35e86b2d3ef556f9bb45cb", "sha256": "9ca44aa0d3a6af2cf606845fb8e422fb6de22c185283cb6af70f81934387e481" }, "downloads": -1, "filename": "chains-0.1.13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "933c94d11d35e86b2d3ef556f9bb45cb", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 33768, "upload_time": "2016-01-01T23:31:48", "url": "https://files.pythonhosted.org/packages/d0/8c/96af4fb09557c28eb3a3ba7dc8db0d01c29b997897991eb86a3a4437d7e7/chains-0.1.13-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e78dd117d6a047e1724b554e0d61b84c", "sha256": "3f3863722ca8e94ec845cd20e565effb8bec42ae31892abf3dff3b27855bae61" }, "downloads": -1, "filename": "chains-0.1.13.tar.gz", "has_sig": false, "md5_digest": "e78dd117d6a047e1724b554e0d61b84c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57138, "upload_time": "2016-01-01T23:31:26", "url": "https://files.pythonhosted.org/packages/77/09/9864c51ef23ad918a52eea9a8e01bd136e3c156f574457002a8b55e229bd/chains-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "30cb3758bbdca8a1a87b057d3565dd1f", "sha256": "627fc12c7b5941ddcc1422ff340d8f7876abb80d8b17f9741602c3c744ed5ea8" }, "downloads": -1, "filename": "chains-0.1.14.tar.gz", "has_sig": false, "md5_digest": "30cb3758bbdca8a1a87b057d3565dd1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55815, "upload_time": "2016-05-04T17:31:03", "url": "https://files.pythonhosted.org/packages/6a/97/dec85777c7fb443bcd0fff84b462b2e1eb92f8660522b1c840ee891599b2/chains-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "21bbf01aaaa4f0cba64f69b6bfbf9505", "sha256": "39f9a103d1d8a5e201791b93dfb2f1ffc4adfec51cd8244d75d9f591be3bb47d" }, "downloads": -1, "filename": "chains-0.1.15.tar.gz", "has_sig": false, "md5_digest": "21bbf01aaaa4f0cba64f69b6bfbf9505", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55813, "upload_time": "2016-05-04T18:26:54", "url": "https://files.pythonhosted.org/packages/5b/24/b9b7513011502c4c577c28a9c0c6ee9c1fddcf789a13948d7041ce891c7a/chains-0.1.15.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "87f121b6ab3ac61d8552b943cb08c522", "sha256": "8baa6d81a408531773fe52fdd1281c34e30bc4143333fff7ce6646f4e73c1003" }, "downloads": -1, "filename": "chains-0.1.16.tar.gz", "has_sig": false, "md5_digest": "87f121b6ab3ac61d8552b943cb08c522", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55814, "upload_time": "2016-05-04T18:45:26", "url": "https://files.pythonhosted.org/packages/5d/b0/4b391ad7f3a93a17690e38557056ae291c2c8634b70661db1e146d4b1529/chains-0.1.16.tar.gz" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "d0cda20f5c84cbe2c986594bf4c08049", "sha256": "6495e742924510621571a905bc5a0e86cc53c2b2f4aaf57adcf994e377b9898e" }, "downloads": -1, "filename": "chains-0.1.17-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d0cda20f5c84cbe2c986594bf4c08049", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 31682, "upload_time": "2016-07-03T23:00:01", "url": "https://files.pythonhosted.org/packages/72/04/1bca2d9e4eab183d34e43e9d40f8473760303632a06c087681c1842ec68f/chains-0.1.17-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dfce88bde5b2a633748545ec8d55b9ed", "sha256": "ca3ccdd0a55650e6a764f6462c61bb0a088ef62be5da3a7b3e24b8f69f2480b0" }, "downloads": -1, "filename": "chains-0.1.17.tar.gz", "has_sig": false, "md5_digest": "dfce88bde5b2a633748545ec8d55b9ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55684, "upload_time": "2016-07-03T22:59:56", "url": "https://files.pythonhosted.org/packages/6d/77/2dae8db04d581187754fd18c8b633f4289bfd20477c54f1c8c53629d35b7/chains-0.1.17.tar.gz" } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "2dc9a4490b5588bc3dc2c0fe9d58c161", "sha256": "6af93652df2545787a63eaae3d97a47aca6d0bb916c7b91e81bec657ac027e5b" }, "downloads": -1, "filename": "chains-0.1.18-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2dc9a4490b5588bc3dc2c0fe9d58c161", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 37092, "upload_time": "2017-03-24T22:05:40", "url": "https://files.pythonhosted.org/packages/bf/c6/f7d5adf806b3c65f90ba99d0107ac1d7dc61fd1ea2118898eb9906870f8a/chains-0.1.18-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80ee5fad1bbf5756485aa6390257682a", "sha256": "74cbccb5c0aeef972a6e2ccee211b3b64527da49af782ed1de7e8cc611d4e190" }, "downloads": -1, "filename": "chains-0.1.18.tar.gz", "has_sig": false, "md5_digest": "80ee5fad1bbf5756485aa6390257682a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60086, "upload_time": "2017-03-24T22:05:37", "url": "https://files.pythonhosted.org/packages/49/30/f89b7498407b6deb39e12d9a9faa213b159009f9438948615a0aaff39a4b/chains-0.1.18.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "240e3f21be292087d0e5199598273e05", "sha256": "84eee9965b3b6e1a0f370c1fa41102a974dc5fa3a983a6d3b4be8ed4ea1e62d5" }, "downloads": -1, "filename": "chains-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "240e3f21be292087d0e5199598273e05", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 20724, "upload_time": "2015-09-07T17:22:45", "url": "https://files.pythonhosted.org/packages/ce/1b/6aa82eab135512a14b363213df47d433f1ee8f6f548e0d0e41c33a679776/chains-0.1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b195773278a8e9b163e3bb9a5f5bd28", "sha256": "eff9c02e24ead174940a783d896e99fd222785b39c7f0382fca66ae3a630ae19" }, "downloads": -1, "filename": "chains-0.1.8.tar.gz", "has_sig": false, "md5_digest": "6b195773278a8e9b163e3bb9a5f5bd28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31206, "upload_time": "2015-09-07T17:22:41", "url": "https://files.pythonhosted.org/packages/3d/a3/5834dbe9d9fc1ccb0720dc9ecf3fa6261d00028a8039ce02c70751b22465/chains-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "7bb285f65eb401f6db39cda4433c17f1", "sha256": "471da3aa43b2867013e15670bfe86c9ddd7eb12aea114f5dc99542b555bce919" }, "downloads": -1, "filename": "chains-0.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7bb285f65eb401f6db39cda4433c17f1", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 20708, "upload_time": "2015-09-07T17:29:01", "url": "https://files.pythonhosted.org/packages/8e/f2/3cb614c942c8f2948e8529df36b8fc15e1647a7f1fa4ef7be8d543fb413b/chains-0.1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4307be5331c5317351d5fbb290aa7a99", "sha256": "61db01d15c1c38a07bf6871be7ad647ca6943f1ca2e57d88622d35ecbcb71e85" }, "downloads": -1, "filename": "chains-0.1.9.tar.gz", "has_sig": false, "md5_digest": "4307be5331c5317351d5fbb290aa7a99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31135, "upload_time": "2015-09-07T17:28:55", "url": "https://files.pythonhosted.org/packages/3a/c8/fb4c25de8be4f8978e93c7e4501a615a747a0dc5933de2b70fceb99095bb/chains-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4cf8c5af27b71cb96e26113153f2e5aa", "sha256": "6198eaca829cc145d5a3f9b29fb3d930f975d2de3a27172ae065be36c8e6e877" }, "downloads": -1, "filename": "chains-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4cf8c5af27b71cb96e26113153f2e5aa", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 37075, "upload_time": "2017-03-24T22:08:15", "url": "https://files.pythonhosted.org/packages/78/ce/27e6571c3d819c741712c7cbcf18f45ffc21bcc80058a20e36cc84c45150/chains-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ab42471f432f88255fce197b1af8fde", "sha256": "f56b905805333712094fd890390063bfad561ca6768a17c32b6829c28cbaa065" }, "downloads": -1, "filename": "chains-0.2.0.tar.gz", "has_sig": false, "md5_digest": "6ab42471f432f88255fce197b1af8fde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60005, "upload_time": "2017-03-24T22:08:13", "url": "https://files.pythonhosted.org/packages/ab/17/ecbf7e030fdfb0aab451eba76e5ee6c40e2cc5e4a9629a99c3f7ce67b7b9/chains-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4cf8c5af27b71cb96e26113153f2e5aa", "sha256": "6198eaca829cc145d5a3f9b29fb3d930f975d2de3a27172ae065be36c8e6e877" }, "downloads": -1, "filename": "chains-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4cf8c5af27b71cb96e26113153f2e5aa", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 37075, "upload_time": "2017-03-24T22:08:15", "url": "https://files.pythonhosted.org/packages/78/ce/27e6571c3d819c741712c7cbcf18f45ffc21bcc80058a20e36cc84c45150/chains-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ab42471f432f88255fce197b1af8fde", "sha256": "f56b905805333712094fd890390063bfad561ca6768a17c32b6829c28cbaa065" }, "downloads": -1, "filename": "chains-0.2.0.tar.gz", "has_sig": false, "md5_digest": "6ab42471f432f88255fce197b1af8fde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 60005, "upload_time": "2017-03-24T22:08:13", "url": "https://files.pythonhosted.org/packages/ab/17/ecbf7e030fdfb0aab451eba76e5ee6c40e2cc5e4a9629a99c3f7ce67b7b9/chains-0.2.0.tar.gz" } ] }