Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
A library for integration-testing against docker containers from within Rust.
| Date | Stars |
|---|---|
| 2026-07-24 | 1104 |
| 2026-07-25 | 1106 |
| 2026-07-28 | 1106 |
| 2026-07-30 | 1106 |
| 2026-08-06 | 1106 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
5.0
growth rate 0.00%/day
# Testcontainers-rs

[](https://crates.io/crates/testcontainers)
[](https://docs.rs/testcontainers)
[](https://join.slack.com/t/testcontainers/shared_invite/zt-2gra37tid-n9xDJGjjVb7hMRanGjowkw)
Testcontainers-rs is the official Rust language fork of [http://testcontainers.org](http://testcontainers.org).
## Usage
### `testcontainers` is the core crate
The crate provides an API for working with containers in a test environment.
1. Depend on `testcontainers`
2. Implement `testcontainers::core::Image` for necessary docker-images
3. Run it with any available runner `testcontainers::runners::*` (use `blocking` feature for synchronous API)
#### Example:
- Blocking API (under `blocking` feature)
```rust
use testcontainers::{core::{IntoContainerPort, WaitFor}, runners::SyncRunner, GenericImage, ImageExt};
#[test]
fn test_redis() {
let container = GenericImage::new("redis", "7.2.4")
.with_exposed_port(6379.tcp())
.with_wait_for(WaitFor::message_on_stdout("Ready to accept connections"))
.with_network("bridge")
.with_env_var("DEBUG", "1")
.start()
.expect("Failed to start Redis");
}
```
- Async API
```rust
use testcontainers::{core::{IntoContainerPort, WaitFor}, runners::AsyncRunner, GenericImage, ImageExt};
#[tokio::test]
async fn test_redis() {
let container = GenericImage::new("redis", "7.2.4")
.with_exposed_port(6379.tcp())
.with_wait_for(WaitFor::message_on_stdout("Ready to accept connections"))
.with_network("bridge")
.with_env_var("DEBUG", "1")
.start()
.await
.expect("Failed to start Redis");
}
```
### Ready-to-use images
The easiest way to use `testcontainers` is to depend on ready-to-use images (aka modules).
Modules are available as a community-maintained crate: [testcontainers-modules](https://github.com/testcontainers/testcontainers-rs-modules-community)
## License
Licensed under either of
- Apache License, Version 2.0
([LICENSE-APACHE](LICENSE-Apache-2.0) or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license
([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.
Excerpt of 2,479 characters
Read on GitHub215
115
110
73
33
21
17
17
13
13
12
12
12
10
7
7
6
5
Luke Hsiao · ex-@Alation, ex-@NumbersStationAI, ex-@Google, ex-@Nvidia · United States
5
4
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:574e6717df1a4799, topic:testing