Core concepts

Unweave Store

The Unweave Store is like an S3 bucket mounted at the base of your Git Repository. It doesn't exist on your local machine, however, any code you run with Unweave will be able to access the data in the store at the path ./uwstore relative to the project root. We'll refer to the Unweave Store as the uwstore in the rest of this document.


Accessing data from the uwstore

When you execute a zepl, Unweave builds your environment in a Virtual Machine in the cloud and mounts your data at the ./uwstore path at the base of your repo.

You can read data from this path in your code like you would from a folder on your local machine.

You can access data from the uwstore either through the Dashboard or the CLI. Use the unweave store upload or unweave store download commands followed by the filepath you want to sync.

# Upload file from path ~/image_a.jpg on the local machine to the Unweave Store 
unweave store upload ~/image_a.jpg

# You can now download this file back from the path uwstore/image_a.jpg
uwstore store download image_a.jpg

Saving output back to the uwstore

Any data you save to the ./uwstore folder will be automatically synced when your code exits.

# ./train.py

output = "hello,world"

with open("./uwstore/output.csv", "w") as out:
    out.write(output)

Versioning the Output of Zepls

Unweave versions the output of zepls by default. This allows you to check exactly what data was used to produce a given output at any point in time when training a ML model. You can get a full snapshot of the state of the uwstore at the start and end of your code execution from the Dashboard.

Previous
What is a Zepl?