starplast.hf_publish
Publishing the study corpus to HuggingFace, license-gated.
The 97 proximity-labeling and pulldown studies come to ~400 MB, which is past what belongs in git but unremarkable for a HuggingFace dataset repo. The obstacle is not size, it is redistribution rights.
Measured from the JATS license blocks of the local full texts:
52 CC-BY redistributable with attribution
1 non-commercial must be excluded
6 vague "open access", "other" -- needs a human decision
38 no local full text unknown
So this module does two things and refuses to do a third. It builds a derived release — the parsed gene-membership table plus a manifest of source URLs — which sidesteps most of the ambiguity, is what is actually useful downstream, and is roughly a hundredth the size. And it can mirror the raw supplementary files, but only for studies whose license it has positively confirmed as permissive; anything unknown or non-commercial is skipped and listed, never silently included.
Nothing here uploads without an explicit call. plan() shows what would go, and is the intended first
step.
Read each study's license out of its local JATS, where we have it.
What a release would contain. Call this before build_release.
Write the derived release: membership table, study manifest, licenses, and a dataset card.
Push a staged release. Requires huggingface_hub and a token; never called automatically.