Python library for throwaway instances of anything that can run in a Docker container
Project description
Testcontainers Python
testcontainers-python
facilitates the use of Docker containers for functional and integration testing.
For more information, see the docs.
Getting Started
>>> from testcontainers.postgres import PostgresContainer
>>> import sqlalchemy
>>> with PostgresContainer("postgres:16") as postgres:
... engine = sqlalchemy.create_engine(postgres.get_connection_url())
... with engine.begin() as connection:
... result = connection.execute(sqlalchemy.text("select version()"))
... version, = result.fetchone()
>>> version
'PostgreSQL 16...'
The snippet above will spin up a postgres database in a container. The get_connection_url()
convenience method returns a sqlalchemy
compatible url we use to connect to the database and retrieve the database version.
Contributing / Development / Release
See CONTRIBUTING.md for more details.
Configuration
Env Variable | Example | Description |
---|---|---|
TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE |
/var/run/docker.sock |
Path to Docker's socket used by ryuk |
TESTCONTAINERS_RYUK_PRIVILEGED |
false |
Run ryuk as a privileged container |
TESTCONTAINERS_RYUK_DISABLED |
false |
Disable ryuk |
RYUK_CONTAINER_IMAGE |
testcontainers/ryuk:0.8.1 |
Custom image for ryuk |
RYUK_RECONNECTION_TIMEOUT |
10s |
Reconnection timeout for Ryuk TCP socket before Ryuk reaps all dangling containers |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
testcontainers-4.8.2.tar.gz
(63.6 kB
view details)
Built Distribution
File details
Details for the file testcontainers-4.8.2.tar.gz
.
File metadata
- Download URL: testcontainers-4.8.2.tar.gz
- Upload date:
- Size: 63.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd4a6a2ea09e3c3ecd39e180b6548105929d0bb78d665ce9919cb3f8c98f9853 |
|
MD5 | 3506d3de2b023805f0a6e5e6e4c4e0f5 |
|
BLAKE2b-256 | 1f72c58d84f5704c6caadd9f803a3adad5ab54ac65328c02d13295f40860cf33 |
File details
Details for the file testcontainers-4.8.2-py3-none-any.whl
.
File metadata
- Download URL: testcontainers-4.8.2-py3-none-any.whl
- Upload date:
- Size: 104.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e19af077cd96e1957c13ee466f1f32905bc6c5bc1bc98643eb18be1a989bfb0 |
|
MD5 | d86a9568390207dc43e9c98288d0267e |
|
BLAKE2b-256 | 80775ac0dff2903a033d83d971fd85957356abdb66a327f3589df2b3d1a586b4 |