Skip to main content

Sail Python library

Project description

Sail

Build Status PyPI Release PyPI Downloads Static Slack Badge

The mission of Sail is to unify stream processing, batch processing, and compute-intensive (AI) workloads. Currently, Sail features a drop-in replacement for Spark SQL and the Spark DataFrame API in both single-host and distributed settings.

✨Using Sail? Tell us your story and get free merch!✨

Installation

Sail is available as a Python package on PyPI. You can install it along with PySpark in your Python environment.

pip install pysail
pip install "pyspark[connect]"

Alternatively, you can install the lightweight client package pyspark-client since Spark 4.0. The pyspark-connect package, which is equivalent to pyspark[connect], is also available since Spark 4.0.

The Installation guide contains more information about installing Sail from source for better performance for your hardware architecture.

Getting Started

Starting the Sail Server

Option 1: Command Line Interface You can start the local Sail server using the sail command.

sail spark server --port 50051

Option 2: Python API You can start the local Sail server using the Python API.

from pysail.spark import SparkConnectServer

server = SparkConnectServer(port=50051)
server.start(background=False)

Option 3: Kubernetes You can deploy Sail on Kubernetes and run Sail in cluster mode for distributed processing. Please refer to the Kubernetes Deployment Guide for instructions on building the Docker image and writing the Kubernetes manifest YAML file.

kubectl apply -f sail.yaml
kubectl -n sail port-forward service/sail-spark-server 50051:50051

Connecting to the Sail Server

Once you have a running Sail server, you can connect to it in PySpark. No changes are needed in your PySpark code!

from pyspark.sql import SparkSession

spark = SparkSession.builder.remote("sc://localhost:50051").getOrCreate()
spark.sql("SELECT 1 + 1").show()

Please refer to the Getting Started guide for further details.

Documentation

The documentation of the latest Sail version can be found here.

Further Reading

Contributing

Contributions are more than welcome!

Please submit GitHub issues for bug reports and feature requests. You are also welcome to ask questions in GitHub discussions.

Feel free to create a pull request if you would like to make a code change. You can refer to the development guide to get started.

Support

LakeSail offers flexible enterprise support options for Sail. Please contact us to learn more.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysail-0.3.3.tar.gz (849.3 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pysail-0.3.3-cp38-abi3-win_amd64.whl (41.9 MB view details)

Uploaded CPython 3.8+Windows x86-64

pysail-0.3.3-cp38-abi3-manylinux_2_24_aarch64.whl (37.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.24+ ARM64

pysail-0.3.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (41.4 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

pysail-0.3.3-cp38-abi3-macosx_11_0_arm64.whl (34.8 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

pysail-0.3.3-cp38-abi3-macosx_10_12_x86_64.whl (38.6 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file pysail-0.3.3.tar.gz.

File metadata

  • Download URL: pysail-0.3.3.tar.gz
  • Upload date:
  • Size: 849.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.9.3

File hashes

Hashes for pysail-0.3.3.tar.gz
Algorithm Hash digest
SHA256 eff20163312049064c56d05e21251df287f0a939fb3621aa511608d6e47499b9
MD5 ee208359ebefda093ee31caa4837b3ed
BLAKE2b-256 0aaa560c9ba7fd9af2380c168a5e170e09f7f596467105732e4f11a5aab4e031

See more details on using hashes here.

File details

Details for the file pysail-0.3.3-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: pysail-0.3.3-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 41.9 MB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.9.3

File hashes

Hashes for pysail-0.3.3-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c16f5e8196733309776c85d24cbb51e70a195ee35689b531639dcd23392bb811
MD5 90fb758813b64f7e65b9a89bf78f58fc
BLAKE2b-256 93f72274edaab2ca34ae81a719cf5e27e66d1db3f5d7b6710b8e1ebed0592ef2

See more details on using hashes here.

File details

Details for the file pysail-0.3.3-cp38-abi3-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for pysail-0.3.3-cp38-abi3-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 fb2bf493ac57de1397d0029250ffc46ad3f7addcac52fb41af3ebbf383d28143
MD5 08fda983ef5523df5ab4198c036f8ff4
BLAKE2b-256 fe68ded15ed55ae9f4b9f5f1e2dca30d8a1e9ba68ec8d12f5ab8ce51b13038b6

See more details on using hashes here.

File details

Details for the file pysail-0.3.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pysail-0.3.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6d661290f8c63cdfb115a21024277aa6b9c82d657f1536f3ad20194de70670c2
MD5 663a7263fda0d178a56e97a6492b24c1
BLAKE2b-256 ec08abd92ca0de33e0e08219243d6286e5160ec4b0be59ee03f7c33080733000

See more details on using hashes here.

File details

Details for the file pysail-0.3.3-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pysail-0.3.3-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8fc3ccc11fbeb0f67ced352d728bfa57048278bae9902f9b44fef83a5bc0374b
MD5 72f0bd27b8ba2a248ce67b26e83b2670
BLAKE2b-256 bd4e0457a3cab6f85fb476a096f3711e5b3c3b484464bf53026775a586bca8d3

See more details on using hashes here.

File details

Details for the file pysail-0.3.3-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pysail-0.3.3-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e0fa4625f513af569c8cd9d9da37fffd41bdbb222d9917f8cc76971c0ae5bd7d
MD5 658d466de1d10ec60eb1a83a88142b4f
BLAKE2b-256 4b28764a3793c6104555b897ad4288213302b7f200864c490fa45036f47500dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page