File size: 1,339 Bytes
1ccf66a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from dotenv import load_dotenv
import os
from huggingface_hub import HfApi, upload_folder, login
import logging

def setup_logging():
    logging.basicConfig(
        level=logging.INFO,
        format='%(asctime)s - %(levelname)s - %(message)s'
    )
    return logging.getLogger(__name__)

def validate_environment():
    load_dotenv()
    token = os.getenv("HF_ACCESS_TOKEN")
    if not token:
        raise ValueError("HF_ACCESS_TOKEN environment variable is not set")
    return token

def upload_to_existing_space(local_dir: str, repo_id: str, token: str = None) -> None:
    logger = setup_logging()

    try:
        # Login
        token = token or validate_environment()
        login(token=token)

        # Initialize API
        api = HfApi()

        # Upload files to existing space
        logger.info(f"Uploading files from {local_dir} to {repo_id}")
        upload_folder(
            folder_path=local_dir,
            repo_id=repo_id,
            repo_type="space"
        )

        logger.info("Upload completed successfully")

    except Exception as e:
        logger.error(f"Upload failed: {str(e)}")
        raise

if __name__ == "__main__":
    upload_to_existing_space(
        local_dir=r"D:\TEST PROJECT\Brain_AI",
        repo_id="rudra0410hf/brain-ai"
    )