From 66d201b6e0354a0093032e5983b2279cbeb44eaf Mon Sep 17 00:00:00 2001 From: AlexCuadron Date: Thu, 7 Nov 2024 00:07:11 +0000 Subject: [PATCH 1/4] feat: add GCP dependencies to skypilot installation This change ensures that GCP dependencies are installed by default when installing skyshift. Previously, users would encounter errors when trying to use GCP features without explicitly installing the GCP dependencies. Error fixed: Failed to import dependencies for GCP. Try: pip install "skypilot[gcp]" --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 5d2aca0f..dbfbc59a 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ "pyyaml", "requests>=2.31.0", "rich", - "skypilot==0.5.0", + "skypilot[gcp]==0.5.0", "paramiko", "scp", "tabulate", From d79adbf58cefd313429d2957ed63443612d19eeb Mon Sep 17 00:00:00 2001 From: AlexCuadron Date: Thu, 7 Nov 2024 00:14:21 +0000 Subject: [PATCH 2/4] docs: improve installation guide - Add clear prerequisites section with SkyPilot installation instructions - Specify exact SkyPilot version requirements for each cloud provider - Add note about Apple Silicon requirements - Include different installation options (basic, server, dev) - Add Docker installation alternative - Link to official cloud setup guides - Update repository URL to sky-shift/skyshift - Add verification steps with sky check --- docs/source/getting_started/installation.rst | 73 ++++++++++++++++---- 1 file changed, 58 insertions(+), 15 deletions(-) diff --git a/docs/source/getting_started/installation.rst b/docs/source/getting_started/installation.rst index 7507cd90..8c69c519 100644 --- a/docs/source/getting_started/installation.rst +++ b/docs/source/getting_started/installation.rst @@ -5,35 +5,78 @@ Installation .. note:: - For Macs, macOS >= 10.15 is required to install SkyShift. + For Macs, macOS >= 10.15 is required to install SkyShift. Apple Silicon-based devices (e.g. Apple M1) must run ``pip uninstall grpcio; conda install -c conda-forge grpcio=1.43.0`` prior to installing SkyShift. -To install SkyShift's python API and CLI, run: +Prerequisites +------------ + +SkyShift requires SkyPilot to be installed and configured with at least one cloud provider. Follow these steps to set up your environment: + +1. Install SkyPilot with your preferred cloud provider(s): .. code-block:: shell - # Recommended: Create new conda env to avoid package conflicts. + # Recommended: use a new conda env to avoid package conflicts. + # SkyPilot requires 3.7 <= python <= 3.11. conda create -y -n skyshift python=3.10 conda activate skyshift - # Pull the latest version of SkyShift from Github. - git clone https://github.com/michaelzhiluo/skyshift.git + # Choose your cloud provider(s): + pip install "skypilot[aws]==0.5.0" # For AWS + pip install "skypilot[gcp]==0.5.0" # For Google Cloud + pip install "skypilot[azure]==0.5.0" # For Azure + pip install "skypilot[all]==0.5.0" # For all supported clouds + + # Verify cloud access is properly configured + sky check + +2. Install SkyShift: + +.. code-block:: shell - # Install basic SkyShift dependencies. + # Pull the latest version of SkyShift + git clone https://github.com/sky-shift/skyshift.git cd skyshift + + # For basic usage (CLI and Python API) pip install -e . + # For API server deployment + pip install -e .[server] + + # For development + pip install -e .[dev] -To install dependencies for the API server, run: +Docker Installation +----------------- + +As a quick alternative, we provide a Docker image with SkyShift and its dependencies pre-installed: .. code-block:: shell - # Recommended: Create new conda env to avoid package conflicts. - conda create -y -n skyshift python=3.10 - conda activate skyshift + # NOTE: '--platform linux/amd64' is needed for Apple silicon Macs + docker run --platform linux/amd64 \\ + -td --rm --name skyshift \\ + -v "$HOME/.sky:/root/.sky:rw" \\ + -v "$HOME/.aws:/root/.aws:rw" \\ + -v "$HOME/.config/gcloud:/root/.config/gcloud:rw" \\ + skyshift/skyshift:latest - # Pull the latest version of SkyShift from Github. - git clone https://github.com/michaelzhiluo/skyshift.git + docker exec -it skyshift /bin/bash - # Install API server dependencies. - cd skyshift - pip install -e .[server] +Cloud Setup +---------- + +If you haven't configured your cloud credentials yet, follow the SkyPilot cloud setup guides: + +- `AWS Setup Guide `_ +- `GCP Setup Guide `_ +- `Azure Setup Guide `_ + +After configuring your cloud credentials, verify the setup: + +.. code-block:: shell + + sky check + +This will show which clouds are properly configured and available for use with SkyShift. From e291015348112b3728308d161bd5614b8551d81b Mon Sep 17 00:00:00 2001 From: AlexCuadron Date: Thu, 7 Nov 2024 00:18:09 +0000 Subject: [PATCH 3/4] docs: remove Docker section and version pinning - Remove Docker installation section as it's not yet available - Remove version pinning from skypilot installation commands --- docs/source/getting_started/installation.rst | 25 ++++---------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/docs/source/getting_started/installation.rst b/docs/source/getting_started/installation.rst index 8c69c519..81873f3d 100644 --- a/docs/source/getting_started/installation.rst +++ b/docs/source/getting_started/installation.rst @@ -22,10 +22,10 @@ SkyShift requires SkyPilot to be installed and configured with at least one clou conda activate skyshift # Choose your cloud provider(s): - pip install "skypilot[aws]==0.5.0" # For AWS - pip install "skypilot[gcp]==0.5.0" # For Google Cloud - pip install "skypilot[azure]==0.5.0" # For Azure - pip install "skypilot[all]==0.5.0" # For all supported clouds + pip install "skypilot[aws]" # For AWS + pip install "skypilot[gcp]" # For Google Cloud + pip install "skypilot[azure]" # For Azure + pip install "skypilot[all]" # For all supported clouds # Verify cloud access is properly configured sky check @@ -47,23 +47,6 @@ SkyShift requires SkyPilot to be installed and configured with at least one clou # For development pip install -e .[dev] -Docker Installation ------------------ - -As a quick alternative, we provide a Docker image with SkyShift and its dependencies pre-installed: - -.. code-block:: shell - - # NOTE: '--platform linux/amd64' is needed for Apple silicon Macs - docker run --platform linux/amd64 \\ - -td --rm --name skyshift \\ - -v "$HOME/.sky:/root/.sky:rw" \\ - -v "$HOME/.aws:/root/.aws:rw" \\ - -v "$HOME/.config/gcloud:/root/.config/gcloud:rw" \\ - skyshift/skyshift:latest - - docker exec -it skyshift /bin/bash - Cloud Setup ---------- From a2c0c8aca922ecd4effe7a1bbc4b962094c6b558 Mon Sep 17 00:00:00 2001 From: Alejandro Cuadron Lafuente Date: Wed, 6 Nov 2024 16:20:15 -0800 Subject: [PATCH 4/4] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index dbfbc59a..5d2aca0f 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ "pyyaml", "requests>=2.31.0", "rich", - "skypilot[gcp]==0.5.0", + "skypilot==0.5.0", "paramiko", "scp", "tabulate",