Skip to main content

uv Ruff PyPI - Version PyPI - License PyPI - Python Version codecov Core Tests Community Tests Docs

Codespace

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

You can set environment variables to configure the library behaviour:

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

Alternatively you can set the configuration during runtime:

from testcontainers.core import testcontainers_config

testcontainers_config.ryuk_docker_socket = "/home/user/docker.sock"

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.15.0.tar.gz (95.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

testcontainers-4.15.0-py3-none-any.whl (160.8 kB view details)

Uploaded Python 3

File details

Details for the file testcontainers-4.15.0.tar.gz.

File metadata

  • Download URL: testcontainers-4.15.0.tar.gz
  • Upload date:
  • Size: 95.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for testcontainers-4.15.0.tar.gz
Algorithm Hash digest
SHA256 085cde086337632e19002719460b7b80bbab2bdd51bb3ea04f77d0de96504706
MD5 2fb588e2a5fbfa0451db96ecbaddbd54
BLAKE2b-256 4b132cc466bddf26d0085f30a2b2bd56b7f8708b54a54db833eec97c5c69129b

See more details on using hashes here.

Provenance

The following attestation bundles were made for testcontainers-4.15.0.tar.gz:

Publisher: release-please.yml on testcontainers/testcontainers-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file testcontainers-4.15.0-py3-none-any.whl.

File metadata

  • Download URL: testcontainers-4.15.0-py3-none-any.whl
  • Upload date:
  • Size: 160.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for testcontainers-4.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8796c14e76604031ad39cf0ed3b8e9806283a1fbf5270965c2b1c594caa31b74
MD5 cc631ab34deb0f261e8686644bb2e749
BLAKE2b-256 007e424aac8b355597835deb333e757a0e94b5ccf38ad00f07fe6ed1f4e17c88

See more details on using hashes here.

Provenance

The following attestation bundles were made for testcontainers-4.15.0-py3-none-any.whl:

Publisher: release-please.yml on testcontainers/testcontainers-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page