6 releases (3 breaking)

0.4.1 Aug 6, 2020
0.4.0 Jul 20, 2020
0.3.0 Apr 8, 2020
0.2.0 Jan 15, 2020
0.1.1 Nov 18, 2019

#579 in Science

Apache-2.0

110KB
161 lines

Rust Pachyderm

Crates.io Docs Slack Status

Official Rust Pachyderm client. This library provides low-level (auto-generated) bindings to our gRPC services, with support for async/await thanks to tonic. It should work on rust stable 1.39+, as well as nightly/beta.

A Small Taste

Here's an example that creates a repo and adds a file:

//! This creates a PFS repo called `hello-world`

extern crate pachyderm;
extern crate tokio;
extern crate tonic;

use std::error::Error;

use pachyderm::pfs::{client::ApiClient as PfsClient, CreateRepoRequest, Repo};

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    let mut client = PfsClient::connect("http://localhost:30650").await?;

    let request = tonic::Request::new(CreateRepoRequest {
        repo: Some(Repo {
            name: "hello-world".into()
        }),
        description: "".into(),
        update: false
    });

    let response = client.create_repo(request).await?;

    println!("Response: {:?}", response);

    Ok(())
}

Examples

Contributing

This driver is co-maintained by Pachyderm and the community. If you're looking to contribute to the project, this is a fantastic place to get involved. Take a look at the contributing guide for more info.

Dependencies

~9MB
~150K SLoC