testcontainers/testcontainers-python

Bug: testcontainers.core.image missing when installing using pip on python 3.12

oysteins10 opened this issue · 2 comments

Describe the bug

Hey! Im running testcontainers from another docker container (using dind). After installing the latest version (4.5.1) using pip.
The testcontainer.core.image module seems to be missing:

image

To Reproduce
Run pip install testcontainers for python 3.12

Runtime environment

# Get the operating system information (on a unix os).
$ uname -a
Linux 67ef8fd77ec9 5.15.146.1-microsoft-standard-WSL2 #1 SMP Thu Jan 11 04:09:03 UTC 2024 x86_64 GNU/Linux
# Get the python version.
$ python --version
Python 3.12.3
# Get the docker version and other docker information.
$ docker info
Client:
 Version:    26.1.3
 Context:    default
 Debug Mode: false

Server:
 Containers: 11
  Running: 3
  Paused: 0
  Stopped: 8
 Images: 22
 Server Version: 25.0.3
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 4e1fe7492b9df85914c389d1f15a3ceedbb280ac
 runc version: 51d5e94601ceffbbd85688df1c928ecccbfa4685
 init version: 
 Security Options:
  seccomp
   Profile: builtin
 Kernel Version: 5.15.146.1-microsoft-standard-WSL2
 Operating System: Rancher Desktop WSL Distribution
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 15.48GiB
 Name: GD-PF3BQS76
 ID: c3c5504b-8ecd-4840-ad6e-628d40a69364
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
# Get all python packages.
$ pip freeze
annotated-types==0.7.0
anyio==4.4.0
asgi-correlation-id==4.3.1
asgiref==3.8.1
boto3==1.34.119
boto3-stubs==1.34.119
botocore==1.34.119
botocore-stubs==1.34.94
certifi==2024.6.2
cffi==1.16.0
charset-normalizer==3.3.2
click==8.1.7
cryptography==42.0.8
databases==0.9.0
dnspython==2.6.1
docker==7.1.0
ecdsa==0.19.0
email_validator==2.1.1
fastapi==0.111.0
fastapi-cli==0.0.4
fastapi_keycloak==1.0.11
GeoAlchemy2==0.15.1
greenlet==3.0.3
h11==0.14.0
httpcore==1.0.5
httptools==0.6.1
httpx==0.27.0
idna==3.7
iniconfig==2.0.0
itsdangerous==2.2.0
Jinja2==3.1.4
jmespath==1.0.1
markdown-it-py==3.0.0
MarkupSafe==2.1.5
mdurl==0.1.2
moto==5.0.9
mypy==1.10.0
mypy-boto3-s3==1.34.105
mypy-extensions==1.0.0
numpy==1.26.4
orjson==3.10.3
packaging==24.0
pluggy==1.5.0
psycopg2-binary==2.9.9
py-partiql-parser==0.5.5
pyasn1==0.6.0
pycparser==2.22
pycryptodome==3.20.0
pydantic==2.7.3
pydantic-settings==2.3.0
pydantic_core==2.18.4
Pygments==2.18.0
pytest==8.2.2
python-dateutil==2.9.0.post0
python-dotenv==1.0.1
python-jose==3.3.0
python-multipart==0.0.9
PyYAML==6.0.1
requests==2.32.3
responses==0.25.0
rich==13.7.1
rsa==4.9
s3transfer==0.10.1
setuptools==69.5.1
shapely==2.0.4
shellingham==1.5.4
six==1.16.0
sniffio==1.3.1
SQLAlchemy==2.0.30
sqlmodel==0.0.19
starlette==0.37.2
structlog==24.2.0
tenacity==8.3.0
testcontainers==4.5.1
typer==0.12.3
types-awscrt==0.20.9
types-PyYAML==6.0.12.20240311
types-requests==2.32.0.20240602
types-s3transfer==0.10.1
typing_extensions==4.12.1
ujson==5.10.0
urllib3==2.2.1
uvicorn==0.30.1
uvloop==0.19.0
watchfiles==0.22.0
websockets==12.0
Werkzeug==3.0.3
wheel==0.43.0
wrapt==1.16.0
xmltodict==0.13.0

I realize the problem is as easy as the documentation is ahead of the latest version. The docs is showing that the module is available while the latest version (4.5.1) does not include the module

https://testcontainers-python.readthedocs.io/en/latest/core/README.html

this is not yet released, it will go out with #594 you can subscribe to that PR for updates