ipfsapi 0.4.4

Creator: railscoder56

Last updated:

Add to Cart

Description:

ipfsapi 0.4.4

py-ipfs-api





Deprecation Notice
Important: The ipfsapi PIP package and Python module have both been renamed to ipfshttpclient and this library has been converted into a thin wrapper around that other library. Only critical bug-fixes will be accepted for this package. Please see migration notes on the new package for details on how to proceed.
The remainder of this README remains as a historical curiousity and will not be updated anymore.
Table of Contents

Install
Usage
Documentation

Important changes from ipfsApi 0.2.x


Featured Projects
Contribute

IRC
Bug reports
Pull requests


License

Install
Install with pip:
pip install ipfsapi

Usage
Basic use-case (requires a running instance of IPFS daemon):
>>> import ipfsapi
>>> 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'

Administrative functions:
>>> 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='}

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


Add a directory and match against a filename pattern:
>>> api.add('photos', match='*.jpg')
[{'Hash': 'QmcqBstfu5AWpXUqbucwimmWdJbu89qqYmE3WXVktvaXhX',
'Name': 'photos/photo1.jpg'},
{'Hash': 'QmSbmgg7kYwkSNzGLvWELnw1KthvTAMszN5TNg3XQ799Fu',
'Name': 'photos/photo2.jpg'},
{'Hash': 'Qma6K85PJ8dN3qWjxgsDNaMjWjTNy8ygUWXH2kfoq9bVxH',
'Name': 'photos/photo3.jpg'}]

Or add a directory recursively:
>>> 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'}]

This module also contains some helper functions for adding strings and JSON to IPFS:
>>> lst = [1, 77, 'lol']
>>> client.add_json(lst)
'QmQ4R5cCUYBWiJpNL7mFe4LDrwD6qBr5Re17BoRAY9VNpd'
>>> client.get_json(_)
[1, 77, 'lol']

Documentation
Documentation (currently mostly API documentation unfortunately) is available on IPFS:
https://ipfs.io/ipns/QmZ86ow1byeyhNRJEatWxGPJKcnQKG7s51MtbHdxxUddTH/Software/Python/ipfsapi/
The ipfs command-line Client documentation may also be useful in some cases.
Important changes from ipfsApi 0.2.x

The Python package has been renamed from ipfsApi to ipfsapi
The PIP module has been renamed from ipfs-api to ipfsapi (please update your requirement files)
A lot of changes in the internal code

Commands have been completely removed
Usage of requests or other libraries is considered an implementation detail from now on


Most parts of the library (except for Client()) are now considered internal and may therefore break at any time
(reference)

We will try to keep breakage for these modules at a minimum
If you require stabilisation of some feature please open an issue with the feature in question and your preceived use-case


Raised exceptions have been completely changed and are now documented with guaranteed backwards compatibility
(reference)
The new ipfsapi.connect() function allows creating a Client instance, while also checking whether a compatible IPFS daemon instance is actually available
Methods in Client() now have parameters for options

Featured Projects
Projects that currently use py-ipfs-api. If your project isn't here, feel free to submit a PR to add it!

git-remote-ipfs allows users to push and pull git repositories from the IPFS network.
InterPlanetary Wayback interfaces web archive (WARC) files for distributed indexing and replay using IPFS.

Contribute
IRC
Join us on IRC at #ipfs on chat.freenode.net if you have any suggestions or questions,
or if you just want to discuss IPFS and python.
Bug reports
You can submit bug reports using the GitHub issue tracker.
Pull requests
Pull requests are welcome. Before submitting a new pull request, please
make sure that your code passes both the code formatting check:
$ tox -e codestyle

And the unit tests:
$ tox

You can arrange to run the code style tests automatically before each commit by
installing a pre-commit hook:
$ ./tools/pre-commit --install

Please make sure to include new unit tests for new features or changes in
behavior.
License
This code is distributed under the terms of the MIT license. Details can be found in the file
LICENSE in this repository.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.