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.5.tar.gz (663.2 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.5-cp38-abi3-win_amd64.whl (34.9 MB view details)

Uploaded CPython 3.8+Windows x86-64

pysail-0.2.5-cp38-abi3-manylinux_2_24_aarch64.whl (35.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.24+ ARM64

pysail-0.2.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (37.6 MB view details)

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

pysail-0.2.5-cp38-abi3-macosx_11_0_arm64.whl (32.6 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

pysail-0.2.5-cp38-abi3-macosx_10_12_x86_64.whl (35.1 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pysail-0.2.5.tar.gz
Algorithm Hash digest
SHA256 1f7f0350466add792c5a57508242a8d1673c433f84b6bf9ba6303a241842b6c6
MD5 2ab1a1e2906bc588f63db5a2cd8a5515
BLAKE2b-256 a4e913bd6466ca7434c77ce165a3bdc036f32877aa0e3a86f57d947ebb397d40

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pysail-0.2.5-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ed9a069ef851ccbfc2b06f09c0dc814b3dd5e0ab11c0da6997341e26f1b2cc40
MD5 8768ad7d633a718e7db962c7e8bd3c12
BLAKE2b-256 8c836cc7b7a3353ea02dc86644278bbff6d79ef45e72501c0fcb7ca49cd21048

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.5-cp38-abi3-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 cb4cd02661480437365f3b986035375d07620cc1013199dba77c216e336002ee
MD5 9ca4065cbdfbc3372001d708ed236f83
BLAKE2b-256 72e1a77c5d784106854bb645cde1dc735601ea2d2687d99151d3e80c38df599d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b7584c5fe953ce685ab31cdcebf6958511ba1e0a89d8d5895c0403c337277e77
MD5 516086871d8cf79dcc926b07e2fff478
BLAKE2b-256 fcce2c2e77191b2870b85692f8bb601120040b34b0db06f2fb00f58b9f37a03a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.5-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f3ff4b58f176ddf475fd3f4192026c8a274320546f7c18193409ecfc8a0afe07
MD5 0cb7c7e53a9e0ba804ffa721f90437f5
BLAKE2b-256 71249685b3699038ae4f2778a44c145e0e6088155a80442f79725008e22e2732

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.5-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3f016c81a2cfdca56d753f626389ccd8012d51880e6f8a16bbcef48f1def67e4
MD5 12971749b46cf0761340e6c80f0713dc
BLAKE2b-256 88cc7d66bdc6c10f853ef52b726c2207d88dbb6da22aab5a159fc5a70bea0c98

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