Spaces:
Running
Running
| from __future__ import annotations | |
| import os | |
| from pathlib import Path | |
| from huggingface_hub import HfApi | |
| def main() -> None: | |
| token = os.getenv("HF_TOKEN") | |
| space_id = os.getenv("HF_SPACE_ID") | |
| if not token: | |
| raise SystemExit("Set HF_TOKEN to a Hugging Face write token.") | |
| if not space_id or "/" not in space_id: | |
| raise SystemExit("Set HF_SPACE_ID, for example: your-username/ai-image-forensics") | |
| root = Path(__file__).resolve().parents[1] | |
| api = HfApi(token=token) | |
| api.create_repo( | |
| repo_id=space_id, | |
| repo_type="space", | |
| space_sdk="gradio", | |
| exist_ok=True, | |
| private=os.getenv("HF_SPACE_PRIVATE", "0").lower() in {"1", "true", "yes"}, | |
| ) | |
| commit = api.upload_folder( | |
| repo_id=space_id, | |
| repo_type="space", | |
| folder_path=root, | |
| commit_message="Deploy AI image forensics Space", | |
| ignore_patterns=[ | |
| ".git/*", | |
| "__pycache__/*", | |
| "**/__pycache__/*", | |
| "*.pyc", | |
| ".env*", | |
| ".venv/*", | |
| "venv/*", | |
| ".cache/*", | |
| "hf_cache/*", | |
| "models/*", | |
| "checkpoints/*", | |
| "*.ckpt", | |
| "*.pt", | |
| "*.pth", | |
| "*.onnx", | |
| "*.bin", | |
| "*.safetensors", | |
| ], | |
| ) | |
| print(f"Uploaded to https://huggingface.co/spaces/{space_id}") | |
| print(f"Commit: {commit.oid}") | |
| if __name__ == "__main__": | |
| main() | |