{ "info": { "author": "Utropicmedia", "author_email": "development@utropicmedia.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Software Development :: Build Tools" ], "description": "# storj-python binding\n\n## Initial Set-up\n\n**NOTE**: for Golang\n\nMake sure your `PATH` includes the `$GOPATH/bin` directory, so that your commands can be easily used [Refer: Install the Go Tools](https://golang.org/doc/install):\n```\nexport PATH=$PATH:$GOPATH/bin\n```\n\nInstall [storj-uplink](https://godoc.org/storj.io/storj/lib/uplink) go package, by running:\n```\n$ go get storj.io/storj/lib/uplink\n```\n\n**NOTE**: for Python \n\nPlease ensure [pip](https://pypi.org/project/pip/) is installed on your system. If you have Python version 3.4 or later, pip is included by default.\n```\n$ python get-pip.py\n```\n\nInstall [storjPython](https://pypi.org/project/storjPython/) python package, by running:\n```\n$ pip install storjPython\n```\n\n## Set-up Files\n\n* After git cloning go package, using cmd/terminal, navigate to the ```$HOME/go/src/storj.io/storj/lib/uplinkc``` folder.\n\n* Create '.so' file at ```$HOME/go/src/storj.io/storj/lib/uplinkc``` folder, by using following command:\n```\n$ go build -o libuplinkc.so -buildmode=c-shared \n```\n\n* Copy *libuplinkc.so* file into the folder, where Python package was installed\n\n* To include uplinkPython in you project, import the library, by using following command:\n```\nfrom storjPython.uplinkPython import *\n```\n* Create an object of ```libUplinkPy``` class to access all the functions of library. Please refer the sample *HelloStorj.py* file, for example.\n```\nvariable_name = libUplinkPy()\n```\n\n## Sample Hello Storj!\n\nFile *helloStorj.py* can be found in folder where Python package was installed.\n\nThe sample *helloStorj.py* code calls the *uplinkPython.py* file and imports the *libUplinkPy* binding class to do the following:\n* list all buckets in a Storj project\n* create a new bucket (if it does not exist) within desired Storj project\n* write a file from local computer to the a Storj bucket\n* read back the object from the Storj bucket to local system for verification\n* list all objects in a bucket\n* delete object from a bucket\n* delete bucket from a Storj project\n\n\n## Storj-Python Binding Functions\n\n**NOTE**: Every function consists of error response. Please use it, to check if the function call was successful or not. In case, if it is not *None*, then you may also show the error's text. Please refer the sample *HelloStorj.py* file, for example.\n\n\n### new_uplink()\n * function to create new Storj uplink\n * pre-requisites: None\n * inputs: None\n * outputs: Uplink Handle (long), Error (string) if any else None\n\n### close_uplink(long)\n * function to close currently opened uplink\n * pre-requisites: new_uplink() function has been already called\n * inputs: Uplink Handle (long)\n * outputs: Error (string) if any else None\n\n### parse_api_key(string)\n * function to parse API key, to be used by Storj\n * pre-requisites: None\n * inputs: API key (string)\n * outputs: Parse Api Key Handle (long), Error (string) if any else None\n\n### open_project(long, long, string)\n * function to open a Storj project\n * pre-requisites: new_uplink() and parse_api_key() functions have been already called\n * inputs: Uplink Handle (long), Api Key Parsed Handle (long), Satellite Address (string)\n * outputs: Project Handle (long), Error (string) if any else None\n\n### close_project(long)\n * function to close currently opened Storj project\n * pre-requisites: open_project() function has been already called\n * inputs: Project Handle (long)\n * outputs: Error (string) if any else None\n\n### create_bucket(long, string, obj)\n * function to create new bucket in Storj project\n * pre-requisites: open_project() function has been already called\n\t* inputs: Project Handle (long), Bucket Name (string), Bucket Config (obj) \n * outputs: Bucket Info Handle (long), Error (string) if any else None\n * **Note:** To set Bucket Config Refer: [BucketConfig](https://godoc.org/storj.io/storj/lib/uplink#BucketConfig)\n\n### get_encryption_access(long, string)\n * function to get encryption access to upload and/or download data to/from Storj\n * pre-requisites: open_project() function has been already called\n * inputs: Project Handle (long), Encryption Pass Phrase (string)\n * outputs: Serialized Encryption Access (char Ptr), Error (string) if any else None\n\n### open_bucket(long, charPtr, string)\n * function to open an already existing bucket in Storj project\n * pre-requisites: get_encryption_access() function has been already called\n * inputs: Project Handle (long), Serialized Encryption Access (char Ptr), Bucket Name (string)\n * outputs: Bucket Handle (long), Error (string) if any else None\n * **Note:** The data passed to function should be a ctypes char pointer received from get_encryption_access(). (Please refer the sample helloStorj.py file, for example.)\n\n### close_bucket(long)\n * function to close currently opened Bucket\n * pre-requisites: open_bucket() function has been already called\n * inputs: Bucket Handle (long)\n * outputs: Error (string) if any else None\n\n### delete_bucket(long, string)\n * function to delete a bucket (if bucket contains any Objects at time of deletion, they may be lost permanently)\n * pre-requisites: open_project() function has been already called, successfully\n * inputs: Storj Project Handle (long), Bucket Name (string)\n * output: Error (string) if any else None\n\n### list_buckets(long, obj)\n * function to list all the buckets in a Storj project\n * pre-requisites: open_project() function has been already called\n * inputs: Project Handle (long), Bucket List Options (obj)\n * output: Bucket List (obj), Error (string) if any else None\n * **Note:** To set Bucket List Options Refer: [BucketListOptions](https://godoc.org/storj.io/storj/pkg/storj#BucketListOptions)\n\n### free_bucket_list(obj)\n * function to free Bucket List pointer\n * pre-requisites: list_bucket() function has been already called\n * inputs: Bucket List (obj)\n * output: Error (string) if any else None\n\n### delete_object(long, string)\n * function to delete an object in a bucket\n * pre-requisites: open_bucket() function has been already called, successfully\n * inputs: Bucket Handle (long), Object Path (string)\n * output: Error (string) if any else None\n\n### list_objects(long, obj)\n * function to list all the objects in a bucket\n * pre-requisites: open_project() function has been already called\n * inputs: Bucket Handle (long), List Options (obj)\n * output: Bucket List (obj), Error (string) if any else None\n * **Note:** To set List Options Refer: [ListOptions](https://godoc.org/storj.io/storj/pkg/storj#BucketListOptions)\n\n### free_list_objects(obj)\n * function to free Object List pointer\n * pre-requisites: list_objects() function has been already called\n * inputs: Object List (obj)\n * output: Error (string) if any else None\n\n### upload(long, string, obj)\n\t* function to get uploader handle used to upload data to Storj (V3) bucket's path\n * pre-requisites: open_bucket() function has been already called\n * inputs: Bucket Handle (long), Storj Path/File Name (string) within the opened bucket, Upload Options (obj)\n * output: Uploader Handle (long), Error (string) if any else None\n * **Note:** To set Upload Options Refer: [UploadOptions](https://godoc.org/storj.io/storj/lib/uplink#Bucket)\n\n### upload_write(long, LP_c_ubyte, int)\n\t* function to write data to Storj (V3) bucket's path\n * pre-requisites: upload() function has been already called\n * inputs: Bucket Handle (long), Data to upload (LP_c_ubyte), Size of data to upload (int)\n * output: Size of data uploaded (long), Error (string) if any else None\n * **Note:** The Data to upload (LP_c_ubyte) passed to function should be a ctypes char or uint8 pointer only. (Please refer the sample helloStorj.py file, for example.)\n\n### upload_commit(long)\n\t* function to commit and finalize file for uploaded data to Storj (V3) bucket's path\n * pre-requisites: upload() function has been already called\n * inputs: Bucket Handle (long)\n * output: Error (string) if any else None\n\n### download(long, string)\n * function to get downloader handle to download Storj (V3) object's data and store it on local computer\n * pre-requisites: open_bucket() function has been already called\n * inputs: Bucket Handle (long), Storj Path/File Name (string) within the opened bucket\n * output: Downloader Handle (long), Error (string) if any else None\n\n### download_read(long, int)\n * function to read Storj (V3) object's data and return the data\n * pre-requisites: download() function has been already called\n * inputs: Bucket Handle (long), Length of data to download (int)\n * output: Data downloaded (LP_c_ubyte), Size of data downloaded (int), Error (string) if any else None\n\n### download_close(long)\n * function to close downloader after completing the data read process\n * pre-requisites: download() function has been already called\n * inputs: Downloader Handle (long)\n * output: Error (string) if any else None\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/utropicmedia/storj-python", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "storjPython", "package_url": "https://pypi.org/project/storjPython/", "platform": "", "project_url": "https://pypi.org/project/storjPython/", "project_urls": { "Homepage": "https://github.com/utropicmedia/storj-python" }, "release_url": "https://pypi.org/project/storjPython/0.9/", "requires_dist": null, "requires_python": "", "summary": "Python-native language binding for libuplink to communicate with the Storj network.", "version": "0.9" }, "last_serial": 5879831, "releases": { "0.8": [ { "comment_text": "", "digests": { "md5": "cf61da9b960687b6b73cf57c29c06a12", "sha256": "710f3f776450f532dc79bde76dbb16cf5d46dd5046c39869899e5ac514061c5c" }, "downloads": -1, "filename": "storjPython-0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "cf61da9b960687b6b73cf57c29c06a12", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16926, "upload_time": "2019-09-17T12:47:57", "url": "https://files.pythonhosted.org/packages/98/7f/6a791e38e8f66afe045db0330853d0593fe73a501008a2e3cfc41486b420/storjPython-0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e7a2f4a76548d4126999d002faab4eb0", "sha256": "b821b82f1449bf644b7127b19584daf2eabb3015e2a4be962d4671a0e73b9490" }, "downloads": -1, "filename": "storjPython-0.8.tar.gz", "has_sig": false, "md5_digest": "e7a2f4a76548d4126999d002faab4eb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9263, "upload_time": "2019-09-17T12:47:59", "url": "https://files.pythonhosted.org/packages/61/ef/94777d5fbee5e4fab840bf30015b13b303e0a70019b661d851ce42364c31/storjPython-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "babaf4cd0511078c4b18c39675269e0e", "sha256": "1b6ed55e08124ee412c7a0abbd871e0d2d18e8638f821078530a6701596e24e0" }, "downloads": -1, "filename": "storjPython-0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "babaf4cd0511078c4b18c39675269e0e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19606, "upload_time": "2019-09-24T13:44:20", "url": "https://files.pythonhosted.org/packages/98/b7/ca9f40cb404ccc94d827b0822cbe47d4f41de572291c253bcb27851644da/storjPython-0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e078ac98087a3b817f48f5919cf12713", "sha256": "6e251b42ad4c9165ead898d5850344e11c9aa3387f66de5b7221bb2c849eb2db" }, "downloads": -1, "filename": "storjPython-0.9.tar.gz", "has_sig": false, "md5_digest": "e078ac98087a3b817f48f5919cf12713", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12532, "upload_time": "2019-09-24T13:44:22", "url": "https://files.pythonhosted.org/packages/2c/8c/86619037c8114e833894653a51782f6e882ce048d9bc37d3e827b2f29aff/storjPython-0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "babaf4cd0511078c4b18c39675269e0e", "sha256": "1b6ed55e08124ee412c7a0abbd871e0d2d18e8638f821078530a6701596e24e0" }, "downloads": -1, "filename": "storjPython-0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "babaf4cd0511078c4b18c39675269e0e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19606, "upload_time": "2019-09-24T13:44:20", "url": "https://files.pythonhosted.org/packages/98/b7/ca9f40cb404ccc94d827b0822cbe47d4f41de572291c253bcb27851644da/storjPython-0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e078ac98087a3b817f48f5919cf12713", "sha256": "6e251b42ad4c9165ead898d5850344e11c9aa3387f66de5b7221bb2c849eb2db" }, "downloads": -1, "filename": "storjPython-0.9.tar.gz", "has_sig": false, "md5_digest": "e078ac98087a3b817f48f5919cf12713", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12532, "upload_time": "2019-09-24T13:44:22", "url": "https://files.pythonhosted.org/packages/2c/8c/86619037c8114e833894653a51782f6e882ce048d9bc37d3e827b2f29aff/storjPython-0.9.tar.gz" } ] }