prefect.artifacts

Interface for creating and reading artifacts.

Functions

create_link_artifact(link: str, link_text: str | None = None, key: str | None = None, description: str | None = None, client: 'PrefectClient | None' = None) -> UUID
Create a link artifact. Args:
  • link: The link to create.
  • link_text: The link text.
  • key: A user-provided string identifier. Required for the artifact to show in the Artifacts page in the UI. The key must only contain lowercase letters, numbers, and dashes.
  • description: A user-specified description of the artifact.
Returns:
  • The table artifact ID.

create_markdown_artifact

create_markdown_artifact(markdown: str, key: str | None = None, description: str | None = None) -> UUID
Create a markdown artifact. Args:
  • markdown: The markdown to create.
  • key: A user-provided string identifier. Required for the artifact to show in the Artifacts page in the UI. The key must only contain lowercase letters, numbers, and dashes.
  • description: A user-specified description of the artifact.
Returns:
  • The table artifact ID.

create_table_artifact

create_table_artifact(table: dict[str, list[Any]] | list[dict[str, Any]] | list[list[Any]], key: str | None = None, description: str | None = None) -> UUID
Create a table artifact. Args:
  • table: The table to create.
  • key: A user-provided string identifier. Required for the artifact to show in the Artifacts page in the UI. The key must only contain lowercase letters, numbers, and dashes.
  • description: A user-specified description of the artifact.
Returns:
  • The table artifact ID.

create_progress_artifact

create_progress_artifact(progress: float, key: str | None = None, description: str | None = None) -> UUID
Create a progress artifact. Args:
  • progress: The percentage of progress represented by a float between 0 and 100.
  • key: A user-provided string identifier. Required for the artifact to show in the Artifacts page in the UI. The key must only contain lowercase letters, numbers, and dashes.
  • description: A user-specified description of the artifact.
Returns:
  • The progress artifact ID.

update_progress_artifact

update_progress_artifact(artifact_id: UUID, progress: float, description: str | None = None, client: 'PrefectClient | None' = None) -> UUID
Update a progress artifact. Args:
  • artifact_id: The ID of the artifact to update.
  • progress: The percentage of progress represented by a float between 0 and 100.
  • description: A user-specified description of the artifact.
Returns:
  • The progress artifact ID.

create_image_artifact

create_image_artifact(image_url: str, key: str | None = None, description: str | None = None) -> UUID
Create an image artifact. Args:
  • image_url: The URL of the image to display.
  • key: A user-provided string identifier. Required for the artifact to show in the Artifacts page in the UI. The key must only contain lowercase letters, numbers, and dashes.
  • description: A user-specified description of the artifact.
Returns:
  • The image artifact ID.

Classes

Artifact

An artifact is a piece of data that is created by a flow or task run. https://docs.prefect.io/latest/develop/artifacts Args:
  • type: A string identifying the type of artifact.
  • key: A user-provided string identifier. The key must only contain lowercase letters, numbers, and dashes.
  • description: A user-specified description of the artifact.
  • data: A JSON payload that allows for a result to be retrieved.
Methods:

create

create(self: Self, client: 'PrefectClient | None' = None) -> 'ArtifactResponse'
A method to create an artifact. Args:
  • client: The PrefectClient
Returns:
  • The created artifact.

get

get(cls, key: str | None = None, client: 'PrefectClient | None' = None) -> 'ArtifactResponse | None'
A method to get an artifact. Args:
  • key: The key of the artifact to get.
  • client: A client to use when calling the Prefect API.
Returns:
  • The artifact (if found).

get_or_create

get_or_create(cls, key: str | None = None, description: str | None = None, data: dict[str, Any] | Any | None = None, client: 'PrefectClient | None' = None, **kwargs: Any) -> tuple['ArtifactResponse', bool]
A method to get or create an artifact. Args:
  • key: The key of the artifact to get or create.
  • description: The description of the artifact to create.
  • data: The data of the artifact to create.
  • client: The PrefectClient
  • **kwargs: Additional keyword arguments to use when creating the artifact.
Returns:
  • The artifact, either retrieved or created.

format

format(self) -> str | float | int | dict[str, Any]

LinkArtifact

Methods:

format

format(self) -> str

MarkdownArtifact

Methods:

format

format(self) -> str

TableArtifact

Methods:

format

format(self) -> str

ProgressArtifact

Methods:

format

format(self) -> float

ImageArtifact

An artifact that will display an image from a publicly accessible URL in the UI. Args:
  • image_url: The URL of the image to display.
Methods:

format

format(self) -> str
This method is used to format the artifact data so it can be properly sent to the API when the .create() method is called. Returns:
  • The image URL.