Quilt+ URIs

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)

    Python
  • CLI (shell commands)

    CLI

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

  • URI (identifier)

    URI

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.

Resolving URIs

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.

Last updated

Was this helpful?