python ipfs api客户端库

ipfsapi的Python项目详细描述


py ipfs api

standard-readme compliant

Python IPFS HTTP Client Library

折旧通知

重要信息:已将ipfsapipip包和python模块重命名为ipfshttpclient,并且此库已转换为另一个库周围的薄包装。此软件包只接受关键的错误修复。有关如何继续的详细信息,请参见migration notes on the new package

此自述文件的其余部分将作为历史珍品保留,不再更新。

目录

安装

使用pip安装:

pip install ipfsapi

用法

基本用例(需要ipfs守护进程的运行实例):

>>>importipfsapi>>>api=ipfsapi.connect('127.0.0.1',5001)>>>res=api.add('test.txt')>>>res{'Hash':'QmWxS5aNTFEc9XbMX1ASvLET1zrqEaTssqt33rVZQCQb22','Name':'test.txt'}>>>api.cat(res['Hash'])'fdsafkljdskafjaksdjf\n'

管理功能:

>>>api.id(){'Addresses':['/ip4/127.0.0.1/tcp/4001/ipfs/QmS2C4MjZsv2iP1UDMMLCYqJ4WeJw8n3vXx1VKxW1UbqHS','/ip6/::1/tcp/4001/ipfs/QmS2C4MjZsv2iP1UDMMLCYqJ4WeJw8n3vXx1VKxW1UbqHS'],'AgentVersion':'go-ipfs/0.4.10','ID':'QmS2C4MjZsv2iP1UDMMLCYqJ4WeJw8n3vXx1VKxW1UbqHS','ProtocolVersion':'ipfs/0.1.0','PublicKey':'CAASpgIwgg ... 3FcjAgMBAAE='}

传入API选项:

>>>api.pin_ls(type='all'){'Keys':{'QmNMELyizsfFdNZW3yKTi1SE2pErifwDTXx6vvQBfwcJbU':{'Count':1,'Type':'indirect'},'QmNQ1h6o1xJARvYzwmySPsuv9L5XfzS4WTvJSTAWwYRSd8':{'Count':1,'Type':'indirect'},

添加目录并与文件名模式匹配:

>>>api.add('photos',match='*.jpg')[{'Hash':'QmcqBstfu5AWpXUqbucwimmWdJbu89qqYmE3WXVktvaXhX','Name':'photos/photo1.jpg'},{'Hash':'QmSbmgg7kYwkSNzGLvWELnw1KthvTAMszN5TNg3XQ799Fu','Name':'photos/photo2.jpg'},{'Hash':'Qma6K85PJ8dN3qWjxgsDNaMjWjTNy8ygUWXH2kfoq9bVxH','Name':'photos/photo3.jpg'}]

或者递归地添加目录:

>>>api.add('fake_dir',recursive=True)[{'Hash':'QmQcCtMgLVwvMQGu6mvsRYLjwqrZJcYtH4mboM9urWW9vX','Name':'fake_dir/fsdfgh'},{'Hash':'QmNuvmuFeeWWpxjCQwLkHshr8iqhGLWXFzSGzafBeawTTZ','Name':'fake_dir/test2/llllg'},{'Hash':'QmX1dd5DtkgoiYRKaPQPTCtXArUu4jEZ62rJBUcd5WhxAZ','Name':'fake_dir/test2'},{'Hash':'Qmenzb5J4fR9c69BbpbBhPTSp2Snjthu2hKPWGPPJUHb9M','Name':'fake_dir'}]

该模块还包含一些帮助函数,用于向ipfs添加字符串和json:

>>>lst=[1,77,'lol']>>>client.add_json(lst)'QmQ4R5cCUYBWiJpNL7mFe4LDrwD6qBr5Re17BoRAY9VNpd'>>>client.get_json(_)[1,77,'lol']

文档

文档(目前主要是api文档,不幸的是)可在ipfs上获得:

https://ipfs.io/ipns/QmZ86ow1byeyhNRJEatWxGPJKcnQKG7s51MtbHdxxUddTH/Software/Python/ipfsapi/

在某些情况下,ipfscommand-line Client documentation也可能有用。

来自ipfsApi 0.2.x

的重要变化
  • python包已从ipfsApi重命名为ipfsapi
  • pip模块已从ipfs-api重命名为ipfsapi(请更新您的需求文件)
  • 内部代码有很多变化
    • 命令已完全删除
    • 从现在起,使用requests或其他库被视为实现细节
  • 库的大多数部分(除了Client())现在被认为是内部的,因此可能随时中断 (reference
    • 我们将尽量使这些模块的破损率保持在最小值
    • 如果您需要某些功能的稳定性,请打开有关功能的问题和您以前的用例
  • 引发的异常已完全更改,现在已记录下来,并保证向后兼容 (reference
  • 新的ipfsapi.connect()函数允许创建一个Client实例,同时还检查兼容的ipfs守护进程实例是否实际可用
  • Client()中的方法现在具有选项的参数

特色项目

当前使用py ipfs api的项目。如果你的项目不在这里,请随时提交一个公关添加它!

  • git-remote-ipfs允许用户从ipfs网络推送和拉取git存储库。
  • ^ {A21}接口使用IPFS进行分布式索引和重放的Web存档(WARC)文件。

贡献

IRC

如果您有任何建议或问题,请在#ipfschat.freenode.net加入我们的IRC, 或者你只是想讨论ipfs和python。

错误报告

您可以使用GitHub issue tracker提交错误报告。

拉取请求

欢迎拉取请求。在提交新的请求之前,请 确保您的代码通过了code formatting检查:

$ tox -e codestyle

单元测试:

$ tox

您可以安排在每次提交之前自动运行代码样式测试 安装一个pre-commit挂钩:

$ ./tools/pre-commit --install

请确保在 行为。

许可证

这段代码是根据MIT license的条款发布的。详细信息可在文件中找到 LICENSE在这个存储库中。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用MongoDB进行java漏斗分析?   java如何重构此代码以仅执行一次方法logViolation(),并在单个字符串中获取字符串变量(speedType)的所有值   java如何将方向向量转换为角度?   Java中json文件中的股票价格   java有没有一种方法可以查看网站中的哪些资源加载了selenium?   java文件定位器可以指向不同文件服务器上的目录吗?   java GWT等待SetVisibleRange和ClearData完成   macos Java Applet无法在Mac OS下接收鼠标输入   java BottomNavigationView不支持单次单击必须单击两次   MS SQL Server 2012中的java:我的数据库名称是J.3.0.0\u DEV我无法在Oracle SQL Developer IDE中连接它?   java对JFileChooser的修改,只显示文件夹内容   java如何将动态对象查询更改为criteria builder或更好的性能   java中的swing新字体类型   java Hibernate。删除未使用的条目   上载CSV文件并将其转换为Java模型对象   java如何将信息添加到库的日志消息中?   JavaEclipseGit:使用egit从另一个分支、标记或引用打开版本   使用Firebase控制台消息的java开放视频