Anton Malykhin
feat(exports): add public tools export endpoints
7ee4f6a
|
Raw
History Blame Contribute Delete
2.91 kB
metadata
title: HiveTrace Leaderboard
emoji: 🛡️
colorFrom: green
colorTo: indigo
sdk: docker
app_port: 5173
pinned: true
short_description: HiveTrace leaderboard frontend
tags:
  - leaderboard
  - sveltekit
  - docker

HiveTrace Leaderboard frontend

Overview

HiveTrace Leaderboard is a SvelteKit frontend for browsing guardrail benchmark results from a private Hugging Face bucket.

The app uses:

Requirements

  • Node.js 20.19.5 or newer
  • pnpm 11.9.0

Setup

From the project root:

pnpm install

Create a local .env file from the example:

cp .env.example .env

Then configure a read token with access to the private Hugging Face bucket.

Required server-only environment variables:

HF_TOKEN=hf_...
HF_BUCKET_ID=...
HF_BUCKET_PREFIX=latest

Do not rename HF_TOKEN to PUBLIC_HF_TOKEN. The token is used only on the SvelteKit server. In production, pass it as a runtime secret, not as a Docker build argument.

Public exports

The Space exposes stable export URLs for automation and pipelines. These URLs are public and can be fetched with curl without passing a token:

curl -L "https://<space-domain>/exports/ranking.csv"
curl -L "https://<space-domain>/exports/ranking.json"
curl -L "https://<space-domain>/exports/details-matrix.csv"
curl -L "https://<space-domain>/exports/details-matrix.json"
curl -L "https://<space-domain>/exports/tools.csv"
curl -L "https://<space-domain>/exports/tools.json"

The exports are generated by the SvelteKit server from the same server-side bucket access used by the Ranking, Details, and Visualizations pages. The private Hugging Face bucket is not downloaded directly by clients, and HF_TOKEN remains server-only.

The ranking export uses the default leaderboard view: all benchmarks, all models, and integral descending sort. The details matrix export uses the default matrix view: score metric, all groups, all models, and integral descending sort. The tools export uses all models and all benchmark groups with data. Its CSV is built with the same formatter as the Visualizations page Export CSV button when all models and groups are selected.

Development

pnpm dev

Validation

Before pushing, format the code, run linting, run Svelte/TypeScript checks, and verify the production build.

Format:

pnpm format

Lint:

pnpm lint

Check Tailwind utility classes:

pnpm tailwind:check

Check SvelteKit, TypeScript, and Svelte components:

pnpm check

Build:

pnpm build