{ "info": { "author": "Pisuth D.", "author_email": "pisuth.dae@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# NuCypher IPFS\n\nThis Python SDK allows python developer experiment NuCypher network to securely upload and download your files to IPFS.\n\n## Installation\n\ninstall with pip:\n```\npip install nucypher-ipfs \n```\nIf runs into connect module issue, it may cause of duplicate dependencies, fix by\n```\npip uninstall ipfs-api ipfsapi\npip install ipfsapi\n```\n\n## Usage\n\nTo use this, you must first import it and specify host name and port of a runnning instance of Ursula:\n\n```\n>>> import nucypher_ipfs\n\n>>> client = nucypher_ipfs.connect_ursula(\"https://localhost:9151\")\n```\n\nThis current version connects to public IPFS gateway of Infura through API thus no need to setup additional IPFS host.\n\nNow that you have a client instance, you can make requests and process responses from the service. To begin we apparently need to get a public key of our recipient or we can generate a new one from following:\n\n```\n>>> recipient_privkeys, recipient_pubkeys = client.generate_recipient_keys()\n```\n\nPolicy public keys will be required for the data owner to encrypt the data that belongs to the policy:\n```\n>>> policy_pubkey = client.generate_owner_policy_public_key(max_days=5)\n```\n\nSpecify the file to be uploaded to IPFS network, the hash of our encrypted file will be returned when it finish. \n\n```\n>>> filename = \"test.txt\"\n\n>>> receipt = client.uploadFile(filename=filename , policy_pubkey=policy_pubkey)\n{'data_source_public_key': ..., 'hash_key': 'Qmd9RNRiyT6SUMPpxWJoRmZMVGEEMcBaPRKY6EdUGTvaLk'}\n```\n\nWe can then take a look to our encrypted data by opening:\n\n```\nhttps://gateway.ipfs.io/ipfs/\n```\n\nA recipient can be deligated by provide their public key:\n\n```\n>>> policy_info = client.authorize(recipient_pubkeys=recipient_pubkeys, max_days=5)\n```\n\nOnce eveything is ready, the recipient can now able to decrypt the file and download to the local machine:\n\n```\n>>> client.downloadFile(downloadFilename=\"downloadFile.txt\",\n recipient_privkeys=recipient_privkeys, \n receipt=receipt, \n policy_info=policy_info)\n```\n\n## Documentation\n\nMore detailed information on NuCypher:\n\nhttps://github.com/nucypher/nucypher\n\n\n## License\n\nThis code is distributed under the terms of the [MIT license](https://opensource.org/licenses/MIT). Details can be found in the file\n[LICENSE](LICENSE) in this repository.\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pisuthd/nucypher-ipfs", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "nucypher-ipfs", "package_url": "https://pypi.org/project/nucypher-ipfs/", "platform": "", "project_url": "https://pypi.org/project/nucypher-ipfs/", "project_urls": { "Homepage": "https://github.com/pisuthd/nucypher-ipfs" }, "release_url": "https://pypi.org/project/nucypher-ipfs/0.0.5/", "requires_dist": [ "ipfsapi", "nucypher", "Faker" ], "requires_python": "", "summary": "Python SDK allows python developers to securely upload and download a file to IPFS, end-to-end encrypting data with keys from NuCypher network", "version": "0.0.5" }, "last_serial": 5206925, "releases": { "0.0.5": [ { "comment_text": "", "digests": { "md5": "30dc83a6698bb63d6f6712465c23524a", "sha256": "aac4501dc982295282b9da45776e436c9242d166614fd1017b53fc4f31b1e573" }, "downloads": -1, "filename": "nucypher_ipfs-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "30dc83a6698bb63d6f6712465c23524a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5368, "upload_time": "2019-04-30T08:00:26", "url": "https://files.pythonhosted.org/packages/dd/51/a658d6dd961d4f17a556dcb1413bda5346a4e7c80b7db50adc40f83f221c/nucypher_ipfs-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0ede99acfe518d4680d9f5258df6a1b", "sha256": "e6c1b8624434e14a9c7e761828378146e7b322f0e3b0975a44bc1f1b347113c4" }, "downloads": -1, "filename": "nucypher-ipfs-0.0.5.tar.gz", "has_sig": false, "md5_digest": "a0ede99acfe518d4680d9f5258df6a1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4132, "upload_time": "2019-04-30T08:00:31", "url": "https://files.pythonhosted.org/packages/07/20/b8358f602234bf0f2f5800930ef95960968b3cfd6a6d4347af3fc76cb073/nucypher-ipfs-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "30dc83a6698bb63d6f6712465c23524a", "sha256": "aac4501dc982295282b9da45776e436c9242d166614fd1017b53fc4f31b1e573" }, "downloads": -1, "filename": "nucypher_ipfs-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "30dc83a6698bb63d6f6712465c23524a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5368, "upload_time": "2019-04-30T08:00:26", "url": "https://files.pythonhosted.org/packages/dd/51/a658d6dd961d4f17a556dcb1413bda5346a4e7c80b7db50adc40f83f221c/nucypher_ipfs-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0ede99acfe518d4680d9f5258df6a1b", "sha256": "e6c1b8624434e14a9c7e761828378146e7b322f0e3b0975a44bc1f1b347113c4" }, "downloads": -1, "filename": "nucypher-ipfs-0.0.5.tar.gz", "has_sig": false, "md5_digest": "a0ede99acfe518d4680d9f5258df6a1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4132, "upload_time": "2019-04-30T08:00:31", "url": "https://files.pythonhosted.org/packages/07/20/b8358f602234bf0f2f5800930ef95960968b3cfd6a6d4347af3fc76cb073/nucypher-ipfs-0.0.5.tar.gz" } ] }