LogoLogo
HomeGitHub RepoBook Demo
dev
dev
  • About Quilt
  • Architecture
  • Mental Model
  • Metadata Management
  • Metadata Workflows
  • Quilt Platform (Catalog) User
    • About the Catalog
    • Bucket Browsing
    • Document Previews
    • Embeddable iFrames
    • Packaging Engine
    • Query
    • Quilt+ URIs
    • Qurator Omni
    • Search
    • Visualization & Dashboards
    • Advanced
      • Athena
      • Elasticsearch
      • Removing Stacks
  • Quilt Platform Administrator
    • Admin Settings UI
    • Catalog Configuration
    • Cross-Account Access
    • Enterprise Installs
    • quilt3.admin Python API
    • Advanced
      • Package Events
      • Private Endpoints
      • Restrict Access by Bucket Prefix
      • S3 Events via EventBridge
      • SSO Permissions Mapping
      • Tabulator
      • Troubleshooting
        • SSO Redirect Loop
    • Best Practices
      • GxP for Security & Compliance
      • Organizing S3 Buckets
  • Quilt Python SDK
    • Installation
    • Quick Start
    • Editing a Package
    • Uploading a Package
    • Installing a Package
    • Getting Data from a Package
    • Example: Git-like Operations
    • API Reference
      • quilt3
      • quilt3.Package
      • quilt3.Bucket
      • quilt3.hooks
      • Local Catalog
      • CLI, Environment
      • Known Limitations
      • Custom SSL Certificates
    • Advanced
      • Browsing Buckets
      • Filtering a Package
      • .quiltignore
      • Manipulating Manifests
      • Materialization
      • S3 Select
    • More
      • Changelog
      • Contributing
      • Frequently Asked Questions
      • Troubleshooting
  • Quilt Ecosystem Integrations
    • Benchling Packager
    • Event-Driven Packaging
    • Nextflow Plugin
Powered by GitBook
On this page
  • Saving a package manifest locally
  • Authenticating to a remote registry
  • Pushing a package to a remote registry
  • Saving a package on a remote registry
  • Delete a package from a registry

Was this helpful?

  1. Quilt Python SDK

Uploading a Package

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("aneesh/test_data")

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:

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

# 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:

p = quilt3.Package()
p.push(
    "aneesh/test_data",
    "s3://quilt-example",
    message="Updated version my package"
)

s3://quilt-example 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):

quilt3.config(default_remote_registry='s3://quilt-example')
p = quilt3.Package()
p.push("aneesh/test_data")

You can control where files land using dest:

p = quilt3.Package()
p.push(
    "aneesh/test_data",
    dest="s3://quilt-example/foo/bar"
)

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("aneesh/test_data", "s3://quilt-example")

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:

# delete a package in the local registry
quilt3.delete_package("aneesh/test_data")

# delete a package in a remote registry
quilt3.delete_package("aneesh/test_data", "s3://quilt-example")

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

PreviousEditing a PackageNextInstalling a Package

Last updated 2 years ago

Was this helpful?

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

Materialization