Spaces:
Running
Running
File size: 2,308 Bytes
db3e82c | 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 | """Upload this folder to a Hugging Face Space.
python scripts/deploy_space.py owner/HumanTouch-next --create --private # staging
python scripts/deploy_space.py owner/HumanTouch --pr # production, as a pull request
Uses the token saved by `hf auth login`; the token is never read or printed here.
Files superseded by the humantouch/ package are removed from the Space in the same commit.
"""
import argparse
from pathlib import Path
from huggingface_hub import HfApi
ROOT = Path(__file__).resolve().parents[1]
IGNORE = ['.venv/**', '**/__pycache__/**', '*.pyc', '.pytest_cache/**', '.ruff_cache/**', '.claude/**', 'evals/results/live-*', '.env']
SUPERSEDED = ['.omx/**', '.gstack/**', '__pycache__/**', '**/__pycache__/**', 'amplify.py', 'studio.py', 'studio_ui.py', 'voice.py', 'mcp_tools.py',
'mcp_review.py', 'DESIGN.md', 'scripts/check_interface.py', 'scripts/check_mcp.py', 'tests/fixtures/**',
'tests/test_amplify.py', 'tests/test_feature_integration.py', 'tests/test_humantouch.py', 'tests/test_legacy_contract.py',
'tests/test_voice.py', 'tests/test_writing_quality.py']
def main() -> None:
parser = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument('repo_id')
parser.add_argument('--create', action='store_true', help='create the Space if it does not exist')
parser.add_argument('--private', action='store_true')
parser.add_argument('--pr', action='store_true', help='open a pull request instead of committing to main')
parser.add_argument('--message', default='HumanTouch: authorial-preservation engine, change ledger, Voiceprint, evals')
args = parser.parse_args()
api = HfApi()
if args.create:
api.create_repo(args.repo_id, repo_type='space', space_sdk='gradio', private=args.private, exist_ok=True)
commit = api.upload_folder(repo_id=args.repo_id, repo_type='space', folder_path=str(ROOT), ignore_patterns=IGNORE,
delete_patterns=SUPERSEDED, commit_message=args.message, create_pr=args.pr)
print('commit:', commit.oid)
print('url:', getattr(commit, 'pr_url', None) or f'https://huggingface.co/spaces/{args.repo_id}')
if __name__ == '__main__':
main()
|