Package: ipfsapi
py-ipfs-apiDeprecation NoticeImportant:TheipfsapiPIP package and Python module have both been renamed toipfshttpclientand this library has been converted into a thin wrapper around that other library. Only critical bug-fixes will be accepted for this package. Please seemigration notes on the new packagefor details on how to proceed.The remainder of this README remains as a historical curiousity and will not be updated anymore.Table of ContentsInstallUsageDocumentationImportant changes from ipfsApi 0.2.xFeatured ProjectsContributeIRCBug reportsPull requestsLicenseInstallInstall with pip:pipinstallipfsapiUsageBasic use-case (requires a running instance of IPFS daemon):>>>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'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']DocumentationDocumentation (currently mostly API documentation unfortunately) is available on IPFS:https://ipfs.io/ipns/QmZ86ow1byeyhNRJEatWxGPJKcnQKG7s51MtbHdxxUddTH/Software/Python/ipfsapi/Theipfscommand-line Client documentationmay also be useful in some cases.Important changes fromipfsApi 0.2.xThe Python package has been renamed fromipfsApitoipfsapiThe PIP module has been renamed fromipfs-apitoipfsapi(please update your requirement files)A lot of changes in the internal codeCommands have been completely removedUsage ofrequestsor other libraries is considered an implementation detail from now onMost parts of the library (except forClient()) are now considered internal and may therefore break at any time
(reference)We will try to keep breakage for these modules at a minimumIf you require stabilisation of some feature please open an issue with the feature in question and your preceived use-caseRaised exceptions have been completely changed and are now documented with guaranteed backwards compatibility
(reference)The newipfsapi.connect()function allows creating aClientinstance, while also checking whether a compatible IPFS daemon instance is actually availableMethods inClient()now have parameters for optionsFeatured ProjectsProjects that currently use py-ipfs-api. If your project isn't here, feel free to submit a PR to add it!git-remote-ipfsallows users to push and pull git repositories from the IPFS network.InterPlanetary Waybackinterfaces web archive (WARC) files for distributed indexing and replay using IPFS.ContributeIRCJoin us on IRC at#ipfsonchat.freenode.netif you have any suggestions or questions,
or if you just want to discuss IPFS and python.Bug reportsYou can submit bug reports using theGitHub issue tracker.Pull requestsPull requests are welcome.  Before submitting a new pull request, please
make sure that your code passes both thecode formattingcheck:$ tox -e codestyleAnd the unit tests:$ toxYou can arrange to run the code style tests automatically before each commit by
installing apre-commithook:$ ./tools/pre-commit --installPlease make sure to include new unit tests for new features or changes in
behavior.LicenseThis code is distributed under the terms of theMIT license.  Details can be found in the fileLICENSEin this repository.