Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
93 lines (63 sloc) 2.44 KB

Once your package is ready it's time to save and distribute it.

Saving a package manifest locally

To save a package to your local disk use build.

import quilt3
p = quilt3.Package()

top_hash = p.build("username/packagename")

Building a package requires providing it with a name. Packages names must follow the $"{namespace}/${packagename}" format. For small teams, we recommend using the package author's name as the namespace.

Authenticating to a remote registry

To share a package with others via a remote registry you will first need to authenticate against, if you haven't done so already:

import quilt3

# only need to run this once
quilt3.config('https://your-catalog-homepage/')

# follow the instructions to finish login
quilt3.login()

Pushing a package to a remote registry

To share a package with others via a remote registry, use push:

import quilt3
p = quilt3.Package()
p.push(
    "username/packagename",
    "s3://your-bucket",
    message="Updated version my package"
)

s3://your-bucket is the registry—the storage backend that the package is available from.

You can omit the registry argument if you configure a default_remote_registry (this setting persists between sessions):

import quilt3
quilt3.config(default_remote_registry='s3://your-bucket')
p = quilt3.Package()
p.push("username/packagename")  

You can control where files land using dest:

p = quilt3.Package()
p.push(
    "username/packagename",
    dest="s3://your-bucket/foo/bar"
)

For even more fine-grained control of object landing paths see Materialization.

Saving a package on a remote registry

push will send both a package manifest and its data to a remote registry. This will involve copying your data to S3. To save just the package manifest to S3 without any data copying, use build:

p = quilt3.Package()
p.build("username/packagename", "s3://your-bucket")

This will create a new version of your package with all of its physical keys preserved.

Delete a package from a registry

To delete a package from a registry:

import quilt3

# delete a package in the local registry
quilt3.delete_package("username/packagename")

# delete a package in a remote registry
quilt3.delete_package("username/packagename", "s3://your-bucket")

Note that this will not delete any package data, only the package manifest.

You can’t perform that action at this time.