Skip to content

softprops/dynomite

Repository files navigation

dynomite Build Status Coverage Status Software License crates.io Released API docs Master API docs

dynomite makes rusoto_dynamodb fit your types (and visa versa)

Overview

Goals

  • ⚡ make writing dynamodb applications in rust a productive experience
  • 🦀 exploit rust's type safety features
  • 👩‍💻 leverage existing work of the rusoto rust project
  • ☔ commitment to supporting applications built using stable rust
  • 📚 commitment to documentation

Please see API documentation for how to get started

📦 Install

In your Cargo.toml file, add the following under the [dependencies] heading

dynomite = "0.1"

Optionally, you can install a companion crate which allows you to derive dynomite types for your structs at compile time (recommended)

dynomite-derive = "0.1"

🤸 Examples

You can find some example application code under dynomite-derive/examples

Dynamodb local

AWS provides a convient way to host a local instance of DynamoDB for testing.

Here is a short example of how to get up a testing locally quickly with both dynomite as well as rusoto_dynamodb.

In one terminal spin up a Docker container for DynamoDB local listening on port 8000

$ docker run --rm -p 8000:8000 amazon/dynamodb-local

In another, run a rust binary with a client initialized like you see the the local.rs example

🚧 Planned work

  • retryable extensions to rusto's client based on retryable errors
  • derive Attribute for enum types allowing for dynamodb items to have enumerable values

🤔 Alternatives

The korat crate was the the original inspiration for this crate. It's focus is very similar but fell short on a few accounts. It does not work on stable rust and it's api is not documented. Dynomite intends to build on similar features as well as build out others.

Doug Tangren (softprops) 2018

About

⚡🦀 🧨 make your rust types fit DynamoDB and visa versa

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages