Skip to main content
Daft Launcher

PyPI Package Deploy mdBook License Latest License

Daft Launcher CLI Tool

daft-launcher is a simple launcher for spinning up and managing Ray clusters for daft.

Goal

Getting started with Daft in a local environment is easy. However, getting started with Daft in a cloud environment is substantially more difficult. So much more difficult, in fact, that users end up spending more time setting up their environment than actually playing with our query engine.

Daft Launcher aims to solve this problem by providing a simple CLI tool to remove all of this unnecessary heavy-lifting.

Capabilities

What Daft Launcher is capable of:

  1. Spinning up clusters.
  2. Listing all available clusters (as well as their statuses).
  3. Submitting jobs to a cluster.
  4. Connecting to the cluster (to view the Ray dashboard and submit jobs using the Ray protocol).
  5. Spinning down clusters.
  6. Creating configuration files.
  7. Running raw SQL statements using Daft's SQL API.

Currently supported cloud providers

  • AWS
  • GCP
  • Azure

Usage

Pre-requisites

You'll need some python package manager installed. We recommend using uv for all things python.

AWS

If you're using AWS, you'll need:

  1. A valid AWS account with the necessary IAM role to spin up EC2 instances. This IAM role can either be created by you (assuming you have the appropriate permissions). Or this IAM role will need to be created by your administrator.
  2. The AWS CLI installed and configured on your machine.
  3. To login using the AWS CLI. For full instructions, please look here.

Installation

Using uv:

# create project
mkdir my-project
cd my-project

# initialize project and setup virtual env
uv init
uv venv
source .venv/bin/activate

# install launcher
uv pip install daft-launcher

Example

All interactions with Daft Launcher are primarily communicated via a configuration file. By default, Daft Launcher will look inside your $CWD for a file named .daft.toml. You can override this behaviour by specifying a custom configuration file.

# create a new configuration file
# will create a file named `.daft.toml` in the current working directory
daft init-config
# or optionally, pass in a custom name
daft init-config my-custom-config.toml

# spin up a cluster
daft up
# or optionally, pass in a custom config file
daft up -c my-custom-config.toml

# list all the active clusters (can have multiple clusters running at the same time)
daft list

# submit a directory and a command to run on the cluster
daft submit --working-dir <...> -- command arg1 arg2 ...
# or optionally, pass in a custom config file
daft submit -c my-custom-config.toml --working-dir $WORKING_DIR -- command arg1 arg2 ...

# run a direct SQL query against the daft query engine running in the remote cluster
daft sql -- "SELECT * FROM my_table WHERE column = 'value'"
# or optionally, pass in a custom config file
daft sql -c my-custom-config.toml -- "SELECT * FROM my_table WHERE column = 'value'"

# spin down a cluster
daft down
# or optionally, pass in a custom name
daft down -c my-custom-config.toml

Metadata

Release files for daft-launcher 0.3.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for daft-launcher 0.3.7
File Size Uploaded
daft_launcher-0.3.7.tar.gz 20.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for daft-launcher 0.3.7
File Interpreter ABI Platform
daft_launcher-0.3.7-py3-none-any.whl Python 3 none any Details

Total release size: 40.4 kB

Release files / daft_launcher-0.3.7.tar.gz

Download URL daft_launcher-0.3.7.tar.gz
Size 20.4 kB
Tags Source
SHA-256 checksum
How to use checksums
3722670e60fde7d2b71e50b485b1a9d709cf4829424f690377edd5e235dd77db
BLAKE2b-256 checksum
How to use checksums
f333ee01f2f9995e93125de6583922624c67eff26306fde4fa0527cfd2e7d135
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / daft_launcher-0.3.7-py3-none-any.whl

Download URL daft_launcher-0.3.7-py3-none-any.whl
Size 20.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8713f4608b546ed7e49360abfe5232e0bc029db9d02cee19344202265e4308b
BLAKE2b-256 checksum
How to use checksums
47c131e5df25779845f140dc1024192b595590743e9ab001165067a5518441e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release history Release notifications | RSS feed

0.4.0

2 release files

This release

0.3.7 This release

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page