Add a deploy-on-Hugging-Face-Spaces option for users without an LS instance#1
Draft
davanstrien wants to merge 1 commit into
Draft
Add a deploy-on-Hugging-Face-Spaces option for users without an LS instance#1davanstrien wants to merge 1 commit into
davanstrien wants to merge 1 commit into
Conversation
Adds a references/deploy_on_spaces.md guide that stands up a persistent Label Studio instance on a Hugging Face Space via three `hf` CLI commands, for users who don't already have an instance for the validate/push steps. - references/deploy_on_spaces.md: hf-CLI deploy recipe (bucket + duplicate + factory reboot), verify, credentials, lock-down, hardware notes. ToC included per skill best practices (file >100 lines). - SKILL.md: frontmatter description covers the "no instance yet" case; a pointer in the Credentials section. Framed as one option alongside standard local/Docker/self-hosted/Enterprise installs — not the default. - README.md: sibling subsection under Prerequisites next to the existing local-install instructions. Reference-only: no new scripts, no new dependencies, no auth-model change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Author
|
cc @micaelakaplan — opening this as a draft per our 2026-05-27 sync, as a concrete place to anchor the combined deploy + configure direction. Kept it deliberately minimal (one new reference doc + small SKILL.md/README tweaks, no scripts/deps), and framed HF Spaces as one option rather than a default so it fits alongside the standard installs. The thing I'd most value your read on is the legacy → PAT auth point in the description — the deploy doc surfaces that modern LS orgs disable legacy tokens by default, which affects the bundled scripts too. Happy to follow up with a separate PR for that (and to take this draft in whatever direction best fits the skill's conventions). No rush. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this adds
A
references/deploy_on_spaces.mdguide that stands up a persistent Label Studio instance on a Hugging Face Space in threehfCLI commands (create a bucket → duplicate the official LS Space → factory reboot), plus the credential and lock-down steps to make it usable from this skill.It fills the one gap this skill has no answer for: the
validate_config.py --serverandpush_config.pysteps need a reachable instance, and the skill doesn't help you create one. It's offered as one convenient option alongside the standard local / Docker / self-hosted / Enterprise installs — not as a new default.Diff is reference-only: one new reference doc, a pointer + description tweak in
SKILL.md, and a sibling subsection inREADME.mdnext to the existing local-install instructions. No new scripts, no new dependencies, no change to the existing auth model.Why
Following a 2026-05-27 sync (Daniel / Hugging Face ↔ Micaela / HumanSignal): the idea is a combined deploy + configure surface — "no Label Studio instance yet → deploy" and "have one → configure" in the same skill. This draft is the deploy half, kept minimal so we can shape it together.
Opening as a draft — discussion anchor
Marking this draft deliberately: it's a concrete place to point at while we work through the threads below. Happy to take it in whatever direction fits the skill's conventions.
1. Modernize the skill's auth (directly relevant to this diff)
The skill authenticates with a legacy token (
LABEL_STUDIO_API_KEY, sent asAuthorization: Token …). Modern Label Studio organizations disable legacy tokens by default — you hit401 — legacy token authentication has been disabled for this organization. The new deploy doc has to flag this in its credentials section, which makes the gap visible.Worth discussing whether the skill (and
validate_config.py/push_config.py) should move to the modern Personal Access Token flow (refresh → short-lived access token viaPOST /api/token/refresh/), or the modernlabel_studio_sdk.LabelStudioclient that accepts PATs. Happy to follow up with a PR for that if you agree on the direction.2. Broader threads from the sync (not part of this diff)
Listing so this PR can double as a discussion home:
_get_tasks/fitpath in severallabel-studio-ml-backendexamples constructs the legacyClient, so auto-train 401s against modern-auth instances; naive per-webhook refresh also trips a429(needs token caching). Is there an official correct pattern?fit(). Sanctioned way for a backend to refresh predictions post-train?