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?Bring your towel and join one of the fastest growing data communities. Welcome to our second-generation open source orchestration platform, a completely rethought approach to dataflow automation.
Powered by