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.
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.5.1 |
Custom image for ryuk |
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.2.0rc1.tar.gz
(34.2 kB
view hashes)
Built Distribution
Close
Hashes for testcontainers-4.2.0rc1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76299533183e487aebea4b7267ce46d730622c035e92be8de205fe8203ca3805 |
|
MD5 | 21c4ef6ffb5ab42f340b230fe89242a9 |
|
BLAKE2b-256 | e546c0e4a33eec4082204e22600e513d32a6d060c14284c3c135a4d70dd52e64 |