uplink 0.1.1

Idiomatic and safe Rust binding for the Storj Lib Uplink
docs.rs failed to build uplink-0.1.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: uplink-0.11.0

Storj Uplink Library for Rust

Safe and idiomatic Rust crate library for the Storj Uplink Library.

Current status

This crate has implemented all the functionalities offered by the uplink-sys create and it's fully documented.

It has also several unit-tests but it lacks of integration tests (see Development plan and status section). Integration test would prove that it works as expected.

We consider its current status beta and we advice that it's NOT READY for production yet.

Implementation

This crate wraps the uplink-sys crate present in this same repository for offering an safe and idiomatic Rust Storj Uplink.

Development plan and status

General entities:

Edge entities:

Integration tests:

  • Access Grant.
    • Create.
    • Request an Access Grant with passphrase.
    • Parse one.
    • Share one.
    • Override an encryption key of a specific Bucket and prefix.
  • Project
    • Create a Bucket.
    • Try to create a Bucket which already exists.
    • Ensure a Bucket, an existing and non-existing one.
    • Stat a Bucket.
    • List Buckets.
    • Upload an Object.
    • Upload an Object with Custom Metadata.
    • Multipart upload.
    • Download an Object.
    • Stat an Object.
    • List Objects with and without System and Custom Metadata.
    • Move an object.
    • Delete an Object.
    • Delete an empty Bucket.
    • Delete a Bucket with objects.
  • Edge.
    • Join a share URL.
    • Register an Access Grant.

General:

  • Add a CI solution (Travis, Github actions, etc.) for running tests, linters on every PR and when something is merge into the main branch.
  • Add general documentation about the Storj network and its entities mimicking the original Go Uplink package.
  • Add some documentation about the crate design and implementation if the documentation of each module, types, functions, etc., aren't enough.