Back
Object Store Generally Available
James Chainey
Product

Object Store Generally Available

Object storage now available for general use

We’re proud to announce the general availability of our Object Storage SDK: a first-class way to ship binaries, datasets, and runtime resources onto devboxes.We're proud to announce the general availability of our Object Storage SDK: a first-class way of shipping binaries, datasets and runtime resources onto devboxes.

Management for Late-Binding Resources

Many teams need to ensure that late-binding resources—like config files or datasets—are ready and available on a devbox before an agent attempts to use it. Most sandbox providers don’t have a good solution to this problem. Instead, users are forced to manually orchestrate file management by uploading files and ensuring the agent isn’t started before those resources are available. If an upload fails, the onus is on you to diagnose and fix the problem—for every single file you use.

Runloop offers a clear improvement. Our object storage solution acts as a single, shared artifact repository. Your files are kept secure and isolated in a dedicated data store that’s SOC 2– and HIPAA-compliant. Files are guaranteed to be available on the devbox before the box is marked ready.

With Runloop’s Object Storage SDK, you’re no longer forced to choose between baking files into a container or uploading them after startup. Now you can get the best of both worlds.

Consistent, Durable Files

The Object Storage SDK gives you:

  • Seamless storage for files, directories, and object blobs
  • Automatic unpacking on devboxes before the box is launched
  • Reproducible, isolated, and secure environments—even with late-binding resources
  • Durable storage that meets your compliance needs

Lightning-Fast Machines

Runloop already offered blazing-fast startup times for custom images, but there’s a difference between available and ready. With the Object Storage SDK, your machines reach the exact state you want—in milliseconds.

This isn’t just about performance; it’s about cost. The Object Storage SDK avoids wasting cycles on repetitive, expensive upload tasks. If you start a machine and it isn’t usable until uploads finish, in what meaningful sense is it ready?

Get Started Today

Using the Object Storage SDK couldn’t be easier with our object-oriented SDKs, available for both Python and TypeScript:

import { RunloopSDK } from '@runloop/api-client-ts'

const runloop = new RunloopSDK()

// save the object
const storageObject = await runloop.storageObject.uploadFromFile(
  './my-file.txt', // local file reference
  'my-file.txt',   // name of file in the mount
  { metadata: { project: 'demo' } },
)

// start a devbox with the object mounted on the box
const devboxWithFile = await runloop.devboxes.create({
  name: 'devbox-with-file',
  // path the mount will use on the devbox and the storage object to mount
  mounts: [{ '/opt/my-app/my-file-on-devbox.txt': storageObject }],
})

// download the file you just created
const text = await storageObject.downloadAsText()

Full TypeScript documentation.

Full Python documentation.

We built this feature because developers kept asking for a simpler, safer way to manage artifacts across environments. Now you have it: a single place to store what your agents need, and a guaranteed way to make it appear exactly where—and when—it’s required.

We can’t wait to see what you build with it.

Do you have suggestions or feedback? We’d love to hear from you.