quilt
Search…
Shared drives
Groups that share packages across users can save storage and network traffic by installing packages from a shared directory (e.g. on a network file server).

Create and populate shared package directory

  1. 1.
    Create a quilt_packages directory on the shared file system.
  2. 2.
    Set the QUILT_PRIMARY_PACKAGE_DIR to the path for quilt_packages in step 1.
    1
    # select a path that you control & is durable, e.g.
    2
    export SHARE_PATH=YOUR_SHARED_PATH/quilt_packages
    3
    export QUILT_PRIMARY_PACKAGE_DIR=$SHARE_PATH
    4
    mkdir -p "$SHARE_PATH"
    5
    chmod o+r "$SHARE_PATH"
    Copied!
  3. 3.
    Install packages to the shared directory
    1
    quilt build USERNAME/PACKAGE PATH_TO_BUILD_YML
    2
    quilt install USERNAME/PACKAGE
    Copied!
  4. 4.
    Set read permissions on shared directory and sub-directories
    1
    chgrp -R readers "$QUILT_PRIMARY_PACKAGE_DIR"
    2
    chmod -R g+rx "$QUILT_PRIMARY_PACKAGE_DIR"
    Copied!

Configure clients to read from shared directory

  1. 1.
    Each reader should set the following environment variable:
    1
    # consider setting this in .bashrc
    2
    export QUILT_PACKAGE_DIRS=$SHARE_PATH
    Copied!
  2. 2.
    Readers can can import shared packages as follows
    example:
    1
    from quilt.data.USERNAME import PACKAGE
    Copied!

Import precedence

Quilt will first check QUILT_PRIMARY (defaults to the local machine) and then check QUILT_PACKAGE_DIRS (if available) when importing a package.
Refer to the Python API docs for details on quilt commands.
Last modified 2yr ago