#Python SDK ignoring base-image in pyproject.toml

1 messages · Page 1 of 1 (latest)

vapid obsidian
#

Hi, using dagger v0.11.7, is ignoring any setting I put in [dagger.tool] when generating the module.

{
  "name": "sonarqube",
  "sdk": "python",
  "source": ".",
  "engineVersion": "v0.11.7"
}
[tool.poetry]
name = "main"
version = "0.1.0"
description = ""
authors = []
packages = [{ include = "main", from = "src" }]

[tool.poetry.dependencies]
python = ">=3.11"

[[tool.poetry.source]]
name = "nexus"
url = "https://nexus.internal.com/repository/pypi-group/simple"
priority = "default"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[dagger.tool]
base-image = "<our-registry>/docker/dagger-python-base:0.1.0"
use-uv = false
dagger -vvv develop
✔ Directory@xxh3:342d12b692b2e587.directory(path: "template"): Directory! = xxh3:3abcbb3b1af43457 0.0s
    ✔ Directory@xxh3:ce20dfd18b6f7fa5.file(path: "runtime.py"): File! = xxh3:1fff7b78bdd9e50e 0.0s
    ✔ Container@xxh3:6934f6e558023746.withEnvVariable(name: "DAGGER_BASE_IMAGE", value: "python:3.11-slim@sha256:ce81dc539f0aedc9114cae640f8352fad83d37461c24a3615b01f081d0c0583a"): Container! = xxh3:04a89609950da918 0.0s
    ✔ Container@xxh3:2117d88d77a6eb7c.withEnvVariable(name: "PYTHONUNBUFFERED", value: "1"): Container! = xxh3:793fa1bb518ae79c 0.0s
    ✔ Container@xxh3:04a89609950da918.withEnvVariable(name: "PIP_DISABLE_PIP_VERSION_CHECK", value: "1"): Container! = xxh3:6489b2a62e01c5e6 0.0s
    ✔ Container@xxh3:793fa1bb518ae79c.withEnvVariable(name: "PIP_ROOT_USER_ACTION", value: "ignore"): Container! = xxh3:8335ef6847d8f883 0.0s
    ✔ Container@xxh3:6489b2a62e01c5e6.withMountedCache(
        cache: ✔ cacheVolume(key: "modpython-pip-python:3.11-slim"): CacheVolume! = xxh3:89745b7d25f00504 0.0s
        path: "/root/.cache/pip"
      ): Container! = xxh3:ead30e9008996b2f 0.0s

In the logs we can see that it's still using the default python3.11 image. As well as trying to install uv.

#

The only reason I need to use a base image is to configure pip to install from our internal pypi registry, with the environment variable: PIP_INDEX_URL and include our internal ca certificate. The dagger engine is also definitely copying the pyproject.toml from my local directory since if I do a syntax error, the engine complains, it is just not taking the values set in the dagger.tool block. I have tried without poetry with the same result.

blissful steeple
#

It's [tool.dagger], not "dagger.tool".