Skip to main content

DataHive

datahive-tools: the client-side package a lab installs to collect, validate, annotate, and upload HiveBoard manipulation episodes to its private Hugging Face dataset repo.

Install

pip install -e .

Quickstart

datahive init                 # one-time: writes ~/.datahive/config.yaml (0600)
datahive new-profile          # writes samples/robot_profile.yaml -- fill in ONCE
# ... record episodes into samples/{session}/episodes/{episode}.h5 + .mp4 ...
datahive check <episode_id>   # pre-annotation health check (frames, Hz, MP4s)
datahive annotate <episode_id>
datahive validate <episode_id>
datahive upload <episode_id>
datahive sync                 # reconcile all of samples/ with the Hub
datahive list
datahive delete <episode_id>
datahive interface --port 8000 # local web GUI, localhost only (alias: serve)

See docs/MANUAL_SMOKE_TEST.md for the manual (non-automated) end-to-end check against a real, disposable Hugging Face repo.

The sections of datahive interface

Opening the interface shows a start screen with two sections, plus an About and FAQ area. Both sections share the same samples/ tree.

  • Runner – runs HiveBoard trials. Create a session (operator and date; the lab ID comes from datahive init and the platform ID from the robot profile), generate the trial plan (5 trials for each chosen task, shuffled or ordered), then run each trial in one of two modes, switchable at any time:
    • Manual: 5 s countdown, stopwatch, sounds and automatic timeout in the browser (Space starts and stops), then record the outcome and upload the HDF5 file and one video per camera in the robot profile. The trial counts as valid only when all of them are uploaded and the episode passes validation.
    • Automatic: send the trial to your robot script (below). It records the episode, and you annotate it in the Annotate section, which opens on that episode.
  • Annotate – review recorded episodes, annotate them, validate the data, and upload it to the Hub.

Robot side of automatic mode:

from datahive.collect import CollectClient

robot = CollectClient("samples", base_url="http://127.0.0.1:8000")
while True:
    task = robot.wait_for_task()             # blocks until you press "Send to robot"
    with robot.new_writer(task) as writer:   # EpisodeWriter for that trial
        ...                                  # append_proprioception / append_command / attach_video
    robot.finish(writer)                     # hands the episode over, waits for the annotation

Trials are saved as rows of samples/<session>/trials.csv; all times are stored in UTC.

AI assistant skills

Two skills for AI coding assistants (e.g. Claude Code) live in src/datahive/skills/:

  • datahive-data-prep – how to lay out, format, annotate and check data under samples/ so it validates.
  • datahive-auto-collect – how automatic collection works and how to adapt the robot script to your setup.

Install them for Claude Code with:

datahive install-skill          # into ./.claude/skills (this project)
datahive install-skill --user   # into ~/.claude/skills (all projects)
datahive install-skill --dir DIR --force

Tests

pip install -e ".[dev]"
pytest

All tests run with no real network access and no real Hugging Face credentials.

Credits & Acknowledgments

All credit for the underlying pipeline architecture goes to the Oopsie Data (oopsie-data / oopsie_data_tools) project. DataHive was built on top of their pipeline patterns, including:

  • Interactive Annotation & GUI: The web-based annotator interface, video playback controls, task picker, episode navigation, and failure classification.
  • Data Lifecycle: The full init -> new-profile -> annotate -> validate -> upload -> sync pipeline.
  • Dataset Structure & Profiling: Hardware platform specification snapshots, HDF5 episode storage, and Hub reconciliation.

We are deeply grateful to the Oopsie Data contributors for their pioneering work in robotic data pipelines.

Metadata

Release files for datahive-tools 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for datahive-tools 0.1.1
File Size Uploaded
datahive_tools-0.1.1.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for datahive-tools 0.1.1
File Interpreter ABI Platform
datahive_tools-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / datahive_tools-0.1.1.tar.gz

Download URL datahive_tools-0.1.1.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
f2b842732822ca0803b0719eb9fc5ef14da9e2c568f2c146fbabeb7d7f59df8b
BLAKE2b-256 checksum
How to use checksums
55bb4e4a01aec63289582fb5dd5de6d268b0531d9f7f6dd8d649757104a28d78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

Release files / datahive_tools-0.1.1-py3-none-any.whl

Download URL datahive_tools-0.1.1-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8d867a6954842491f7dbd1ac55fa9e15f2b53e923ed36237576120fa4eb2c271
BLAKE2b-256 checksum
How to use checksums
c67db841e85c62a52312d72a6a0ebc3c792d51a2c8dadcb3933dc278e6619b56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

Release history Release notifications | RSS feed

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page