crynamo
Version, currently 0.1.12 versions
- 0.1.1latestDec 31, 2017
- 0.1.0not indexedJul 5, 2020
github.com/timkendall/crynamo
Simple DynamoDB client.
15 stars
0 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
crynamo:
github: timkendall/crynamo
version: ~> 0.1.1Then run:
shards installshard.yml
- Crystal
0.24.1- License
- MIT
- Author
- <timkendall18@gmail.com>
Dependencies
Runtime Dependencies
- awscr-signer~> 0.4.0github: taylorfinnell/awscr-signer
Development Dependencies
- webmock~> 0.9.3github: manastech/webmock.crdev
README
# Crynamo
[](https://travis-ci.org/timkendall/crynamo)
[](https://github.com/timkendall/crynamo/releases)
Crynamo is a simple interface to [Amazon's DynamoDB](https://aws.amazon.com/dynamodb/) written in Crystal. Right now it is a fairly low-level wrapper that provides type marshalling between your Crystal program and DynamoDB.
## Installation
Add this to your application's `shard.yml`:
```yaml
dependencies:
crynamo:
github: timkendall/crynamo
version: ~> 0.1.1
```
## Usage
1. [Configuration](#Configuration)
1. [Client](#Client)
### Configuration
```crystal
require "crynamo"
config = Crynamo::Configuration.new(
access_key_id: "aws-access-key",
secret_access_key: "aws-secret-key",
region: "us-east-1",
endpoint: "http://localhost:8000",
)
dynamodb = Crynamo::Client.new(config)
```
### Client
Crynamo exposes `Crynamo::Client` as a basic DynamoDB client. The client's API is low-level and mimics the base [DynamoDB Low-Level HTTP API](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.LowLevelAPI.html).
```crystal
# Get an item
dynamodb.get!("pets", { name: "Doobie" })
# Insert an item
dynamodb.put!("pets", { name: "Thor", lifespan: 100 })
# Remove an item
dynamodb.delete!("pets", { name: "Doobie" })
```
## Development
1. Follow the instructions here to setup [Local DynamoDB](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html)
1. Install Crystal deps with `shards install`
1. Use [icr](https://github.com/crystal-community/icr) to play with things
## Tip
It's useful to define a bash command for launching DynamoDB. Add this to your `.bash_profile` to start DynamoDB with a simple `dynamodb` command.
```bash
dynamodb() {
cd /path/to/dynamodb
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
}
```
## Contributing
1. Fork it ( https://github.com/[your-github-name]/crynamo/fork )
2. Create your feature branch (git checkout -b my-new-feature)
3. Commit your changes (git commit -am 'Add some feature')
4. Push to the branch (git push origin my-new-feature)
5. Create a new Pull Request
## Contributors
- [timkendall](https://github.com/timkendall) - creator, maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.1.1- Tagged
- Dec 31, 2017
- Commit
221c50a5c721- Crystal
0.24.1- Indexed
- yes
Dependents
No indexed shard depends on this one yet.
Repository
github.com/timkendall/crynamo
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 13, 2026
- Synced
- Aug 13, 2026
- Versions
- 2