comparator / src /hub.py
albertvillanova's picture
Refactor glob to use the cache of HfFileSystem
7e32ac7 verified
raw
history blame contribute delete
743 Bytes
import io
import json
import httpx
from huggingface_hub import HfFileSystem, hf_hub_url
from huggingface_hub.utils import build_hf_headers
client = httpx.AsyncClient(follow_redirects=True)
fs = HfFileSystem()
def glob(path):
paths = fs.glob(path)
return paths
async def load_json_file(path):
url = to_url(path)
r = await client.get(url)
return r.json()
async def load_jsonlines_file(path):
url = to_url(path)
r = await client.get(url, headers=build_hf_headers())
f = io.StringIO(r.text)
return [json.loads(line) for line in f]
def to_url(path):
_, org_name, ds_name, filename = path.split("/", 3)
return hf_hub_url(repo_id=f"{org_name}/{ds_name}", filename=filename, repo_type="dataset")