Spaces:
Runtime error
Runtime error
| # Script to delete empty models from the community org. | |
| # Can be run manually or scheduled to run periodically in the Space. | |
| # Usage: python clean_community_org.py | |
| # | |
| # 1. List models from https://huggingface.co/mergekit-community | |
| # 2. Filter out models with no files. | |
| # 3. Filter out models that are newer than 1 hour. | |
| # 4. Delete the remaining models. | |
| from datetime import datetime, timezone | |
| from huggingface_hub import HfApi | |
| def garbage_collect_empty_models(token: str | None = None): | |
| api = HfApi(token=token) | |
| now = datetime.now(timezone.utc) | |
| print("Running garbage collection on mergekit-community.") | |
| for model in api.list_models(author="mergekit-community", full=True): | |
| if model.siblings and len(model.siblings) > 1: | |
| # If model has files, then it's not empty | |
| continue | |
| if (now - model.last_modified).total_seconds() < 3600: | |
| # If model was updated in the last hour, then keep it | |
| # to avoid deleting models that are being uploaded | |
| print("Skipping", model.modelId, "(recently updated)") | |
| continue | |
| try: | |
| print(f"Deleting {model.modelId}") | |
| api.delete_repo(model.modelId, missing_ok=True) | |
| except Exception as e: | |
| print(f"Error deleting {model.modelId}: {e}") | |
| if __name__ == "__main__": | |
| garbage_collect_empty_models() | |