Install & Compatibility
Where this runs
tested against v? · pip install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
sky
✓ import sky
The primary interface for the Python SDK, used for defining tasks and launching clusters.
Task
✓ from skypilot import Task
Used to define computational tasks within the SDK, including setup, workdir, and resource requirements.
This quickstart demonstrates how to define a basic SkyPilot task using the Python SDK and launch it on a temporary cluster. SkyPilot automatically provisions the necessary resources on an available cloud provider (e.g., AWS, GCP) based on your credentials and the task's requirements (e.g., number of GPUs). It is crucial that your chosen cloud provider's CLI is installed and configured with valid credentials locally (e.g., `aws configure`, `gcloud auth login`) before running SkyPilot commands.
import sky
# Define a simple task to run on a cluster
# This task will echo a message and try to list a GPU (if available)
task = sky.Task(
'echo "Hello from SkyPilot on $(hostname) with GPU $(nvidia-smi -L)"',
workdir='.',
num_gpus=1, # Request 1 GPU. SkyPilot will find a cloud with a GPU instance.
setup='pip install pandas' # Example setup; replace with your actual dependencies
)
# Launch a cluster named 'my-quickstart-cluster' and run the task.
# SkyPilot will provision resources on a chosen cloud (e.g., AWS, GCP)
# based on your configured cloud credentials and resource availability.
# Ensure your cloud provider CLIs (e.g., AWS CLI, gcloud CLI) are installed and authenticated.
print("Launching SkyPilot cluster (this may take a few minutes)...")
sky.launch(task, cluster_name='my-quickstart-cluster')
print("Cluster launched and task executed. Run `sky status` to check.")
# To tear down the cluster after use:
# print("Tearing down cluster...")
# sky.down('my-quickstart-cluster')
# print("Cluster torn down.")
sky --version
Debug
Known issues
breakingAfter upgrading the SkyPilot CLI/SDK (e.g., `pip install --upgrade skypilot[...]`), you almost always need to upgrade your SkyPilot API server. New features, stability fixes, and bug resolutions often require the API server to be in sync. Neglecting this can lead to 'database is locked' errors, unresponsive API servers, or unexpected behavior.fixFor local API servers, run `sky api stop; sky api start` immediately after the `pip install` upgrade. For remote (Kubernetes/Helm) API servers, consult the specific release notes or SkyPilot documentation for the required Helm upgrade commands.
affects: All versions, particularly when upgrading across minor or major versions (e.g., 0.10.x to 0.11.x, or 0.11.x to 0.12.x).
gotchaInstalling SkyPilot without specifying cloud provider extras (e.g., `[aws,gcp]`) will result in a minimal installation that lacks the necessary cloud-specific drivers and integrations to launch resources on any cloud. This means core functionality will not work.fixEnsure you install SkyPilot with the appropriate cloud extras: `pip install 'skypilot[<cloud1>,<cloud2>]'` for specific providers, or `pip install 'skypilot[all]'` for universal cloud support.
affects: All versions
gotchaSkyPilot leverages existing cloud provider CLIs (e.g., AWS CLI, `gcloud` for GCP, Azure CLI) for authentication and resource management. These CLIs must be installed, configured, and authenticated with valid credentials on the machine where SkyPilot CLI/SDK commands are executed.fixInstall and configure the necessary cloud provider CLIs according to their official documentation (e.g., `aws configure`, `gcloud auth login`, `az login`).
affects: All versions
gotchaSkyPilot can have extensive and complex dependency trees due to its integration with many cloud providers and ML tools. This can occasionally lead to dependency conflicts, as seen with past issues like specific `uvicorn` versions.fixIf you encounter dependency resolution issues, consider using `uv` (e.g., `uv pip install 'skypilot[<cloud>,...]==X.Y.Z'`) as it often has better dependency resolution capabilities than `pip`. Alternatively, refer to SkyPilot's official documentation or GitHub issues for recommended dependency versions or workarounds.
affects: All versions, more frequently encountered during environment setup or when combining with other ML libraries.
Upgrade
Version history
0.13.0latest on PyPI · released Jul 22, 2026
Audit
Dependencies
No dependency data recorded yet.