Container Registries
            zenml.container_registries
    Initialization for ZenML's container registries module.
A container registry is a store for (Docker) containers. A ZenML workflow involving a container registry would automatically containerize your code to be transported across stacks running remotely. As part of the deployment to the cluster, the ZenML base image would be downloaded (from a cloud container registry) and used as the basis for the deployed 'run'.
For instance, when you are running a local container-based stack, you would therefore have a local container registry which stores the container images you create that bundle up your pipeline code. You could also use a remote container registry like the Elastic Container Registry at AWS in a more production setting.
Attributes
            __all__ = ['BaseContainerRegistry', 'DefaultContainerRegistryFlavor', 'AzureContainerRegistryFlavor', 'DockerHubContainerRegistryFlavor', 'GCPContainerRegistryFlavor', 'GitHubContainerRegistryFlavor']
  
      module-attribute
  
    Classes
            AzureContainerRegistryFlavor
    
              Bases: BaseContainerRegistryFlavor
Class for Azure Container Registry.
Attributes
            docs_url: Optional[str]
  
      property
  
    A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
            logo_url: str
  
      property
  
    A url to represent the flavor in the dashboard.
Returns:
| Type | Description | 
|---|---|
| str | The flavor logo. | 
            name: str
  
      property
  
    Name of the flavor.
Returns:
| Type | Description | 
|---|---|
| str | The name of the flavor. | 
            sdk_docs_url: Optional[str]
  
      property
  
    A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
            service_connector_requirements: Optional[ServiceConnectorRequirements]
  
      property
  
    Service connector resource requirements for service connectors.
Specifies resource requirements that are used to filter the available service connector types that are compatible with this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[ServiceConnectorRequirements] | Requirements for compatible service connectors, if a service | 
| Optional[ServiceConnectorRequirements] | connector is required for this flavor. | 
              BaseContainerRegistry(name: str, id: UUID, config: StackComponentConfig, flavor: str, type: StackComponentType, user: Optional[UUID], created: datetime, updated: datetime, environment: Optional[Dict[str, str]] = None, secrets: Optional[List[UUID]] = None, labels: Optional[Dict[str, Any]] = None, connector_requirements: Optional[ServiceConnectorRequirements] = None, connector: Optional[UUID] = None, connector_resource_id: Optional[str] = None, *args: Any, **kwargs: Any)
    
              Bases: AuthenticationMixin
Base class for all ZenML container registries.
Source code in src/zenml/stack/stack_component.py
                    | 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 |  | 
Attributes
            config: BaseContainerRegistryConfig
  
      property
  
    Returns the BaseContainerRegistryConfig config.
Returns:
| Type | Description | 
|---|---|
| BaseContainerRegistryConfig | The configuration. | 
            credentials: Optional[Tuple[str, str]]
  
      property
  
    Username and password to authenticate with this container registry.
Returns:
| Type | Description | 
|---|---|
| Optional[Tuple[str, str]] | Tuple with username and password if this container registry | 
| Optional[Tuple[str, str]] | requires authentication,  | 
            docker_client: DockerClient
  
      property
  
    Returns a Docker client for this container registry.
Returns:
| Type | Description | 
|---|---|
| DockerClient | The Docker client. | 
Raises:
| Type | Description | 
|---|---|
| RuntimeError | If the connector does not return a Docker client. | 
            requires_authentication: bool
  
      property
  
    Returns whether the container registry requires authentication.
Returns:
| Type | Description | 
|---|---|
| bool | 
 | 
| bool | 
 | 
Functions
            get_image_repo_digest(image_name: str) -> Optional[str]
    Get the repository digest of an image.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| image_name | str | The name of the image. | required | 
Returns:
| Type | Description | 
|---|---|
| Optional[str] | The repository digest of the image. | 
Source code in src/zenml/container_registries/base_container_registry.py
              | 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 |  | 
            is_valid_image_name_for_registry(image_name: str) -> bool
    Check if the image name is valid for the container registry.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| image_name | str | The name of the image. | required | 
Returns:
| Type | Description | 
|---|---|
| bool | 
 | 
| bool | 
 | 
Source code in src/zenml/container_registries/base_container_registry.py
              | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |  | 
            prepare_image_push(image_name: str) -> None
    Preparation before an image gets pushed.
Subclasses can overwrite this to do any necessary checks or preparations before an image gets pushed.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| image_name | str | Name of the docker image that will be pushed. | required | 
Source code in src/zenml/container_registries/base_container_registry.py
              | 194 195 196 197 198 199 200 201 202 |  | 
            push_image(image_name: str) -> str
    Pushes a docker image.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| image_name | str | Name of the docker image that will be pushed. | required | 
Returns:
| Type | Description | 
|---|---|
| str | The Docker repository digest of the pushed image. | 
Raises:
| Type | Description | 
|---|---|
| ValueError | If the image name is not associated with this container registry. | 
Source code in src/zenml/container_registries/base_container_registry.py
              | 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 |  | 
            DefaultContainerRegistryFlavor
    
              Bases: BaseContainerRegistryFlavor
Class for default ZenML container registries.
Attributes
            docs_url: Optional[str]
  
      property
  
    A URL to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
            logo_url: str
  
      property
  
    A URL to represent the flavor in the dashboard.
Returns:
| Type | Description | 
|---|---|
| str | The flavor logo. | 
            name: str
  
      property
  
    Name of the flavor.
Returns:
| Type | Description | 
|---|---|
| str | The name of the flavor. | 
            sdk_docs_url: Optional[str]
  
      property
  
    A URL to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
            DockerHubContainerRegistryFlavor
    
              Bases: BaseContainerRegistryFlavor
Class for DockerHub Container Registry.
Attributes
            docs_url: Optional[str]
  
      property
  
    A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
            logo_url: str
  
      property
  
    A url to represent the flavor in the dashboard.
Returns:
| Type | Description | 
|---|---|
| str | The flavor logo. | 
            name: str
  
      property
  
    Name of the flavor.
Returns:
| Type | Description | 
|---|---|
| str | The name of the flavor. | 
            sdk_docs_url: Optional[str]
  
      property
  
    A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
            service_connector_requirements: Optional[ServiceConnectorRequirements]
  
      property
  
    Service connector resource requirements for service connectors.
Specifies resource requirements that are used to filter the available service connector types that are compatible with this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[ServiceConnectorRequirements] | Requirements for compatible service connectors, if a service | 
| Optional[ServiceConnectorRequirements] | connector is required for this flavor. | 
            GCPContainerRegistryFlavor
    
              Bases: BaseContainerRegistryFlavor
Class for GCP Container Registry.
Attributes
            docs_url: Optional[str]
  
      property
  
    A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
            logo_url: str
  
      property
  
    A url to represent the flavor in the dashboard.
Returns:
| Type | Description | 
|---|---|
| str | The flavor logo. | 
            name: str
  
      property
  
    Name of the flavor.
Returns:
| Type | Description | 
|---|---|
| str | The name of the flavor. | 
            sdk_docs_url: Optional[str]
  
      property
  
    A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
            service_connector_requirements: Optional[ServiceConnectorRequirements]
  
      property
  
    Service connector resource requirements for service connectors.
Specifies resource requirements that are used to filter the available service connector types that are compatible with this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[ServiceConnectorRequirements] | Requirements for compatible service connectors, if a service | 
| Optional[ServiceConnectorRequirements] | connector is required for this flavor. | 
            GitHubContainerRegistryFlavor
    
              Bases: BaseContainerRegistryFlavor
Class for GitHub Container Registry.
Attributes
            docs_url: Optional[str]
  
      property
  
    A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
            logo_url: str
  
      property
  
    A url to represent the flavor in the dashboard.
Returns:
| Type | Description | 
|---|---|
| str | The flavor logo. | 
            name: str
  
      property
  
    Name of the flavor.
Returns:
| Type | Description | 
|---|---|
| str | The name of the flavor. | 
            sdk_docs_url: Optional[str]
  
      property
  
    A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
Modules
            azure_container_registry
    Implementation of an Azure Container Registry class.
Classes
            AzureContainerRegistryFlavor
    
              Bases: BaseContainerRegistryFlavor
Class for Azure Container Registry.
docs_url: Optional[str]
  
      property
  
A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
logo_url: str
  
      property
  
A url to represent the flavor in the dashboard.
Returns:
| Type | Description | 
|---|---|
| str | The flavor logo. | 
name: str
  
      property
  
Name of the flavor.
Returns:
| Type | Description | 
|---|---|
| str | The name of the flavor. | 
sdk_docs_url: Optional[str]
  
      property
  
A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
service_connector_requirements: Optional[ServiceConnectorRequirements]
  
      property
  
Service connector resource requirements for service connectors.
Specifies resource requirements that are used to filter the available service connector types that are compatible with this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[ServiceConnectorRequirements] | Requirements for compatible service connectors, if a service | 
| Optional[ServiceConnectorRequirements] | connector is required for this flavor. | 
            base_container_registry
    Implementation of a base container registry class.
Classes
              BaseContainerRegistry(name: str, id: UUID, config: StackComponentConfig, flavor: str, type: StackComponentType, user: Optional[UUID], created: datetime, updated: datetime, environment: Optional[Dict[str, str]] = None, secrets: Optional[List[UUID]] = None, labels: Optional[Dict[str, Any]] = None, connector_requirements: Optional[ServiceConnectorRequirements] = None, connector: Optional[UUID] = None, connector_resource_id: Optional[str] = None, *args: Any, **kwargs: Any)
    
              Bases: AuthenticationMixin
Base class for all ZenML container registries.
Source code in src/zenml/stack/stack_component.py
                    | 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 |  | 
config: BaseContainerRegistryConfig
  
      property
  
Returns the BaseContainerRegistryConfig config.
Returns:
| Type | Description | 
|---|---|
| BaseContainerRegistryConfig | The configuration. | 
credentials: Optional[Tuple[str, str]]
  
      property
  
Username and password to authenticate with this container registry.
Returns:
| Type | Description | 
|---|---|
| Optional[Tuple[str, str]] | Tuple with username and password if this container registry | 
| Optional[Tuple[str, str]] | requires authentication,  | 
docker_client: DockerClient
  
      property
  
Returns a Docker client for this container registry.
Returns:
| Type | Description | 
|---|---|
| DockerClient | The Docker client. | 
Raises:
| Type | Description | 
|---|---|
| RuntimeError | If the connector does not return a Docker client. | 
requires_authentication: bool
  
      property
  
Returns whether the container registry requires authentication.
Returns:
| Type | Description | 
|---|---|
| bool | 
 | 
| bool | 
 | 
get_image_repo_digest(image_name: str) -> Optional[str]
Get the repository digest of an image.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| image_name | str | The name of the image. | required | 
Returns:
| Type | Description | 
|---|---|
| Optional[str] | The repository digest of the image. | 
Source code in src/zenml/container_registries/base_container_registry.py
              | 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 |  | 
is_valid_image_name_for_registry(image_name: str) -> bool
Check if the image name is valid for the container registry.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| image_name | str | The name of the image. | required | 
Returns:
| Type | Description | 
|---|---|
| bool | 
 | 
| bool | 
 | 
Source code in src/zenml/container_registries/base_container_registry.py
              | 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |  | 
prepare_image_push(image_name: str) -> None
Preparation before an image gets pushed.
Subclasses can overwrite this to do any necessary checks or preparations before an image gets pushed.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| image_name | str | Name of the docker image that will be pushed. | required | 
Source code in src/zenml/container_registries/base_container_registry.py
              | 194 195 196 197 198 199 200 201 202 |  | 
push_image(image_name: str) -> str
Pushes a docker image.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| image_name | str | Name of the docker image that will be pushed. | required | 
Returns:
| Type | Description | 
|---|---|
| str | The Docker repository digest of the pushed image. | 
Raises:
| Type | Description | 
|---|---|
| ValueError | If the image name is not associated with this container registry. | 
Source code in src/zenml/container_registries/base_container_registry.py
              | 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 |  | 
              BaseContainerRegistryConfig(warn_about_plain_text_secrets: bool = False, **kwargs: Any)
    
              Bases: AuthenticationConfigMixin
Base config for a container registry.
Configuration for connecting to container image registries. Field descriptions are defined inline using Field() descriptors.
Source code in src/zenml/stack/stack_component.py
                    | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |  | 
is_local: bool
  
      property
  
Checks if this stack component is running locally.
Returns:
| Type | Description | 
|---|---|
| bool | True if this config is for a local component, False otherwise. | 
strip_trailing_slash(uri: str) -> str
  
      classmethod
  
Removes trailing slashes from the URI.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| uri | str | The URI to be stripped. | required | 
Returns:
| Type | Description | 
|---|---|
| str | The URI without trailing slashes. | 
Source code in src/zenml/container_registries/base_container_registry.py
              | 58 59 60 61 62 63 64 65 66 67 68 69 |  | 
            BaseContainerRegistryFlavor
    
              Bases: Flavor
Base flavor for container registries.
config_class: Type[BaseContainerRegistryConfig]
  
      property
  
Config class for this flavor.
Returns:
| Type | Description | 
|---|---|
| Type[BaseContainerRegistryConfig] | The config class. | 
implementation_class: Type[BaseContainerRegistry]
  
      property
  
Implementation class.
Returns:
| Type | Description | 
|---|---|
| Type[BaseContainerRegistry] | The implementation class. | 
service_connector_requirements: Optional[ServiceConnectorRequirements]
  
      property
  
Service connector resource requirements for service connectors.
Specifies resource requirements that are used to filter the available service connector types that are compatible with this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[ServiceConnectorRequirements] | Requirements for compatible service connectors, if a service | 
| Optional[ServiceConnectorRequirements] | connector is required for this flavor. | 
type: StackComponentType
  
      property
  
Modules
            default_container_registry
    Implementation of a default container registry class.
Classes
            DefaultContainerRegistryFlavor
    
              Bases: BaseContainerRegistryFlavor
Class for default ZenML container registries.
docs_url: Optional[str]
  
      property
  
A URL to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
logo_url: str
  
      property
  
A URL to represent the flavor in the dashboard.
Returns:
| Type | Description | 
|---|---|
| str | The flavor logo. | 
name: str
  
      property
  
Name of the flavor.
Returns:
| Type | Description | 
|---|---|
| str | The name of the flavor. | 
sdk_docs_url: Optional[str]
  
      property
  
A URL to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
            dockerhub_container_registry
    Implementation of a DockerHub Container Registry class.
Classes
            DockerHubContainerRegistryFlavor
    
              Bases: BaseContainerRegistryFlavor
Class for DockerHub Container Registry.
docs_url: Optional[str]
  
      property
  
A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
logo_url: str
  
      property
  
A url to represent the flavor in the dashboard.
Returns:
| Type | Description | 
|---|---|
| str | The flavor logo. | 
name: str
  
      property
  
Name of the flavor.
Returns:
| Type | Description | 
|---|---|
| str | The name of the flavor. | 
sdk_docs_url: Optional[str]
  
      property
  
A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
service_connector_requirements: Optional[ServiceConnectorRequirements]
  
      property
  
Service connector resource requirements for service connectors.
Specifies resource requirements that are used to filter the available service connector types that are compatible with this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[ServiceConnectorRequirements] | Requirements for compatible service connectors, if a service | 
| Optional[ServiceConnectorRequirements] | connector is required for this flavor. | 
            gcp_container_registry
    Implementation of a GCP Container Registry class.
Classes
            GCPContainerRegistryFlavor
    
              Bases: BaseContainerRegistryFlavor
Class for GCP Container Registry.
docs_url: Optional[str]
  
      property
  
A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
logo_url: str
  
      property
  
A url to represent the flavor in the dashboard.
Returns:
| Type | Description | 
|---|---|
| str | The flavor logo. | 
name: str
  
      property
  
Name of the flavor.
Returns:
| Type | Description | 
|---|---|
| str | The name of the flavor. | 
sdk_docs_url: Optional[str]
  
      property
  
A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
service_connector_requirements: Optional[ServiceConnectorRequirements]
  
      property
  
Service connector resource requirements for service connectors.
Specifies resource requirements that are used to filter the available service connector types that are compatible with this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[ServiceConnectorRequirements] | Requirements for compatible service connectors, if a service | 
| Optional[ServiceConnectorRequirements] | connector is required for this flavor. | 
            github_container_registry
    Implementation of the GitHub Container Registry.
Classes
              GitHubContainerRegistryConfig(warn_about_plain_text_secrets: bool = False, **kwargs: Any)
    
              Bases: BaseContainerRegistryConfig
Configuration for the GitHub Container Registry.
Source code in src/zenml/stack/stack_component.py
                    | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |  | 
            GitHubContainerRegistryFlavor
    
              Bases: BaseContainerRegistryFlavor
Class for GitHub Container Registry.
docs_url: Optional[str]
  
      property
  
A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. | 
logo_url: str
  
      property
  
A url to represent the flavor in the dashboard.
Returns:
| Type | Description | 
|---|---|
| str | The flavor logo. | 
name: str
  
      property
  
Name of the flavor.
Returns:
| Type | Description | 
|---|---|
| str | The name of the flavor. | 
sdk_docs_url: Optional[str]
  
      property
  
A url to point at docs explaining this flavor.
Returns:
| Type | Description | 
|---|---|
| Optional[str] | A flavor docs url. |