As explained in "Uploading a Package", packages are managed using registries. There is a one local registry on your machine, and potentially many remote registries elsewhere "in the world". Use list_packages to see the packages available on a registry:
$python>>> importquilt3>>> quilt3.list_packages()# list local packagesPACKAGETOPHASHCREATEDSIZEnamespace/packagename:latestcac145b9c3dcjustnow2.4GBothernamespace/packagename:latest95a134c80z4814daysago2.4GB>>> quilt3.list_packages("s3://my-bucket") # list remote packagesPACKAGETOPHASHCREATEDSIZEuser1/seattle-weather:latestcac145b9c3dc1hourago2.4GBuser2/new-york-ballgames:latest95a134c80z486daysago2.4GB
Installing a package
To make a remote package and all of its data available locally, install it.
Note that unless this registry is public, you will need to be logged into a user who has read access to this registry in order to install from it:
Installing a package downloads all of the data and populates an entry for the package in your local registry.
You can omit registry if you configure a default remote registry (this will persists between sessions):
Data files that you download are written to a folder in your local registry by default. You can specify an alternative destination using dest:
Finally, you can install a specific version of a package by specifying the corresponding top hash:
Browsing a package manifest
An alternative to install is browse. browse downloads a package manifest without also downloading the data in the package.
browse is advantageous when you don't want to download everything in a package at once. For example if you just want to look at a package's metadata.
Importing a package
You can import a local package from within Python:
This allows you to manage your data and code dependencies all in one place in your Python scripts or Jupyter notebooks.
import quilt3
# load a package manifest from a remote registry
p = quilt3.Package.browse("username/packagename", "s3://your-bucket")
# load a package manifest from the default remote registry
p = quilt3.Package.browse("username/packagename")
# load a package manifest from the local registry
p = quilt3.Package.browse("username/packagename", "local")