https://github.com/bkonkle/nakago
A lightweight async dependency injection toolkit for Rust
https://github.com/bkonkle/nakago
async dependency-injection graphql http rust
Last synced: 12 months ago
JSON representation
A lightweight async dependency injection toolkit for Rust
- Host: GitHub
- URL: https://github.com/bkonkle/nakago
- Owner: bkonkle
- License: mit
- Created: 2023-02-08T16:45:35.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-24T18:36:40.000Z (about 1 year ago)
- Last Synced: 2025-03-29T04:41:59.996Z (12 months ago)
- Topics: async, dependency-injection, graphql, http, rust
- Language: Rust
- Homepage: https://nakago.dev/
- Size: 2.12 MB
- Stars: 48
- Watchers: 4
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README

Nakago (中子)
A lightweight async dependency injection toolkit for Rust
[](https://crates.io/crates/nakago)
[](https://docs.rs/nakago)
[](https://github.com/bkonkle/nakago/actions)
[](https://codecov.io/gh/bkonkle/nakago)
[](https://www.rust-lang.org)
[](https://tokio.rs)
[](https://crates.io/crates/axum)
Nakago is a toolkit for building Rust applications with a modular structure, taking advantage of dependency injection to bring organization and testability to Rust projects large and small.
## ⚠️ Alpha Disclaimer
NOTE: This library is in early development, and the API may shift rapidly as it evolves. Be advised that this is not yet recommended for Production use.
## Features
- [Dependency Injection](https://nakago.dev/docs/features/dependency-injection)
- [HTTP Adapter](https://nakago.dev/docs/features/axum-http) for [Axum](https://github.com/tokio-rs/axum) and [Warp](https://github.com/seanmonstar/warp)
- [SQL Adapter](https://nakago.dev/docs/features/sea-orm) for [SeaORM](https://github.com/SeaQL/sea-orm)
- [GraphQL Adapter](https://nakago.dev/docs/features/async-graphql) for [Async-GraphQL](https://github.com/async-graphql/async-graphql)
- CQRS Adapter using [CQRS-ES](https://crates.io/crates/cqrs-es) (upcoming)
As development progresses, components will be split up into separate crates, so that developers can install only what they need.
## Installation
### Cargo
- Install Rust and Cargo by following [this guide](https://www.rust-lang.org/tools/install).
- Run `cargo install nakago`, along with `cargo install nakago-derive`, `cargo install nakago-axum`, etc. for each feature you need.
## Etymology
Nakago (中子) is a Japanese word meaning "core", or less commonly the "middle of a nest of boxes". It often refers to the [tang]() of a Japanese katana - the foundation of the hilt and the mechanism through which a sword is wielded. The nakago must be sound and resilient, allowing the holder to guide the blade with confidence.
## Development
See [docs/development.md](https://nakago.dev/docs/development).
## License
Licensed under the MIT license ([LICENSE](LICENSE) or ).
## Contribution
See [CONTRIBUTING.md](CONTRIBUTING.md).
## Attribution
Katana image by fordevector at [Vecteezy](https://www.vecteezy.com/free-vector/katana).