quilt

Quick Start Guide

Get up and running with Quilt in minutes! This guide provides multiple learning paths based on your experience level and preferred learning style.

🚀 Choose Your Learning Path

👨‍💻 For Developers - Hands-on Python Tutorial

Start coding immediately with our interactive Python tutorial:

📺 For Visual Learners - Video Tutorials

Watch comprehensive video guides:

📊 For Data Scientists - Real Dataset Exploration

Explore production datasets with guided examples:

⚡ 5-Minute Quick Start

1. Install Quilt

pip install quilt3

2. Authenticate (Optional for Public Data)

For public datasets like s3://quilt-example, no authentication is needed. For private buckets or catalogs, choose your authentication method:

import quilt3

# Interactive login (for local development, notebooks)
quilt3.login()  # Opens browser for OAuth/SSO

# OR use an API key (for automation, CI/CD, scripts)
import os

# QUILT_REGISTRY_URL is the `registryUrl` from your catalog's /config.json
quilt3.login_with_api_key(
    os.environ["QUILT_API_KEY"],
    registry_url=os.environ["QUILT_REGISTRY_URL"],
)

📚 Learn more: See the Authentication Guide for detailed setup instructions, best practices, and use cases.

3. Browse Public Data

import quilt3

# Browse available datasets (no auth needed for public data)
packages = list(quilt3.list_packages("s3://quilt-example"))
print(f"Found {len(packages)} public datasets")

# Load a sample dataset
pkg = quilt3.Package.browse("examples/hurdat", "s3://quilt-example")
print(pkg)

4. Access Your First File

# Access a file (using pkg from previous step)
data_file = pkg["README_NF_QUILT.md"]

# get() returns the file's physical location (an S3 URI), not its contents
print(data_file.get())

# Read the file contents into memory as a string
content = data_file.get_as_string()
print(content)

5. Create Your First Package

import quilt3
import tempfile
import os

# Create a temporary file
with tempfile.NamedTemporaryFile(mode='w', delete=False, suffix='.txt') as f:
    f.write("Hello, Quilt!")
    temp_file = f.name

# Create a new package
new_pkg = quilt3.Package()
new_pkg.set("my_data.txt", temp_file)
new_pkg.set_meta({"description": "My first Quilt package"})

# Clean up
os.unlink(temp_file)

# Note: Pushing requires S3 credentials, so we'll just show the package
print(f"Package created with {len(new_pkg)} files")

🎯 Next Steps

Beginner Path

  1. ✅ Complete the 5-minute quick start above
  2. 📖 Read the Mental Model to understand Quilt concepts
  3. 🔧 Follow the Installation Guide for your environment
  4. 📝 Try the Basic Workflows

Intermediate Path

  1. 🏗️ Set up your AWS Integration
  2. 👥 Configure Team Collaboration
  3. 🔍 Learn Advanced Search
  4. 📊 Explore Data Visualization

Advanced Path

  1. 🔐 Configure Cross-Account Access
  2. ⚡ Set up EventBridge Integration
  3. 🤖 Implement Automated Workflows
  4. 🔧 Use the Admin API

🌐 Explore Open Data

Discover publicly available datasets:

💡 Common Use Cases

Data Science Teams

ML/AI Development

Enterprise Data Management

Research Organizations

🆘 Need Help?


Ready to dive deeper? Continue with the Mental Model to understand how Quilt organizes and manages your data.