{ "info": { "author": "David Ferlier", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: System :: Filesystems" ], "description": "=======\naioipfs\n=======\n\n:info: Asynchronous IPFS_ client library\n\n**aioipfs** is a python3 library providing an asynchronous API for IPFS_,\n\nInstallation\n============\n\n.. code-block:: shell\n\n pip install aioipfs\n\nUsage examples\n==============\n\nGet an IPFS resource\n--------------------\n\n.. code-block:: python\n\n import sys\n import asyncio\n\n import aioipfs\n\n async def get(ipfshash):\n client = aioipfs.AsyncIPFS()\n await client.get(ipfshash, dstdir='.')\n await client.close()\n\n loop = asyncio.get_event_loop()\n loop.run_until_complete(get(sys.argv[1]))\n loop.close()\n\nAdd some files\n--------------\n\nThis example will import all files and directories specified on the command\nline. Note that the **add** API function is an asynchronous generator and\ntherefore needs to be used with the *async for* syntax.\n\n.. code-block:: python\n\n import sys\n import asyncio\n\n import aioipfs\n\n async def add_files(files):\n client = aioipfs.AsyncIPFS()\n\n async for added_file in client.add(*files, recursive=True):\n print('Imported file {0}, CID: {1}'.format(\n added_file['Name'], added_file['Hash']))\n\n await client.close()\n\n loop = asyncio.get_event_loop()\n loop.run_until_complete(add_files(sys.argv[1:]))\n loop.close()\n\nPubsub service\n--------------\n\n.. code-block:: python\n\n async def pubsub_serve(topic):\n async with aioipfs.AsyncIPFS() as cli:\n async for message in cli.pubsub.sub(topic):\n print('Received message from', message['from'])\n await cli.pubsub.pub(topic, message['data'])\n\nFeatures\n========\n\nAsync file writing on get operations\n------------------------------------\n\nThe **aiofiles** library is used to asynchronously write data retrieved from\nthe IPFS daemon when using the */api/v0/get* API call, to avoid blocking the\nevent loop. TAR extraction is done in asyncio's threadpool.\n\nRequirements\n============\n\n- Python >= 3.5.3\n- async-generator_\n- aiohttp_\n- aiofiles_\n- yarl_\n\n.. _aiohttp: https://pypi.python.org/pypi/aiohttp\n.. _aiofiles: https://pypi.python.org/pypi/aiofiles\n.. _yarl: https://pypi.python.org/pypi/yarl\n.. _async-generator: https://pypi.python.org/pypi/async_generator\n.. _IPFS: https://ipfs.io\n\nLicense\n=======\n\n**aioipfs** is offered under the GNU Lesser GPL3 (LGPL3) license.\n\nAuthor\n======\n\nDavid Ferlier\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/cipres/aioipfs", "keywords": "asyncio,aiohttp,ipfs", "license": "LGPLv3", "maintainer": "", "maintainer_email": "", "name": "aioipfs", "package_url": "https://pypi.org/project/aioipfs/", "platform": "", "project_url": "https://pypi.org/project/aioipfs/", "project_urls": { "Homepage": "https://gitlab.com/cipres/aioipfs" }, "release_url": "https://pypi.org/project/aioipfs/0.4.1/", "requires_dist": [ "aiohttp (>=3.4.4)", "aiofiles (>=0.4.0)", "async-generator (>=1.10)", "base58 (>=1.0.2)" ], "requires_python": "", "summary": "Asynchronous IPFS client library", "version": "0.4.1" }, "last_serial": 5391791, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "eda25b1901ff0991d85c29b3bcdcdfd3", "sha256": "304e49631ed9aac54fdd145ea6025e77d60f5001211f2e77d1b8ecd400140485" }, "downloads": -1, "filename": "aioipfs-0.3-py3.6.egg", "has_sig": false, "md5_digest": "eda25b1901ff0991d85c29b3bcdcdfd3", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 35563, "upload_time": "2018-09-08T17:16:30", "url": "https://files.pythonhosted.org/packages/7b/d1/8083518af6e8110cbb6f75a6e93c4e782f84512f3d7e580d053271f0278f/aioipfs-0.3-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "448178f01866d787e28d2305bbeb6dda", "sha256": "3f3c7c44fdc0726c029e55daab6443fa87a75fb9321c1535cb9ac95e8f56857d" }, "downloads": -1, "filename": "aioipfs-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "448178f01866d787e28d2305bbeb6dda", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15224, "upload_time": "2018-08-06T13:33:43", "url": "https://files.pythonhosted.org/packages/a2/13/238753e75040f226c05f3fa8b504ba2e728d8978f88cf1d93750d05a43e2/aioipfs-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3319412e8afa86ae5baeebcd921d885a", "sha256": "3775930eebd3b24c9a01050c7b974d883dcd79279b581a93dc4d3f2697018fe6" }, "downloads": -1, "filename": "aioipfs-0.3.tar.gz", "has_sig": false, "md5_digest": "3319412e8afa86ae5baeebcd921d885a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17320, "upload_time": "2018-08-06T13:33:44", "url": "https://files.pythonhosted.org/packages/51/31/0b629a7a9ba14969fd80974e88bf5c5564121d83f2d78259f21f4e65a389/aioipfs-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "4c09f1572389d585b7e936ee799ef921", "sha256": "0c81d6d1e91dcde8e485aa47fb5c7c531e63a03b2ecbadab75e406ff1f580e85" }, "downloads": -1, "filename": "aioipfs-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4c09f1572389d585b7e936ee799ef921", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13116, "upload_time": "2018-09-08T17:16:04", "url": "https://files.pythonhosted.org/packages/80/28/8392c56362013507a570f37993aa5b381c18770bc7c3aef1a1583886a732/aioipfs-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "79b2693e3d73edd1a33be6ecdbd19e3f", "sha256": "7ce2343ea6f60ab62485b98e2e05ed493f288b85e79bf0fbbd5c0c469874cd17" }, "downloads": -1, "filename": "aioipfs-0.3.1.tar.gz", "has_sig": false, "md5_digest": "79b2693e3d73edd1a33be6ecdbd19e3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15712, "upload_time": "2018-09-08T17:16:19", "url": "https://files.pythonhosted.org/packages/2e/e1/0fdaa86b5ebfcefe3348ed228121b0b050c6257df4c6eb7bc8d048b46e4f/aioipfs-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "d0731a487e07da0bb3bea34c0d1f2a84", "sha256": "21637ab8f71fdaf8550e7ce09bb02b7886bb322960e2f74eb03cd709d3bb948e" }, "downloads": -1, "filename": "aioipfs-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d0731a487e07da0bb3bea34c0d1f2a84", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14220, "upload_time": "2018-09-19T22:30:42", "url": "https://files.pythonhosted.org/packages/1c/15/884cd53c306dce49f8ba5b6411bd7c0f4e8d6e1206141f63c71dc3265e10/aioipfs-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0479c2e76e44c0a2fd33bdf8e61b6f4b", "sha256": "d53cb978961cf4b1878376687695602c1724b8d08eed19e8cc2a0d1d54d36e45" }, "downloads": -1, "filename": "aioipfs-0.3.2.tar.gz", "has_sig": false, "md5_digest": "0479c2e76e44c0a2fd33bdf8e61b6f4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17115, "upload_time": "2018-09-19T22:30:47", "url": "https://files.pythonhosted.org/packages/e3/8d/fb85aaa66e9d8243701cc57aba6356626cd3fa8bb8d2b64ae52d8f35a522/aioipfs-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "ea5f7f3992249c8d9de6598178ccf815", "sha256": "83bf55fde399fba1f7f9941956ac1637803f5f1accd37187fbc4c9bb8f62fe67" }, "downloads": -1, "filename": "aioipfs-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ea5f7f3992249c8d9de6598178ccf815", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15124, "upload_time": "2018-09-30T22:27:27", "url": "https://files.pythonhosted.org/packages/c4/c2/d4093ad8f460dbbe6ead6825560474a8f612496cddba475585151c94dd3e/aioipfs-0.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "42a93f8ee4771f60a579a79e513bdf35", "sha256": "75ec532507d8649bad631d7b4eb3ca44cc4d379f3343aa065e33cc656ccc0001" }, "downloads": -1, "filename": "aioipfs-0.3.3.tar.gz", "has_sig": false, "md5_digest": "42a93f8ee4771f60a579a79e513bdf35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18195, "upload_time": "2018-09-30T22:27:38", "url": "https://files.pythonhosted.org/packages/00/99/aba4c4f7b867bb38bc300a9d187f16fc94339e3d2e6261168c730a355ced/aioipfs-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "024a53d63c260145bd91db0e0db0369e", "sha256": "0cd3dbf4044b66fe40e317f446957f6c24f004098f2721e1f8f1a16d2f5d0368" }, "downloads": -1, "filename": "aioipfs-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "024a53d63c260145bd91db0e0db0369e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15643, "upload_time": "2018-10-08T16:57:25", "url": "https://files.pythonhosted.org/packages/66/1f/f4909f6b0554bc073c34ccf5b53a967cdacdac36fffc9c77c11f47511410/aioipfs-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77ffb24ce25efc0f3072200558d4f100", "sha256": "3c4a2f846b1cded9553709cdf16a8ac92cf3a40e32f217cb3b2e800ab87ba52e" }, "downloads": -1, "filename": "aioipfs-0.3.4.tar.gz", "has_sig": false, "md5_digest": "77ffb24ce25efc0f3072200558d4f100", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18929, "upload_time": "2018-10-08T16:57:28", "url": "https://files.pythonhosted.org/packages/32/b5/34ca04031a56f622e3916b6bbe9121f3126931f0de996e2bb7a5ba322eac/aioipfs-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "49f0b8b7e8e67a8fa034f11de979c260", "sha256": "314b0820fc6f4af6624f44a4ffd1ec9a11298e0a85eb17d648b36d4d95ccee51" }, "downloads": -1, "filename": "aioipfs-0.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "49f0b8b7e8e67a8fa034f11de979c260", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15628, "upload_time": "2018-10-15T22:20:07", "url": "https://files.pythonhosted.org/packages/d6/1e/8f3d7801d3ed452801d9091ef01b5665336acd05e637a583fa6feacebc90/aioipfs-0.3.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2bfec56c93748aba2ac16d44becb988a", "sha256": "5986a9d7e2a7dbb50627db206f9b36b5541613931f884523c304e0c89b5aca6a" }, "downloads": -1, "filename": "aioipfs-0.3.5.tar.gz", "has_sig": false, "md5_digest": "2bfec56c93748aba2ac16d44becb988a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18921, "upload_time": "2018-10-15T22:20:10", "url": "https://files.pythonhosted.org/packages/4f/6b/3ca378d08ebf58d80c304fa9f84f1ae5b8805b63f0f9585288da7a4ebf13/aioipfs-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "e94e56e2e4157d1830fc491ee108f733", "sha256": "bc86db98fcdce76bf485256e562f4258df0a3a430d23c2ac4d25310232db85c4" }, "downloads": -1, "filename": "aioipfs-0.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "e94e56e2e4157d1830fc491ee108f733", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15683, "upload_time": "2018-10-30T20:51:33", "url": "https://files.pythonhosted.org/packages/fe/50/95bff44741e68dc8d1ea991d84f6b5bd9fcb95d2a301666790de7d83b4cc/aioipfs-0.3.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "237e9282cd81c0b0ec19fba0eae28b03", "sha256": "ee1a789804bd823eb8abe4beae1521cd8718ab2f1362ba34cd6ecb43fdeec6bb" }, "downloads": -1, "filename": "aioipfs-0.3.6.tar.gz", "has_sig": false, "md5_digest": "237e9282cd81c0b0ec19fba0eae28b03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18943, "upload_time": "2018-10-30T20:51:34", "url": "https://files.pythonhosted.org/packages/c6/85/37cfb5748c0cb736b44898c65d3151963264b580794444c03a851bd12c5c/aioipfs-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "a61735b1ece0dbe3fda9ad0d5bef4311", "sha256": "0c8606172f55a4d03fc6ffcba18b2c1bcd5c2eb53f647d003f5790a12d7ea0b3" }, "downloads": -1, "filename": "aioipfs-0.3.7.tar.gz", "has_sig": false, "md5_digest": "a61735b1ece0dbe3fda9ad0d5bef4311", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18948, "upload_time": "2019-01-01T17:12:47", "url": "https://files.pythonhosted.org/packages/43/59/735d538b0b8ee62dd3c5abb4e6b8ee80d32a400481b17f50afb8e097c069/aioipfs-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "e13845a2569960aeb3a752701ceeb689", "sha256": "7b28493743f051a01399d2666366c849ae406004743ef02287b200f38a59bfbc" }, "downloads": -1, "filename": "aioipfs-0.3.8-py3-none-any.whl", "has_sig": false, "md5_digest": "e13845a2569960aeb3a752701ceeb689", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15686, "upload_time": "2019-01-01T17:35:27", "url": "https://files.pythonhosted.org/packages/2a/6d/ad23071e92d108de917f4abff54f18d27d80af3b7dc69df1f5cf707fd49a/aioipfs-0.3.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86181b038a73f429ef1808171060605f", "sha256": "578912a7df767dc1e994873fbecf5e61de09352b6ad6b78d13d3a43fdbbf6cdf" }, "downloads": -1, "filename": "aioipfs-0.3.8.tar.gz", "has_sig": false, "md5_digest": "86181b038a73f429ef1808171060605f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19115, "upload_time": "2019-01-01T17:34:26", "url": "https://files.pythonhosted.org/packages/61/52/462c8452c7196f41a0e4e40f51b39c7b1f090ee4ab5c3b4992d250c66b6e/aioipfs-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "6815fdb1d602b0b6e3e9235dfe504e4e", "sha256": "bc6d6bc78074d1f31ddbdfe680c699be4c501a532f058c031bf9f236aa735ee3" }, "downloads": -1, "filename": "aioipfs-0.3.9-py3-none-any.whl", "has_sig": false, "md5_digest": "6815fdb1d602b0b6e3e9235dfe504e4e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17401, "upload_time": "2019-03-24T16:03:50", "url": "https://files.pythonhosted.org/packages/d6/a4/28545fe6e07e4e314b4ba32c9edeb8f6785cfeac9ada25c6bac02f7a046d/aioipfs-0.3.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2e6e4f715a4f6f160d0bd876f4c3cc20", "sha256": "a98d60c2cf8974c856e9955d97f1fc17aa0e96adf588a576a40fa9b3b3186858" }, "downloads": -1, "filename": "aioipfs-0.3.9.tar.gz", "has_sig": false, "md5_digest": "2e6e4f715a4f6f160d0bd876f4c3cc20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20890, "upload_time": "2019-03-24T16:03:53", "url": "https://files.pythonhosted.org/packages/f9/1c/6214c262c0c89c9765f01e47d89b6751465debb550f789128355cd61b014/aioipfs-0.3.9.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "a1e57c87bddae35be2d3212ebd6402a2", "sha256": "ec7b938dd76543ceb457cfa9d773071d741170b55e9775c5d52d6e69daf76e3d" }, "downloads": -1, "filename": "aioipfs-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a1e57c87bddae35be2d3212ebd6402a2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17746, "upload_time": "2019-05-23T01:34:07", "url": "https://files.pythonhosted.org/packages/78/4b/5ef874a9c405ae33880df4b5b8dd5abeec2e8659ab5c2a94ee39843c8741/aioipfs-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e385f4bb86e8ba2554d1300ed077ff2c", "sha256": "fd88fd77f6143eda115ecbdbd6ffc33351c16e0787a346e621106ed4a2836750" }, "downloads": -1, "filename": "aioipfs-0.4.0.tar.gz", "has_sig": false, "md5_digest": "e385f4bb86e8ba2554d1300ed077ff2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21240, "upload_time": "2019-05-23T01:34:09", "url": "https://files.pythonhosted.org/packages/12/81/3221a0d8966981f30b5d9d329e41023c44c9949ae8b6f6a2b89ffebfc8ee/aioipfs-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "16e13b51986aaab075a69ad67bd0ebc6", "sha256": "9dcc55e3f8a77d91c6afd1609b90e5544f44c6d75541c4eb30f5976f78fb074d" }, "downloads": -1, "filename": "aioipfs-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "16e13b51986aaab075a69ad67bd0ebc6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17667, "upload_time": "2019-06-12T15:44:56", "url": "https://files.pythonhosted.org/packages/32/a3/a490f60659dbaaa2fc7457d4bf7ffefd3734571f47ae6b9f4832e3ad1436/aioipfs-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "830573c7d943f4bdcd4c2cbee8353240", "sha256": "ec3b1c84f226c35edd9d9b9af9f662911051046e0ce1ee0f278873b8e4655eff" }, "downloads": -1, "filename": "aioipfs-0.4.1.tar.gz", "has_sig": false, "md5_digest": "830573c7d943f4bdcd4c2cbee8353240", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21163, "upload_time": "2019-06-12T15:44:58", "url": "https://files.pythonhosted.org/packages/8e/1f/587ea66dfa7c90c226736b73c67b0c0f7bc6b9dccae43669168060506d2d/aioipfs-0.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "16e13b51986aaab075a69ad67bd0ebc6", "sha256": "9dcc55e3f8a77d91c6afd1609b90e5544f44c6d75541c4eb30f5976f78fb074d" }, "downloads": -1, "filename": "aioipfs-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "16e13b51986aaab075a69ad67bd0ebc6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17667, "upload_time": "2019-06-12T15:44:56", "url": "https://files.pythonhosted.org/packages/32/a3/a490f60659dbaaa2fc7457d4bf7ffefd3734571f47ae6b9f4832e3ad1436/aioipfs-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "830573c7d943f4bdcd4c2cbee8353240", "sha256": "ec3b1c84f226c35edd9d9b9af9f662911051046e0ce1ee0f278873b8e4655eff" }, "downloads": -1, "filename": "aioipfs-0.4.1.tar.gz", "has_sig": false, "md5_digest": "830573c7d943f4bdcd4c2cbee8353240", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21163, "upload_time": "2019-06-12T15:44:58", "url": "https://files.pythonhosted.org/packages/8e/1f/587ea66dfa7c90c226736b73c67b0c0f7bc6b9dccae43669168060506d2d/aioipfs-0.4.1.tar.gz" } ] }