用于python的ipfs api绑定
ipfs-api的Python项目详细描述
python的ipfs api绑定
查看ipfs和the api command reference以了解有关ipfs api的更多信息。
使用pip安装:
pip install ipfs-api
基本用例(需要ipfs守护进程的运行实例):
>>>importipfsApi>>>api=ipfsApi.Client('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.3.8-dev','ID':'QmS2C4MjZsv2iP1UDMMLCYqJ4WeJw8n3vXx1VKxW1UbqHS','ProtocolVersion':'ipfs/0.1.0','PublicKey':'CAASpgIwgg ... 3FcjAgMBAAE='}
传入API选项:
>>>api.pin_ls(opts={'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甚至python对象:
>>>lst=[1,77,'lol']>>>api.add_pyobj(lst)'QmRFqz1ABQtbMBDfjpMubTaginvpVnf58Y87gheRzGfe4i'>>>api.get_pyobj(_)[1,77,'lol']
如何贡献
irc
如果您有任何建议或问题,请在#ipfs的chat.freenode.net上加入我们的IRC, 或者你只是想讨论ipfs和python。
错误报告
您可以使用GitHub issue tracker提交错误报告。
拉取请求
欢迎拉取请求。在提交新的请求之前,请 确保您的代码通过了pep8格式检查:
$ tox -e pep8
单元测试:
$ tox
您可以安排在每次提交之前自动运行pep8测试 安装pre-commithook:
$ ./tools/pre-commit --install
请确保在 行为。
许可证
这段代码是根据MIT license的条款发布的。详细信息可在文件中找到 LICENSE.txt在这个存储库中。