https://github.com/realfakenerd/mizzle
A drizzle like ORM for DynamoDB
https://github.com/realfakenerd/mizzle
amazon aws dynamodb mizzle nosql orm
Last synced: 6 days ago
JSON representation
A drizzle like ORM for DynamoDB
- Host: GitHub
- URL: https://github.com/realfakenerd/mizzle
- Owner: realfakenerd
- License: mit
- Created: 2025-12-15T17:20:09.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-03-07T19:46:09.000Z (4 months ago)
- Last Synced: 2026-03-08T01:16:50.600Z (4 months ago)
- Topics: amazon, aws, dynamodb, mizzle, nosql, orm
- Language: TypeScript
- Homepage: https://mizzle-docs.vercel.app
- Size: 36.4 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🌧️ mizzle


**Mizzle** is a light and _type-safe_ ORM for **DynamoDB** built with TypeScript. It is designed to provide a "Drizzle-like" developer experience, simplifying your interactions with DynamoDB through a fluid, intuitive API while handling the complexities of Single-Table Design.
## Vision
Mizzle aims to minimize boilerplate and maximize developer velocity. It abstracts away the raw DynamoDB JSON structures and key management, allowing you to define your data models using familiar TypeScript schemas and interact with them using a SQL-like query builder.
## How It Works
Mizzle separates the concept of the **Physical Table** (the actual DynamoDB table) from the **Entity** (the logical data model). This approach is tailored for DynamoDB's Single-Table Design patterns.
1. **Physical Table:** Defines the partition key (PK), sort key (SK), and global secondary indexes (GSIs) of your DynamoDB table.
2. **Entity:** Defines the schema of your data (users, posts, orders) and maps it to the physical table using **Key Strategies**.
Key Strategies (like `prefixKey`) automatically handle the construction of PK/SK values based on your data, so you don't have to manually string-concatenate "USER#123" every time.
## Mono-bi-pkg
This is a monorepo, if you want to you can read each individual package's README for more details:
- [mizzle](https://github.com/realfakenerd/mizzle/tree/main/packages/mizzle)
- [mizzling](https://github.com/realfakenerd/mizzle/tree/main/packages/mizzling)
Or better yet, visit [the documentation](https://mizzle-docs.vercel.app)
## Contributing
Contributions are welcome! Please open an problem or submit a pr ;).
## License
MIT