umarise-huggingface
Anchor every HuggingFace upload to Bitcoin. Automatically.
umarise-huggingface intercepts upload_file() and upload_folder() to automatically compute a local SHA-256 hash and anchor it to Bitcoin via the Umarise Core API. No files are transmitted — only the hash.
Install
pip install umarise-huggingface
export UMARISE_API_KEY=um_your_key_here
Usage
Option 1: Auto-anchor (recommended)
import umarise_huggingface
from huggingface_hub import HfApi
umarise_huggingface.enable()
api = HfApi()
api.upload_file(
path_or_fileobj="model.safetensors",
path_in_repo="model.safetensors",
repo_id="your-org/your-model",
)
# [umarise] ✓ Anchored your-org/your-model:model.safetensors → origin_id: abc123...
Option 2: With transformers push_to_hub
import umarise_huggingface
umarise_huggingface.enable()
# Works automatically with any push_to_hub call
model.push_to_hub("your-org/your-model")
tokenizer.push_to_hub("your-org/your-model")
# Each file is automatically anchored
Option 3: Explicit
from umarise_huggingface import anchor_file, anchor_folder
# Single file
origin_id = anchor_file("model.safetensors")
# Entire directory
results = anchor_folder("./model_output/", pattern="*.safetensors")
What happens
- You upload via HuggingFace Hub — upload proceeds normally
- SHA-256 is computed locally — bytes never leave your machine
- Hash is submitted to Umarise Core API → anchored to Bitcoin
origin_idis printed to stderr- Within ~2 hours, proof is confirmed on the Bitcoin blockchain
What this proves
- ✓ This exact model/dataset existed no later than time T
- ✓ The artifact was not modified after anchoring
- ✓ Anyone can verify — no Umarise account needed
Verify
# Get the hash of your file
shasum -a 256 model.safetensors
# Verify against Umarise
curl -s https://core.umarise.com/v1-core-verify \
-H 'Content-Type: application/json' \
-d '{"hash":"sha256:YOUR_HASH"}' | python3 -m json.tool
Or visit verify-anchoring.org
Design principles
- Never breaks your pipeline — if anchoring fails, uploads continue normally
- Zero storage — only the SHA-256 hash is sent to Umarise
- Vault-independent — HuggingFace stores the data, Umarise stores the proof
- Independently verifiable — no Umarise account needed to verify
Links
License
Unlicense — public domain.
Metadata
Release files for umarise-huggingface 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| umarise_huggingface-0.2.0.tar.gz | 5.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| umarise_huggingface-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.4 kB
Release files / umarise_huggingface-0.2.0.tar.gz
| Download URL | umarise_huggingface-0.2.0.tar.gz |
|---|---|
| Size | 5.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b3651160510d6fd535e5a7169d475793c5f8faec00a139e5db7c0f4fcef9b471
|
|
BLAKE2b-256 checksum How to use checksums |
5b400134722d480ebe2bde9b4cc4b8c0a22b90e3e4a9322641cf326b28e69ab0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.8
|
Release files / umarise_huggingface-0.2.0-py3-none-any.whl
| Download URL | umarise_huggingface-0.2.0-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
56aca9c6da317a100c18883a044b235ddfa376d053c66956d33ec9f8a4d263f0
|
|
BLAKE2b-256 checksum How to use checksums |
aec0ca6186ed85633fd8769c6a26a6326d124aa99de1cdfd69c0e243db0117a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.8
|