Compare commits

..

2 Commits

Author SHA1 Message Date
e8ae5fcb2c 🚀 chore(README.md): check off introducing thiserror for better errors in plan for next release
The plan for the next release has been updated to reflect that the [thiserror](https://docs.rs/thiserror/latest/thiserror/) library has been introduced to improve error handling.
2023-04-30 12:59:57 +02:00
6b82e523bd Add thiserror instead of exposing eyre anonymous errors
The change here is to make it easier for the consumer to debug the api.
Such that they can `match` on individual errors instead of having to
parse text.

eyre is convenient, but mostly from a consumers perspective
2023-04-30 12:57:50 +02:00

View File

@@ -1,7 +1,69 @@
# dagger-sdk
A dagger sdk written in rust
A dagger sdk written in rust for rust.
## Disclaimer:
## Plan for next release
Repository has moved to: https://github.com/dagger/dagger/tree/main/sdk/rust
- [x] Introduce [thiserror](https://docs.rs/thiserror/latest/thiserror/) for
better errors
- [x] Add compatibility with `dagger run`
- [ ] Add open telemetry tracing to the sdk
- [ ] Remove `id().await?` from passing to other dagger graphs, this should make
the design much cleaner
- [ ] Start MkBook on how to actually use the sdk
- [x] Update to newest upstream release
- [ ] Fix bugs
- [x] Run in conjunction with golang and other sdks
- [ ] Stabilize the initial `Arc<Query>` model into something more extensible
## Examples
See [examples](./crates/dagger-sdk/examples/)
Run them like so
```bash
cargo run --example first-pipeline
```
The examples match the folder name in each directory in examples
## Install
Simply install like:
```bash
cargo add dagger-sdk
```
### Usage
```rust
#[tokio::main]
async fn main() -> eyre::Result<()> {
let client = dagger_sdk::connect().await?;
let version = client
.container()
.from("golang:1.19")
.with_exec(vec!["go", "version"])
.stdout()
.await?;
println!("Hello from Dagger and {}", version.trim());
Ok(())
}
```
And run it like a normal application:
```bash
cargo run
```
### Contributing
See [CONTRIBUTING](./CONTRIBUTING.md)
or just cargo make codegen