CoolFace
Modelpublic

Felipe97/llama-cpp-compiled

sourceHugging Faceupdated 3d agoView on Hugging Face
0likes1.1kdownloads
hf-create-collection.py107 linesDownload Raw Back to utils
1#!/usr/bin/env python32 3from huggingface_hub import HfApi4import argparse5import os6import sys7 8 9def create_collection(title, description, private=False, namespace=None, return_slug=False):10    """11    Create a new collection on Hugging Face12 13    Args:14        title: Collection title15        description: Collection description16        private: Whether the collection should be private (default: False)17        namespace: Optional namespace (defaults to your username)18 19    Returns:20        Collection object if successful, None if failed21    """22 23    # Check if HF_TOKEN is available24    token = os.getenv("HF_TOKEN") or os.getenv("HUGGINGFACE_HUB_TOKEN")25    if not token:26        print("❌ No HF_TOKEN or HUGGINGFACE_HUB_TOKEN found in environment variables")27        print("Please set your Hugging Face token as an environment variable")28        return None29 30    # Initialize API31    api = HfApi()32 33    try:34        # Test authentication first35        user_info = api.whoami()36        if not return_slug:37            print(f"✅ Authenticated as: {user_info['name']}")38 39        # Create the collection40        if not return_slug:41            print(f"📚 Creating collection: '{title}'...")42        collection = api.create_collection(43            title=title,44            description=description,45            private=private,46            namespace=namespace47        )48 49        if not return_slug:50            print(f"✅ Collection created successfully!")51            print(f"📋 Collection slug: {collection.slug}")52            print(f"🔗 Collection URL: https://huggingface.co/collections/{collection.slug}")53 54        return collection55 56    except Exception as e:57        print(f"❌ Error creating collection: {e}")58        return None59 60def main():61    # This script requires that the environment variable HF_TOKEN is set with your62    # Hugging Face API token.63    api = HfApi()64 65    parser = argparse.ArgumentParser(description='Create a Huggingface Collection')66    parser.add_argument('--name', '-n', help='The name/title of the Collection', required=True)67    parser.add_argument('--description', '-d', help='The description for the Collection', required=True)68    parser.add_argument('--namespace', '-ns', help='The namespace to add the Collection to', required=True)69    parser.add_argument('--private', '-p', help='Create a private Collection', action='store_true')  # Fixed70    parser.add_argument('--return-slug', '-s', help='Only output the collection slug', action='store_true')  # Fixed71 72    args = parser.parse_args()73 74    name = args.name75    description = args.description76    private = args.private77    namespace = args.namespace78    return_slug = args.return_slug79 80    if not return_slug:81        print("🚀 Creating Hugging Face Collection")82        print(f"Title: {name}")83        print(f"Description: {description}")84        print(f"Namespace: {namespace}")85        print(f"Private: {private}")86 87    collection = create_collection(88        title=name,89        description=description,90        private=private,91        namespace=namespace,92        return_slug=return_slug93    )94 95    if collection:96        if return_slug:97            print(collection.slug)98        else:99            print("\n🎉 Collection created successfully!")100            print(f"Use this slug to add models: {collection.slug}")101    else:102        print("\n❌ Failed to create collection")103        sys.exit(1)104 105if __name__ == "__main__":106    main()107