Python-native language binding for storj-uplink-c tocommunicate with the Storj network.
Project description
uplink-python binding
Developed using v1.0.5 storj/uplink-c
Initial Set-up (Important)
NOTE: for Golang
Make sure your PATH
includes the $GOPATH/bin
directory, so that your commands can be easily used Refer: Install the Go Tools:
export PATH=$PATH:$GOPATH/bin
Depending on your operating system, you will need to install:
On Unix
- A proper C/C++ compiler toolchain, like GCC
On macOS
- Xcode : You also need to install the XCode Command Line Tools by running xcode-select --install. Alternatively, if you already have the full Xcode installed, you can find them under the menu Xcode -> Open Developer Tool -> More Developer Tools.... This step will install clang, clang++, and make.
On Windows
- Install Visual C++ Build Environment: Visual Studio Build Tools (using "Visual C++ build tools" workload) or Visual Studio 2017 Community (using the "Desktop development with C++" workload)
- Make sure you have access to
site-packages
folder inside the directory where python is installed. To do this navigate to the directory where python is installed, if you get an error "Permission Denied", follow the instruction in message box and allow access usingsecurity tab
.
Binding Set-up
Please ensure you have Python 3.x and pip installed on your system. If you have Python version 3.4 or later, pip is included by default. uplink-python does not support Python 2.x.
$ python get-pip.py
Option 1
Install uplink-python python package with --no-cache-dir
tag if re-installing or upgrading from previous version, otherwise tag can be ignored (using Terminal/Powershell/CMD as Administrator
):
$ pip install --no-cache-dir uplink-python
Option 2
Follow these steps to set-up binding manually or if libuplinkc.so
fails to build using Option 1.
Install uplink-python python package (using Terminal/Powershell/CMD) if not already done in Option 1
$ pip install uplink-python
Install storj-uplink-c go package, by running:
$ go get storj.io/uplink-c
-
After git cloning go package, using cmd/terminal, navigate to the
$HOME/go/src/storj.io/uplink-c
folder. -
Create '.so' file at
$HOME/go/src/storj.io/uplink-c
folder, by using following command:
$ go build -o libuplinkc.so -buildmode=c-shared
- Copy created libuplinkc.so file into the folder, where Python package was installed (python3.X
->
site-packages->
uplink_python)
Project Set-up
To include uplink in you project, import the library, by using following command:
from uplink_python.uplink import LibUplinkPy, c
Create an object of LibUplinkPy
class to access all the functions of library. Please refer the sample hello_storj.py file, for example.
variable_name = LibUplinkPy()
To use various structures such as ListBucketsOptions, ListObjectsOptions, Permissions, etc you would require to import them first from their respective classes i.e. uplink and exchange.
from uplink_python.exchange import DownloadOptions
from uplink_python.uplink import ListObjectsOptions, Permission
Sample Hello Storj!
File hello_storj.py can be found in folder where Python package was installed.
The sample hello_storj.py code calls the uplink.py file and imports the LibUplinkPy binding class to do the following:
- list all buckets in a Storj project
- create a new bucket (if it does not exist) within desired Storj project
- write a file from local computer to the a Storj bucket
- read back the object from the Storj bucket to local system for verification
- list all objects in a bucket
- delete bucket from a Storj project
- create shareable Access with permissions and shared prefix.
- list all buckets and objects with permission to shareable access.
Documentation
For more information on function definations and diagrams, check out the Detail or jump to:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.