pachyderm 0.4.1

The official Pachyderm Rust library
Documentation
# Rust Pachyderm

![Crates.io](https://img.shields.io/crates/v/pachyderm)
[![Docs](https://docs.rs/pachyderm/badge.svg)](https://docs.rs/pachyderm)
[![Slack Status](http://slack.pachyderm.io/badge.svg)](http://slack.pachyderm.io)

Official Rust Pachyderm client. This library provides low-level (auto-generated) bindings to our gRPC services, with support for async/await thanks to [tonic](https://github.com/hyperium/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:

```rust
//! 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

- [Hello World]https://github.com/pachyderm/rust-pachyderm/blob/master/examples/hello_world.rs: Creates a PFS repo called `hello-world`. To run: `cargo run --example hello_world`
- [OpenCV]https://github.com/pachyderm/rust-pachyderm/blob/master/examples/opencv.rs: This is the [canonical Pachyderm/OpenCV demo]https://github.com/pachyderm/pachyderm/tree/master/examples/opencv, ported to this library. To run `cargo run --example opencv`


## 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](./contributing.md) for more info.