<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/record-train-and-deploy-from-one-place-with-strands-agents-lerobot-and-hugging-face-storage-buck-r7tlnpl0s" -->

---
title: Record, train, and deploy from one place with Strands...
description: A walkthrough shows how to build a continuous robot data loop using Strands Robots, LeRobot, and Hugging Face Storage Buckets: record demonstrations into a...
canonical: https://daily.dev/posts/record-train-and-deploy-from-one-place-with-strands-agents-lerobot-and-hugging-face-storage-buck-r7tlnpl0s
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Record, train, and deploy from one place with Strands Agents, LeRobot, and Hugging Face Storage Buckets | daily.dev
og:description: A walkthrough shows how to build a continuous robot data loop using Strands Robots, LeRobot, and Hugging Face Storage Buckets: record demonstrations into a...
og:url: https://daily.dev/posts/record-train-and-deploy-from-one-place-with-strands-agents-lerobot-and-hugging-face-storage-buck-r7tlnpl0s
og:image: https://api.daily.dev/og/posts/R7TLnPL0S.png
og:image:alt: Record, train, and deploy from one place with Strands Agents, LeRobot, and Hugging Face Storage Buckets
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Record, train, and deploy from one place with Strands Agents, LeRobot, and Hugging Face Storage Buckets

**[Hugging Face](https://daily.dev/sources/huggingface)** · 21 min read · 2 upvotes · 0 comments

## Summary

A walkthrough shows how to build a continuous robot data loop using Strands Robots, LeRobot, and Hugging Face Storage Buckets: record demonstrations into a mutable, Xet-backed bucket that deduplicates uploads at the byte level, stream the dataset straight from the Hub to train without downloading it first, then deploy the resulting checkpoint back to hardware with a single keyword argument change. Byte-level deduplication cuts transferred data roughly fourfold per upload, and streaming avoids idle GPU time waiting on full dataset downloads. Security considerations cover prompt injection risk, treating training data as a trust boundary, scoping bucket credentials, and the fact that buckets keep no revision history unlike versioned Hub repositories.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://huggingface.co/blog/amazon/strands-lerobot-streaming-data-loop>

## Questions this post answers

### What is Hugging Face Storage Buckets and how is it different from a regular dataset repository on the Hub?

Hugging Face Storage Buckets is a mutable, non-versioned, Xet-backed object storage repository type announced in March 2026 that lives inside the hf:// namespace alongside dataset repos. Unlike versioned datasets where every append becomes a commit with retained revisions, a bucket lets you overwrite bytes in place with no IAM roles, CORS rules, or upload service to configure, making it suited for continuous data collection rather than published artifacts.

_Teams weighing bucket versus versioned storage for robot data pipelines can track these format changes on daily.dev._

### How much data transfer does Xet's content-defined chunking save when re-uploading a partially changed file?

Content-defined chunking reduces data transferred per upload by about four times across the Hub on average. In a benchmark starting from a 500 MB file, changing 1% of bytes and re-uploading moved only 5.5 MB, changing 5% moved 27.5 MB, and changing 10% moved 55 MB, versus re-sending the whole file without chunk-level deduplication.

_Anyone optimizing storage costs for large binary datasets can follow dedup benchmarks like this via daily.dev._

### How can I train a LeRobot policy directly from a Hugging Face bucket without downloading the dataset first?

Pass repo_type=bucket together with streaming=true to lerobot-train, or call stream_dataset() with repo_type='bucket' to get a StreamingLeRobotDataset that reads Parquet and MP4 shards over byte-range reads. A measured run trained ACT (51.6M parameters, batch size 8) for 500 steps on a single NVIDIA L4 GPU in 133 seconds with nothing landing on local disk except the meta folder.

_Developers wiring up GPU training pipelines against remote datasets can track approaches like this on daily.dev._

## Similar posts on daily.dev

- [AWS creates a sandbox for its agent experiments](https://daily.dev/posts/aws-creates-a-sandbox-for-its-agent-experiments-r5p1skjmm) · The New Stack · 0 upvotes · 0 comments
- [Build and Run Your Own AI Agent in the Cloud](https://daily.dev/posts/build-and-run-your-own-ai-agent-in-the-cloud-aoostzrec) · Towards Data Science · 1 upvotes · 0 comments
- [Deep Learning — Managing Training Data: lakeFS for the Files, MatrixOne for the Metadata](https://daily.dev/posts/deep-learning-managing-training-data-lakefs-for-the-files-matrixone-for-the-metadata-jtdbn7nwp) · Medium · 1 upvotes · 0 comments

---

Tags: [#ai-agents](https://daily.dev/tags/ai-agents), [#robotics](https://daily.dev/tags/robotics), [#huggingface](https://daily.dev/tags/huggingface), [#data-streaming](https://daily.dev/tags/data-streaming)

[View this post on daily.dev](https://daily.dev/posts/record-train-and-deploy-from-one-place-with-strands-agents-lerobot-and-hugging-face-storage-buck-r7tlnpl0s)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Record, train, and deploy from one place with Strands Agents, LeRobot, and Hugging Face Storage Buckets","url":"https://daily.dev/posts/record-train-and-deploy-from-one-place-with-strands-agents-lerobot-and-hugging-face-storage-buck-r7tlnpl0s","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/record-train-and-deploy-from-one-place-with-strands-agents-lerobot-and-hugging-face-storage-buck-r7tlnpl0s"},"datePublished":"2026-08-13T17:16:44.718Z","dateModified":"2026-09-13T21:58:32.255Z","description":"A walkthrough shows how to build a continuous robot data loop using Strands Robots, LeRobot, and Hugging Face Storage Buckets: record demonstrations into a...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/19897d5e271ad13198ffa477ccf90bd1?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/19897d5e271ad13198ffa477ccf90bd1?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hugging Face","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hugging Face","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/f1f55c67d81a4330acf5b90b26b0c8e1","url":"https://daily.dev/sources/huggingface"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/record-train-and-deploy-from-one-place-with-strands-agents-lerobot-and-hugging-face-storage-buck-r7tlnpl0s","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ai-agents,robotics,huggingface,data-streaming","timeRequired":"PT21M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hugging Face","item":"https://daily.dev/sources/huggingface"},{"@type":"ListItem","position":3,"name":"Record, train, and deploy from one place with Strands Agents, LeRobot, and Hugging Face Storage Buckets"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/record-train-and-deploy-from-one-place-with-strands-agents-lerobot-and-hugging-face-storage-buck-r7tlnpl0s#faq","mainEntity":[{"@type":"Question","name":"What is Hugging Face Storage Buckets and how is it different from a regular dataset repository on the Hub?","acceptedAnswer":{"@type":"Answer","text":"Hugging Face Storage Buckets is a mutable, non-versioned, Xet-backed object storage repository type announced in March 2026 that lives inside the hf:// namespace alongside dataset repos. Unlike versioned datasets where every append becomes a commit with retained revisions, a bucket lets you overwrite bytes in place with no IAM roles, CORS rules, or upload service to configure, making it suited for continuous data collection rather than published artifacts. Teams weighing bucket versus versioned storage for robot data pipelines can track these format changes on daily.dev."}},{"@type":"Question","name":"How much data transfer does Xet's content-defined chunking save when re-uploading a partially changed file?","acceptedAnswer":{"@type":"Answer","text":"Content-defined chunking reduces data transferred per upload by about four times across the Hub on average. In a benchmark starting from a 500 MB file, changing 1% of bytes and re-uploading moved only 5.5 MB, changing 5% moved 27.5 MB, and changing 10% moved 55 MB, versus re-sending the whole file without chunk-level deduplication. Anyone optimizing storage costs for large binary datasets can follow dedup benchmarks like this via daily.dev."}},{"@type":"Question","name":"How can I train a LeRobot policy directly from a Hugging Face bucket without downloading the dataset first?","acceptedAnswer":{"@type":"Answer","text":"Pass repo_type=bucket together with streaming=true to lerobot-train, or call stream_dataset() with repo_type='bucket' to get a StreamingLeRobotDataset that reads Parquet and MP4 shards over byte-range reads. A measured run trained ACT (51.6M parameters, batch size 8) for 500 steps on a single NVIDIA L4 GPU in 133 seconds with nothing landing on local disk except the meta folder. Developers wiring up GPU training pipelines against remote datasets can track approaches like this on daily.dev."}}]}
```

