Artifact garbage collection workflow
The following diagram illustrates the complete artifact garbage collection process: You can schedule when artifacts are deleted from W&B with TTL policies. For more information, see Manage data retention with Artifact TTL policy.Artifacts deleted by a TTL policy, the W&B Python SDK, or the W&B App are first soft-deleted. Soft-deleted artifacts are then garbage-collected before they are permanently deleted.
Deleting an entity, project, or artifact collection triggers the artifact deletion process described on this page. When you delete a run and choose to delete its associated artifacts, those artifacts follow the same soft-delete and garbage collection workflow.
Delete an artifact version
Delete an artifact version interactively with the W&B App or programmatically with the W&B Python SDK.- W&B App
- W&B Python SDK
To delete an artifact version:
- Navigate to the project that contains the artifact version you want to delete.
- Select the Artifacts tab.
- From the list of artifact types, select the type of artifact that contains the version you want to delete.
- Click the three horizontal dots (
...) next to the artifact version you want to delete. - From the dropdown, choose Delete Version.
Delete multiple artifact versions
The following code example shows how to delete multiple artifact versions. Provide the entity, project name, and run ID that created the artifact as arguments towandb.Api.run(). This returns a run object that you can use to access all artifact versions created by that run. Next, iterate through the artifact versions and delete the ones that match your criteria.
Replace the <entity>, <project>, <run_id>, and <artifact_name> placeholders with your own values:
Delete multiple artifact versions with a specific alias
The following code demonstrates how to delete multiple artifact versions that have a specific alias. Replace the<entity>, <project>, <run_id>, <artifact_name>, and <alias> placeholders with your own values:
Delete an artifact collection
- W&B App
- W&B Python SDK
To delete an artifact collection:
- Navigate to the artifact collection you want to delete.
- Select the three horizontal dots (
...) next to the artifact collection name. - From the dropdown menu, select Delete.
Protected aliases and deletion permissions
Artifacts with protected aliases have special deletion restrictions. Protected aliases are aliases in the W&B Registry that registry admins can set to prevent unauthorized deletion.Important considerations for protected aliases:
- Artifacts with protected aliases cannot be deleted by non-registry admins.
- Within a registry, registry admins can unlink protected artifact versions and delete collections/registries that contain protected aliases.
- For source artifacts: if a source artifact is linked to a registry with a protected alias, it cannot be deleted by any user
- Registry admins can remove the protected aliases from source artifacts and then delete them.
Enable garbage collection based on how W&B is hosted
Garbage collection is enabled by default if you use W&B’s shared cloud. Based on how you host W&B, you might need to take additional steps to enable garbage collection, this includes:- Set the
GORILLA_ARTIFACT_GC_ENABLEDenvironment variable to true:GORILLA_ARTIFACT_GC_ENABLED=true - Enable bucket versioning if you use AWS, Google Cloud or any other storage provider such as Minio. If you use Azure, enable soft deletion.
Soft deletion in Azure is equivalent to bucket versioning in other storage providers.
X indicates you must satisfy the requirement:
| Environment variable | Enable versioning | |
|---|---|---|
| Shared cloud | ||
| Shared cloud with secure storage connector | X | |
| Dedicated Cloud | ||
| Dedicated Cloud with secure storage connector | X | |
| Self-Managed cloud | X | X |
| Self-Managed on-prem | X | X |
note
Secure storage connector is currently only available for Google Cloud Platform and Amazon Web Services.