异步ipfs客户端库
aioipfs的Python项目详细描述
info: | Asynchronous IPFS client library |
---|
aioipfs是一个python3库,为IPFS,
安装
pip install aioipfs
用法示例
获取IPFS资源
importsysimportasyncioimportaioipfsasyncdefget(ipfshash):client=aioipfs.AsyncIPFS()awaitclient.get(ipfshash,dstdir='.')awaitclient.close()loop=asyncio.get_event_loop()loop.run_until_complete(get(sys.argv[1]))loop.close()
添加一些文件
此示例将导入命令中指定的所有文件和目录 行。注意,addapi函数是一个异步生成器,并且 因此需要与async一起用于语法。
importsysimportasyncioimportaioipfsasyncdefadd_files(files):client=aioipfs.AsyncIPFS()asyncforadded_fileinclient.add(*files,recursive=True):print('Imported file {0}, CID: {1}'.format(added_file['Name'],added_file['Hash']))awaitclient.close()loop=asyncio.get_event_loop()loop.run_until_complete(add_files(sys.argv[1:]))loop.close()
公共服务
asyncdefpubsub_serve(topic):asyncwithaioipfs.AsyncIPFS()ascli:asyncformessageincli.pubsub.sub(topic):print('Received message from',message['from'])awaitcli.pubsub.pub(topic,message['data'])
功能
异步文件写入get操作
aiofiles库用于异步写入从 使用/api/v0/getapi调用时的ipfs守护进程,以避免阻塞 事件循环。tar提取在asyncio的线程池中完成。
要求
- python>;=3.5.3
- async-generator
- aiohttp
- aiofiles
- yarl
许可证
aioipfs根据GNU Lesser GPL3(LGPL3)许可证提供。