Skip to main content

SkyPilot Quickstart

SkyPilot is an open-source framework for running AI and batch workloads on any infrastructure provider, anywhere. Flexibly provision compute in any cloud with the same common configuration-- no switch statements or analyzing instance types.

Tigris enables this extreme portability by globally distributing your data so it's always close to the compute SkyPilot dynamically provisions. Since Tigris is a no egress fee storage provider, you don't have to worry about additional costs by going multi-cloud.

How to install SkyPilot

There's a few ways to set up SkyPilot, here's the easiest methods:

Conda

If you already use conda, follow the upstream guide on how to install SkyPilot. Make sure to install the adaptor for your infrastructure:

pip install "skypilot[aws]"
pip install "skypilot[kubernetes]"
# ...

Or mix and match:

pip install -U "skypilot[kubernetes,aws,gcp]"

How to use Docker to run SkyPilot

If you want to skip the grind and just get started, run this docker command to set up SkyPilot in a container:

# NOTE: '--platform linux/amd64' is needed for Apple silicon Macs
docker run --platform linux/amd64 \
-td --rm --name sky \
-v "$HOME/.sky:/root/.sky:rw" \
-v "$HOME/.aws:/root/.aws:rw" \
-v "$HOME/.config/gcloud:/root/.config/gcloud:rw" \
berkeleyskypilot/skypilot

Then open a shell with docker exec:

docker exec -it sky /bin/bash

How to use Tigris with SkyPilot

If you're running a training job or storing model weights, reference these guides:

Otherwise, use boto3 to interact with Tigris:

# Create S3 service client
svc = boto3.client(
's3',
endpoint_url='https://t3.storage.dev',
config=Config(s3={'addressing_style': 'virtual'}),
)

# List buckets
response = svc.list_buckets()

for bucket in response['Buckets']:
print(f' {bucket["Name"]}')

# List objects
response = svc.list_objects_v2(Bucket='tigris-example')

for obj in response['Contents']:
print(f' {obj["Key"]}')

# Upload file
response = svc.upload_file('getting-started.py', 'tigris-example', 'getting-started.py')

# Download file
response = svc.download_file('tigris-example', 'getting-started.py', 'getting-started-2.py')

Now you have SkyPilot installed with Tigris. Enjoy building!