Spaces:
Build error
Build error
# tracklight_server/api/sync.py | |
from fastapi import APIRouter, Depends, HTTPException | |
from pydantic import BaseModel | |
from ..hf import push, pull | |
from .auth import verify_token | |
router = APIRouter() | |
class SyncRequest(BaseModel): | |
repo_id: str | |
hf_token: str | |
async def sync_push(request: SyncRequest, token: str = Depends(verify_token)): | |
""" | |
Pushes local data to a Hugging Face Dataset repo. | |
""" | |
try: | |
push.push_to_hub(request.repo_id, request.hf_token) | |
return {"message": "Data push initiated."} | |
except Exception as e: | |
raise HTTPException(status_code=500, detail=str(e)) | |
async def sync_pull(request: SyncRequest, token: str = Depends(verify_token)): | |
""" | |
Pulls data from a Hugging Face Dataset repo. | |
""" | |
try: | |
pull.pull_from_hub(request.repo_id, request.hf_token) | |
return {"message": "Data pull initiated."} | |
except Exception as e: | |
raise HTTPException(status_code=500, detail=str(e)) | |