Skip to content

Commit bbbeb12

Browse files
New project name: SkyPilot (skypilot-org#1005)
* First pass through top level files under sky/ * WIP working through sky/spot/ & other files * README: name change * Name change in docs/source/. * env var rename: 'SKYPILOT_DISABLE_USAGE_COLLECTION' * env var rename to SKYPILOT_DEV * setup.py * Fix wheel update problem: specify <pkg>-*.whl in many places. * pylint, constants.py, format, fix tests * Remove debug remnants * Markdown changes: ag -w sky **/*.md * More renaming, mostly examples/.
1 parent 4240be7 commit bbbeb12

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+329
-327
lines changed

README.md

+14-14
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1-
# Sky
1+
# SkyPilot
22

33
![pytest](https://github.com/sky-proj/sky/actions/workflows/pytest.yml/badge.svg)
44

5-
Sky is a framework to run any workload seamlessly across different cloud providers through a unified interface. No knowledge of cloud offerings is required or expected – you simply define the workload and its resource requirements, and Sky will automatically execute it on AWS, Google Cloud Platform or Microsoft Azure.
5+
SkyPilot is a framework to run any workload seamlessly across different cloud providers through a unified interface. No knowledge of cloud offerings is required or expected – you simply define the workload and its resource requirements, and SkyPilot will automatically execute it on AWS, Google Cloud Platform or Microsoft Azure.
66

77
<!-- TODO: We need a logo here -->
88
## Getting Started
99
Please refer to our [documentation](https://sky-proj-sky.readthedocs-hosted.com/en/latest/).
1010
- [Installation](https://sky-proj-sky.readthedocs-hosted.com/en/latest/getting-started/installation.html)
1111
- [Quickstart](https://sky-proj-sky.readthedocs-hosted.com/en/latest/getting-started/quickstart.html)
12-
- [Sky CLI](https://sky-proj-sky.readthedocs-hosted.com/en/latest/reference/cli.html)
12+
- [CLI](https://sky-proj-sky.readthedocs-hosted.com/en/latest/reference/cli.html)
1313

1414
## Developer Guide
1515
### Setup
1616
Use editable mode (`-e`) when installing:
1717
```bash
18-
# Sky requires python >= 3.6 and < 3.10.
18+
# SkyPilot requires python >= 3.6 and < 3.10.
1919
# You can just install the dependencies for
2020
# certain clouds, e.g., ".[aws,azure,gcp]"
2121
pip install -e ".[all]"
2222
pip install -r requirements-dev.txt
2323
```
24-
IMPORTANT: Please `export SKY_DEV=1` before running the sky commands in the terminal, so that the developing log will not pollute the actual user logs.
24+
IMPORTANT: Please `export SKYPILOT_DEV=1` before running the CLI commands in the terminal, so that developers' usage logs do not pollute the actual user logs.
2525

2626

2727
### Submitting pull requests
@@ -31,15 +31,15 @@ IMPORTANT: Please `export SKY_DEV=1` before running the sky commands in the term
3131
- Follow the [Google style guide](https://google.github.io/styleguide/pyguide.html).
3232

3333

34-
### Environment Variable Options
35-
- `export SKY_DEV=1` to send the logs to dev space.
36-
- `export SKY_DEBUG=1` to show debugging logs (logging.DEBUG).
37-
- `export SKY_DISABLE_USAGE_COLLECTION=1` to disable usage logging.
38-
- `export SKY_MINIMIZE_LOGGING=1` to minimize the sky outputs for demo purpose.
34+
### Environment variables for developers
35+
- `export SKYPILOT_DEV=1` to send usage logs to dev space.
36+
- `export SKYPILOT_DISABLE_USAGE_COLLECTION=1` to disable usage logging.
37+
- `export SKYPILOT_DEBUG=1` to show debugging logs (use logging.DEBUG level).
38+
- `export SKYPILOT_MINIMIZE_LOGGING=1` to minimize the logging for demo purpose.
3939

4040
### Dump timeline
4141

42-
Timeline is useful for performance analysis and debugging in Sky.
42+
Timeline is useful for performance analysis and debugging in SkyPilot.
4343

4444
Here are the APIs:
4545

@@ -67,12 +67,12 @@ with timeline.FileLockEvent(lockpath):
6767
pass
6868
```
6969

70-
To dump the timeline, set environment variable `SKY_TIMELINE_FILE_PATH` to a file path.
70+
To dump the timeline, set environment variable `SKYPILOT_TIMELINE_FILE_PATH` to a file path.
7171

7272
View the dumped timeline file using `Chrome` (chrome://tracing) or [Perfetto](https://ui.perfetto.dev/).
7373

74-
### Updating the sky docker image
75-
1. Authenticate with sky ECR repository. Contact [email protected] for access:
74+
### Updating the SkyPilot docker image
75+
1. Authenticate with SkyPilot ECR repository. Contact [email protected] for access:
7676
```
7777
aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws/a9w6z7w5
7878
```

docs/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# Sky Document
2-
Sky sphinx docs based on RTD.
1+
# Documentation
2+
Sphinx docs based on ReadTheDocs.
33

44
## Build
55
```bash

docs/source/conf.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99

1010
# -- Project information
1111

12-
project = 'Sky'
13-
copyright = '2022, Sky Team'
14-
author = 'the Sky authors'
12+
project = 'SkyPilot'
13+
copyright = '2022, SkyPilot Team'
14+
author = 'the SkyPilot authors'
1515

1616
release = '0.1'
1717
version = '0.1.0'

docs/source/examples/auto-failover.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Auto-provisioning GPUs
44
==========================
55

6-
Sky comes with an *auto-failover provisioner*, which
6+
SkyPilot comes with an *auto-failover provisioner*, which
77
**automatically retries provisioning a cluster in different regions (or
88
clouds)** if the requested resources cannot be provisioned.
99
Such provisioning failures can happen for a variety of reasons:
@@ -29,7 +29,7 @@ Cross-region failover
2929
The provisioner first retries across all regions within a task's chosen cloud.
3030

3131
A common high-end GPU to use in deep learning is a NVIDIA V100 GPU. These GPUs
32-
are often in high demand and hard to get. Let's see how Sky's auto-failover
32+
are often in high demand and hard to get. Let's see how SkyPilot's auto-failover
3333
provisioner handles such a request:
3434

3535
.. code-block::

docs/source/examples/distributed-jobs.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Distributed Jobs on Many VMs
44
================================================
55

6-
Sky supports multi-node cluster
6+
SkyPilot supports multi-node cluster
77
provisioning and distributed execution on many VMs.
88

99
For example, here is a simple PyTorch Distributed training example:
@@ -37,7 +37,7 @@ For example, here is a simple PyTorch Distributed training example:
3737
In the above, :code:`num_nodes: 2` specifies that this task is to be run on 2
3838
nodes. The :code:`setup` and :code:`run` commands are executed on both nodes.
3939

40-
Sky exposes two environment variables to distinguish per-node commands:
40+
SkyPilot exposes two environment variables to distinguish per-node commands:
4141

4242
- :code:`SKY_NODE_RANK`: rank (an integer ID from 0 to :code:`num_nodes-1`) of
4343
the node executing the task

docs/source/examples/gpu-jupyter.rst

+6-6
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ GPU-backed Jupyter Notebooks
22
============================
33

44
Jupyter notebooks are a useful tool for interactive development, debugging, and
5-
visualization. Sky makes the process of running a GPU-backed Jupyter notebook
5+
visualization. SkyPilot makes the process of running a GPU-backed Jupyter notebook
66
simple by automatically managing provisioning and port forwarding.
77

88
To get a machine with a GPU attached, we recommend using an interactive **GPU node**.
@@ -45,13 +45,13 @@ You can verify that this notebook is running on the GPU-backed instance using :c
4545
:width: 100%
4646
:alt: nvidia-smi in notebook
4747

48-
Notebooks in Sky tasks
49-
-----------------------
50-
Jupyter notebooks can also be used in Sky tasks, allowing access to the full
51-
range of Sky's features including :ref:`mounted storage <sky-storage>` and
48+
Notebooks in SkyPilot tasks
49+
---------------------------
50+
Jupyter notebooks can also be used in SkyPilot tasks, allowing access to the full
51+
range of SkyPilot's features including :ref:`mounted storage <sky-storage>` and
5252
:ref:`autostop <auto-stop>`.
5353

54-
The following :code:`jupyter.yaml` is an example of a task specification that can launch notebooks with Sky.
54+
The following :code:`jupyter.yaml` is an example of a task specification that can launch notebooks with SkyPilot.
5555

5656
.. code:: yaml
5757

docs/source/examples/grid-search.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ Options used:
1818
- :code:`--gpus`: specify the resource requirement for each job.
1919
- :code:`-d` / :code:`--detach`: detach the run and logging from the terminal, allowing multiple trials to run concurrently.
2020

21-
If there are only 4 V100 GPUs on the cluster, Sky will queue 1 job while the
21+
If there are only 4 V100 GPUs on the cluster, SkyPilot will queue 1 job while the
2222
other 4 run in parallel. Once a job finishes, the next job will begin executing
2323
immediately.
24-
Refer to :ref:`Job Queue <job-queue>` for more details on Sky's scheduling behavior.
24+
Refer to :ref:`Job Queue <job-queue>` for more details on SkyPilot's scheduling behavior.
2525

2626

2727
Multiple trials per GPU

docs/source/examples/iterative-dev-project.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Iteratively Developing a Project
44
====================================
55

66
This page shows a typical workflow for iteratively developing and running a
7-
project on Sky.
7+
project on SkyPilot.
88

99
Getting an interactive node
1010
----------------------------
@@ -45,7 +45,7 @@ Alternatively, the user can directly :code:`ssh` into the cluster's nodes and ru
4545
$ ssh dev-worker1
4646
$ ssh dev-worker2
4747
48-
Sky provides easy password-less SSH access by automatically creating entries for each cluster in :code:`~/.ssh/config`.
48+
SkyPilot provides easy password-less SSH access by automatically creating entries for each cluster in :code:`~/.ssh/config`.
4949
Referring to clusters by names also allows for seamless integration with common tools
5050
such as :code:`scp`, :code:`rsync`, and `Visual Studio Code Remote
5151
<https://code.visualstudio.com/docs/remote/remote-overview>`_.

docs/source/examples/spot-jobs.rst

+8-8
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
Managed Spot Jobs
44
================================================
55

6-
Sky supports managed spot jobs that can **automatically recover from preemptions**.
6+
SkyPilot supports managed spot jobs that can **automatically recover from preemptions**.
77
This feature **saves significant cost** (e.g., up to 70\% for GPU VMs) by making preemptible spot instances practical for long-running jobs.
88

9-
To maximize availability, Sky automatically finds available spot resources across regions and clouds.
9+
To maximize availability, SkyPilot automatically finds available spot resources across regions and clouds.
1010
Here is an example of BERT training job failing over different regions across AWS and GCP.
1111

1212
.. image:: ../images/spot-training.png
@@ -15,17 +15,17 @@ Here is an example of BERT training job failing over different regions across AW
1515

1616
Below are requirements for using managed spot jobs:
1717

18-
(1) **Mounting code and datasets**: Local file mounts/workdir are not supported. Cloud buckets should be used to hold code and datasets, which can be satisfied by using :ref:`Sky Storage <sky-storage>`.
18+
(1) **Mounting code and datasets**: Local file mounts/workdir are not supported. Cloud buckets should be used to hold code and datasets, which can be satisfied by using :ref:`SkyPilot Storage <sky-storage>`.
1919

20-
(2) **Saving and loading checkpoints**: (For ML jobs) Application code should save checkpoints periodically to a :ref:`Sky Storage <sky-storage>`-mounted cloud bucket. For job recovery, the program should try to reload a latest checkpoint from that path when it starts.
20+
(2) **Saving and loading checkpoints**: (For ML jobs) Application code should save checkpoints periodically to a :ref:`SkyPilot Storage <sky-storage>`-mounted cloud bucket. For job recovery, the program should try to reload a latest checkpoint from that path when it starts.
2121

2222
We explain them in detail below.
2323

2424

2525
Mounting code and datasets
2626
--------------------------------
2727

28-
To launch a spot job, users should upload their codebase and data to cloud buckets through :ref:`Sky Storage <sky-storage>`.
28+
To launch a spot job, users should upload their codebase and data to cloud buckets through :ref:`SkyPilot Storage <sky-storage>`.
2929
Note that the cloud buckets can be mounted to VMs in different regions/clouds and thus enable enables transparent job relaunching without user's intervention.
3030
The YAML below shows an example.
3131

@@ -51,7 +51,7 @@ The YAML below shows an example.
5151
.. note::
5252

5353
Currently :ref:`workdir <sync-code-artifacts>` and :ref:`file mounts with local files <sync-code-artifacts>` are not
54-
supported for spot jobs. You can convert them to :ref:`Sky Storage <sky-storage>`.
54+
supported for spot jobs. You can convert them to :ref:`SkyPilot Storage <sky-storage>`.
5555

5656
Saving and loading checkpoints
5757
--------------------------------
@@ -66,7 +66,7 @@ Below is an example of mounting a bucket to :code:`/checkpoint`.
6666
name: # NOTE: Fill in your bucket name
6767
mode: MOUNT
6868
69-
The :code:`MOUNT` mode in :ref:`Sky Storage <sky-storage>` ensures the checkpoints outputted to :code:`/checkpoint` are automatically synced to a persistent bucket.
69+
The :code:`MOUNT` mode in :ref:`SkyPilot Storage <sky-storage>` ensures the checkpoints outputted to :code:`/checkpoint` are automatically synced to a persistent bucket.
7070
Note that the application code should save program checkpoints periodically and reload those states when the job is restarted.
7171
This is typically achieved by reloading the latest checkpoint at the beginning of your program.
7272

@@ -146,7 +146,7 @@ With the above changes, you are ready to launch a spot job with ``sky spot launc
146146
147147
$ sky spot launch -n bert-qa bert_qa.yaml
148148
149-
Sky will launch and start monitoring the spot job. When a preemption happens, Sky will automatically
149+
SkyPilot will launch and start monitoring the spot job. When a preemption happens, SkyPilot will automatically
150150
search for resources across regions and clouds to re-launch the job.
151151

152152

docs/source/examples/syncing-code-artifacts.rst

+8-8
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,24 @@
33
Syncing Code and Artifacts
44
====================================
55

6-
Sky simplifies transferring code, data, and artifacts to and
6+
SkyPilot simplifies transferring code, data, and artifacts to and
77
from cloud clusters:
88

99
- To :ref:`upload code and project files<Uploading code and project files>` - use :code:`workdir`
1010

1111
- To :ref:`upload files outside of workdir<Uploading files outside of workdir>` (e.g., dotfiles) - use :code:`file_mounts`
1212

13-
- To :ref:`upload/reuse large files<Uploading or reusing large files>` (e.g., datasets) - use :ref:`Sky Storage <sky-storage>`
13+
- To :ref:`upload/reuse large files<Uploading or reusing large files>` (e.g., datasets) - use :ref:`SkyPilot Storage <sky-storage>`
1414

15-
- To :ref:`download files and artifacts from a cluster<Downloading files and artifacts>` - use :ref:`Sky Storage <sky-storage>` or :code:`rsync`
15+
- To :ref:`download files and artifacts from a cluster<Downloading files and artifacts>` - use :ref:`SkyPilot Storage <sky-storage>` or :code:`rsync`
1616

1717
Here, "upload" means uploading files from your local machine (or a cloud object
18-
store) to a Sky cluster, while "download" means the reverse direction. The same
18+
store) to a SkyPilot cluster, while "download" means the reverse direction. The same
1919
mechanisms work for both files and directories.
2020

2121
Uploading code and project files
2222
--------------------------------------
23-
Sky **automatically syncs a local working directory to a cluster** on every
23+
SkyPilot **automatically syncs a local working directory to a cluster** on every
2424
:code:`sky launch` and :code:`sky exec`. The workdir contains a project's
2525
code and other files, and is typically a Git folder.
2626

@@ -71,7 +71,7 @@ Uploading files outside of workdir
7171
Use the :code:`file_mounts` field in a :ref:`task YAML <yaml-spec>` to upload to a cluster
7272

7373
- local files outside of the working directory (e.g., dotfiles)
74-
- cloud object store URIs (currently, Sky supports AWS S3 and GCP GCS)
74+
- cloud object store URIs (currently, SkyPilot supports AWS S3 and GCP GCS)
7575

7676
Every :code:`sky launch` invocation reruns the sync up of these files.
7777

@@ -104,7 +104,7 @@ Uploading or reusing large files
104104

105105
For large files (e.g., 10s or 100s of GBs), putting them into the workdir or a
106106
file_mount may be slow because they are processed by ``rsync``. Use
107-
:ref:`Sky Storage <sky-storage>` (cloud object stores) to efficiently handle
107+
:ref:`SkyPilot Storage <sky-storage>` (cloud object stores) to efficiently handle
108108
large files.
109109

110110

@@ -119,7 +119,7 @@ Writing artifacts to object stores
119119
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
120120

121121
In addition to handling datasets and other task inputs,
122-
:ref:`Sky Storage <sky-storage>` can also be used to directly upload artifacts
122+
:ref:`SkyPilot Storage <sky-storage>` can also be used to directly upload artifacts
123123
generated by tasks. This is achieved by creating a :code:`MOUNT` mode Storage
124124
mount like so in your task YAML:
125125

docs/source/getting-started/installation.rst

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
Installation
22
============
33

4-
Install Sky using pip:
4+
Install SkyPilot using pip:
55

66
.. code-block:: console
77
8-
$ # Sky requires python >= 3.6 and < 3.10.
8+
$ # SkyPilot requires python >= 3.6 and < 3.10.
99
$ git clone ssh://[email protected]/sky-proj/sky.git
1010
$ cd sky
1111
@@ -17,18 +17,18 @@ Install Sky using pip:
1717
$ # To install AWS dependencies only:
1818
$ # pip install ".[aws]"
1919
20-
Sky currently supports three major cloud providers: AWS, GCP, and Azure. If you
20+
SkyPilot currently supports three major cloud providers: AWS, GCP, and Azure. If you
2121
only have access to certain clouds, use any combination of
2222
:code:`".[aws,azure,gcp]"` (e.g., :code:`".[aws,gcp]"`) to reduce the
2323
dependencies installed.
2424

2525
.. note::
2626

27-
For Macs, macOS >= 10.15 is required to install Sky. Apple Silicon-based devices (e.g. Apple M1) must run :code:`conda install grpcio` prior to installing Sky.
27+
For Macs, macOS >= 10.15 is required to install SkyPilot. Apple Silicon-based devices (e.g. Apple M1) must run :code:`conda install grpcio` prior to installing SkyPilot.
2828

2929
.. note::
3030

31-
As an alternative to installing Sky on your laptop, we also provide a Docker image as a quick way to try out Sky. See instructions below on running Sky :ref:`in a container <docker-image>`.
31+
As an alternative to installing SkyPilot on your laptop, we also provide a Docker image as a quick way to try out SkyPilot. See instructions below on running SkyPilot :ref:`in a container <docker-image>`.
3232

3333
.. _cloud-account-setup:
3434

@@ -89,12 +89,12 @@ This will produce a summary like:
8989

9090
.. code-block:: text
9191
92-
Checking credentials to enable clouds for Sky.
92+
Checking credentials to enable clouds for SkyPilot.
9393
AWS: enabled
9494
GCP: enabled
9595
Azure: enabled
9696
97-
Sky will use only the enabled clouds to run tasks. To change this, configure cloud credentials, and run sky check.
97+
SkyPilot will use only the enabled clouds to run tasks. To change this, configure cloud credentials, and run sky check.
9898
9999
Requesting quotas for first time users
100100
--------------------------------------
@@ -111,8 +111,8 @@ increases before proceeding.
111111
Quick alternative: trying in Docker
112112
------------------------------------------------------
113113

114-
As a **quick alternative to installing Sky on your laptop**, we also provide a Docker image with Sky and
115-
its dependencies installed for users to quickly try out Sky. You can simply run:
114+
As a **quick alternative to installing SkyPilot on your laptop**, we also provide a Docker image with SkyPilot and
115+
its dependencies installed for users to quickly try out SkyPilot. You can simply run:
116116

117117
.. code-block:: console
118118

0 commit comments

Comments
 (0)