File size: 1,970 Bytes
3751f09
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
51
52
53
54
55
56
57
58
59
60
61
import argparse
import os
from huggingface_hub import upload_folder, create_repo

def main():
    parser = argparse.ArgumentParser(description="Upload project to Hugging Face Hub cleanly without virtual environment files")
    parser.add_argument("--repo", required=True, help="Hugging Face repo ID (e.g., LordofMonarchs/intelligent-candidate-ranking-system)")
    parser.add_argument("--type", default="space", choices=["space", "model", "dataset"], help="Repository type")
    args = parser.parse_args()

    project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    
    ignore_patterns = [
        ".venv/*",
        ".venv/**",
        "venv/*",
        "venv/**",
        ".git/*",
        ".git/**",
        ".vscode/*",
        ".vscode/**",
        "__pycache__/*",
        "**/__pycache__/*",
        "**/*.py[cod]",
        "candidates.jsonl", # 487MB raw candidates file
        "*.csv",
        "logs/*",
        "logs/**",
        "*.log",
        "reasoning_trace.jsonl",
        "scratch/*",
        "scratch/**",
        "diagnostics/*",
        "diagnostics/**",
        "_tmp_*",
    ]

    print(f"Checking/creating Hugging Face {args.type} repo: '{args.repo}'...")
    try:
        create_repo(repo_id=args.repo, repo_type=args.type, exist_ok=True)
    except Exception as e:
        print(f"Note on create_repo: {e}")

    print(f"Starting clean upload of '{project_root}' to Hugging Face {args.type}: '{args.repo}'...")
    print("Ignoring .venv, .git, logs, and large local datasets...")

    url = upload_folder(
        folder_path=project_root,
        repo_id=args.repo,
        repo_type=args.type,
        ignore_patterns=ignore_patterns,
    )

    print("\n============================================================")
    print("SUCCESS! Upload complete.")
    print(f"View live repository at: {url}")
    print("============================================================")

if __name__ == "__main__":
    main()