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.

✨News✨: Please check out our MCP server that brings data analytics in Spark to both LLM agents and humans!

Installation

Sail is available as a Python package on PyPI. You can install it using pip.

pip install "pysail[spark]"

Alternatively, you can install Sail from source for better performance for your hardware architecture. You can follow the Installation guide for more information.

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.2.6.tar.gz (670.9 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.2.6-cp38-abi3-win_amd64.whl (35.1 MB view details)

Uploaded CPython 3.8+Windows x86-64

pysail-0.2.6-cp38-abi3-manylinux_2_24_aarch64.whl (35.4 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.24+ ARM64

pysail-0.2.6-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (37.8 MB view details)

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

pysail-0.2.6-cp38-abi3-macosx_11_0_arm64.whl (32.9 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

pysail-0.2.6-cp38-abi3-macosx_10_12_x86_64.whl (35.3 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pysail-0.2.6.tar.gz
Algorithm Hash digest
SHA256 0fd3642723216f4e865a6db8aa0652dffc09031d26187f511156978132e43eaf
MD5 a15bd8b848f58ebaf2405f300483ec7c
BLAKE2b-256 c6043c942c6736bc16da8f603b06dd2a0d7d76f918142a8aa6814e683c12c41f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pysail-0.2.6-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4f543c039a5fbdc102c192d3e5561a2d92ec6db60e0eca76b2e1ca588097c69b
MD5 d1018a5c2d2499c39b88025b59e80fd0
BLAKE2b-256 313aba68ff6952808cf6021da653d80a7ba4c5323a6f6887e05005040072c986

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.6-cp38-abi3-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 db3cbd91102016b04c60ae596e072b044472044a38328ee40aab9b46639e02fc
MD5 55233fe78e25476519a89a26eb24ac51
BLAKE2b-256 86139f083a3c2a263d93e6024eef47aced211832dcec54aa14c3a34053b223a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.6-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8c042011c3816be774423614a7535793a1f5c5fb6720cdceb69dde5129179d0
MD5 cc598511fec8e3a723a337939153cd2d
BLAKE2b-256 274771f52b557896da1848d46c0352f67fa113a7533166f5c2232217e12c9f6f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.6-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 47eab2d29624fdf14f2bfaaebf462c31679bdbebf2aca3c650c375e9f9f857a6
MD5 81a0a2b94133e464719c185a700479dc
BLAKE2b-256 bf99f49a85cb143ccbe39a2fc4c704bb4200e5e154471e6f366fb7f5391e6467

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.6-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ea9458e2d10951025fedeaa18b93f3a62347ddca554ad54e580426f5c4ae3b0d
MD5 6700df18bc652caba94816d0a72fb949
BLAKE2b-256 193e1365decac222c1d14b1731a9ae7598d33dbde9110401eaa77361efae5e8a

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