跳转到主要内容

异步IPFS客户端库(Privex分支)

项目描述

info:

异步IPFS客户端库

aioipfs是一个提供异步API的python3库,用于IPFS。支持的Python版本:3.63.73.83.9

注意:这是一个由@pinnaculum(原名cipres)创建的原始版本的独立分支。此分支由Privex Inc.(主要由@someguy123)维护——一个伯利兹服务器托管+科技公司。

https://github.com/pinnaculum/aioipfs/workflows/aioipfs-build/badge.svg

安装

pip3 install privex-aioipfs
# Or if you use pipenv
pipenv install privex-aioipfs

使用示例

获取一个IPFS资源

import sys
import asyncio

import aioipfs

async def get(ipfshash):
    client = aioipfs.AsyncIPFS()
    await client.get(ipfshash, dstdir='.')
    await client.close()

loop = asyncio.get_event_loop()
loop.run_until_complete(get(sys.argv[1]))
loop.close()

添加一些文件

此示例将导入命令行上指定的所有文件和目录。请注意,add API函数是一个异步生成器,因此需要使用async for语法。

import sys
import asyncio

import aioipfs

async def add_files(files):
    client = aioipfs.AsyncIPFS()

    async for added_file in client.add(*files, recursive=True):
        print('Imported file {0}, CID: {1}'.format(
            added_file['Name'], added_file['Hash']))

    await client.close()

loop = asyncio.get_event_loop()
loop.run_until_complete(add_files(sys.argv[1:]))
loop.close()

pubsub服务

async def pubsub_serve(topic):
    async with aioipfs.AsyncIPFS() as cli:
        async for message in cli.pubsub.sub(topic):
            print('Received message from', message['from'])
            await cli.pubsub.pub(topic, message['data'])

功能

获取操作中的异步文件写入

使用/api/v0/get API调用时,使用库异步写入从IPFS守护进程检索的数据,以避免阻塞事件循环。TAR提取在asyncio的threadpool中完成。

要求

许可证

aioipfs 是在GNU Lesser GPL3(LGPL3)许可下提供的。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

privex_aioipfs-0.5.8.tar.gz (26.7 kB 查看哈希)

上传时间 源代码

编译分发

privex_aioipfs-0.5.8-py3-none-any.whl (30.3 kB 查看哈希)

上传时间 Python 3

支持