Riya Sinha
09/05/2025, 8:26 PM"prefecthq/prefect-client:3-latest"
Marvin
09/05/2025, 8:26 PMMarvin
09/05/2025, 8:28 PM# Dockerfile
FROM python:3.13-slim
ENV PIP_NO_CACHE_DIR=1
RUN pip install --upgrade pip
RUN pip install prefect
# plus your dependencies
WORKDIR /app
COPY . /app
Then reference it in your deployment:
from prefect import flow
@flow
def my_flow():
...
if __name__ == "__main__":
my_flow.deploy(
name="my-deployment",
work_pool_name="my-pool",
image="yourrepo/yourimage:py3.13",
build=False,
push=False,
)
Two quick clarifications to make sure we point you to the right thing:
- Did you mean prefecthq/prefect:3-latest
? We don’t typically publish a prefecthq/prefect-client
image; the common base image is prefecthq/prefect
.
- Do you want to rely on an official prebuilt image, or are you okay building/using a custom one for 3.13?Riya Sinha
09/05/2025, 8:30 PMMarvin
09/05/2025, 8:30 PMMarvin
09/05/2025, 8:32 PM# Dockerfile
FROM python:3.13-slim
ENV PIP_NO_CACHE_DIR=1
RUN pip install --upgrade pip && pip install prefect
# add your deps + code
WORKDIR /app
COPY . /app
2) Point your deployment at that image (don’t rely on auto):
from prefect import flow
from prefect.docker import DockerImage
@flow
def my_flow():
...
if __name__ == "__main__":
my_flow.deploy(
name="my-deployment",
work_pool_name="my-managed-pool",
image=DockerImage(name="yourrepo/yourimage", tag="py3.13"),
build=False,
push=False,
)
If your registry is private, make sure Managed has credentials to pull it.
Docs: Managed infrastructure guide
Does that work for your setup, or do you want help wiring private registry credentials for the Managed pool?