**π₯ Blazing fast bulk data transfers between any cloud π₯** Skyplane is a tool for blazingly fast bulk data transfers between object stores in the cloud. It provisions a fleet of VMs in the cloud to transfer data in parallel while using compression and bandwidth tiering to reduce cost. Skyplane is: 1. π₯ Blazing fast ([110x faster than AWS DataSync](https://skyplane.org/en/latest/benchmark.html)) 2. π€ Cheap (4x cheaper than rsync) 3. π Universal (AWS, Azure, IBM and GCP) You can use Skyplane to transfer data: * between object stores within a cloud provider (e.g. AWS us-east-1 to AWS us-west-2) * between object stores across multiple cloud providers (e.g. AWS us-east-1 to GCP us-central1) * between local storage and cloud object stores (experimental) Skyplane currently supports the following source and destination endpoints (any source and destination can be combined): | Endpoint | Source | Destination | |--------------------|--------------------|--------------------| | AWS S3 | :white_check_mark: | :white_check_mark: | | Google Storage | :white_check_mark: | :white_check_mark: | | Azure Blob Storage | :white_check_mark: | :white_check_mark: | | IBM Cloud Object Storage | :white_check_mark: | :white_check_mark: | | Local Disk | :white_check_mark: | (in progress) | Skyplane is an actively developed project. It will have πͺ SHARP EDGES πͺ. Please file an issue or ask the contributors via [the #help channel on our Slack](https://join.slack.com/t/skyplaneworkspace/shared_invite/zt-1cxmedcuc-GwIXLGyHTyOYELq7KoOl6Q) if you encounter bugs. # Resources - [Quickstart](#quickstart) - [Contributing](https://skyplane.org/en/latest/contributing.html) - [Roadmap](https://skyplane.org/en/latest/roadmap.html) - [Slack Community](https://join.slack.com/t/skyplaneworkspace/shared_invite/zt-1cxmedcuc-GwIXLGyHTyOYELq7KoOl6Q) # Quickstart ## 1. Installation We recommend installation from PyPi: ``` $ pip install "skyplane[aws]" # install support for other clouds as needed: # $ pip install "skyplane[azure]" # $ pip install "skyplane[gcp]" # $ pip install "skyplane[ibmcloud]" # $ pip install "skyplane[all]" ``` Skyplane supports AWS, Azure, IBM and GCP. You can install Skyplane with support for one or more of these clouds by specifying the corresponding extras. To install two out of three clouds, you can run `pip install "skyplane[aws,azure]"`. *GCP support on the M1 Mac*: If you are using an M1 Mac with the arm64 architecture and want to install GCP support for Skyplane, you will need to install as follows `GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 pip install "skyplane[aws,gcp]"` ## 2. Setup Cloud Credentials Skyplane needs access to cloud credentials to perform transfers. To get started with setting up credentials, make sure you have cloud provider CLI tools installed: ``` ---> For AWS: $ pip install awscli ---> For Google Cloud: $ pip install gcloud ---> For Azure: $ pip install azure ``` Once you have the CLI tools setup, log into each cloud provider's CLI: ``` ---> For AWS: $ aws configure ---> For Google Cloud: $ gcloud auth application-default login ---> For Azure: $ az login ---> For IBM Cloud: $ Follow IBM Cloud and create an account with the resource group. Copy https://github.com/skyplane-project/skyplane/blob/main/skyplane/compute/ibmcloud/ibm_credentials.yaml.template into `~/.bluemix/ibm_credentials` and fill your IBM IAM key and credentials to your IBM Cloud object storage ---> For SCP: $ # Create directory if required $ mkdir -p ~/.scp $ # Add the lines for "access_key", "secret_key", and "project_id" to scp_credential file $ echo "access_key =