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

Was this helpful?

  1. Quilt Platform (Catalog) User

Quilt+ URIs

PreviousQueryNextQurator Omni

Last updated 4 months ago

Was this helpful?

Every package and object in the Bucket and Packages views has a "CODE" pane, which contains code snippets that can be used to download and upload a package or object via either:

  • Python (API)

  • CLI (shell commands)

In addition, Packages have a third tab that returns a Quilt+ URI:

  • URI (identifier)

They all have a copy button that copies the code to the clipboard.

Quilt+ URIs

Quilt+ URIs are a way to uniquely identify a package or sub-package (e.g., folder or entry) in the Quilt catalog, relative to an S3 bucket. For example:

quilt+s3://quilt-example#package=akarve/cord19@e21682f00929661879633a5128aaa27cc7bc1e2973d49d4c868a90f9fad9f34b&path=CORD19.ipynb

The URI above references a specific version of the CORD19.ipynb notebook in the akarve/cord19 package of the quilt-example bucket.

Catalog Usage

URIs can be used to quickly navigate to a specific package or object from the Catalog. If your window is wide enough, there will be a "URI" button to the right of the search bar. Clicking this button will display a dialog where you can paste a URI and "Resolve" it to navigate to the package or object it references.

Syntax

A Quilt+ URI contains the following components:

  • quilt+<protocol>: The scheme of the URI. This always begins with quilt+. Currently the only supported protocol is s3.

  • <bucket>: The name of the bucket containing the package, e.g. quilt-example.

  • #package=<package_name[specifier]>: A fragment for the name of the package, e.g. akarve/cord19, plus an optional specifier. The specifier identifies a particular revision, using either @<top_hash> (e.g. @e21682f00929661879633a5128aaa27cc7bc1e2973d49d4c868a90f9fad9f34b) or :<tag> (defaults to :latest when omitted). You may not specify both a top_hash and a tag.

  • &path=<path>: An optional fragment after the package, specifying the path to a particular subpackage (i.e., folder or entry) within the package. This is always a relative path, e.g. CORD19.ipynb in the example.

  • &catalog=<catalog>: An optional fragment specifying the DNS name of the catalog that generated the URI. This is used to help clients generate the human-readable URL for that package.

Python
CLI
URI
Resolving URIs