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.4.tar.gz (657.6 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.4-cp38-abi3-win_amd64.whl (34.1 MB view details)

Uploaded CPython 3.8+Windows x86-64

pysail-0.2.4-cp38-abi3-manylinux_2_24_aarch64.whl (34.5 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.24+ ARM64

pysail-0.2.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (36.9 MB view details)

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

pysail-0.2.4-cp38-abi3-macosx_11_0_arm64.whl (32.1 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

pysail-0.2.4-cp38-abi3-macosx_10_12_x86_64.whl (34.5 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pysail-0.2.4.tar.gz
Algorithm Hash digest
SHA256 07247a0ace5925a5c7baa8cfb6f625dea9b35cb6e38cb63f88155547274b9832
MD5 930f5a005ee44df3dc5ac8e768cc0cf9
BLAKE2b-256 77a887172af1ee2c8ac7e0bc2072186edb523a47c22fbd77628ca539f2931bda

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pysail-0.2.4-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 34.1 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.4-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 efbb027d2efe373cdbbf0c11f528111f03718c6c99aabf96554d1224d071abd6
MD5 e217855ffa789f8bd5db6e89b5075c38
BLAKE2b-256 93f78e19bdefb660b2b64ca607732a3059628206ee0e96dd4476f8e7abdde8f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.4-cp38-abi3-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 8cdef4b43d8cfdeb49e300baca55b60cebbefb6ee3e6925af82e09f4cae3bfcf
MD5 f08386a840a4051477464f4bc3711d06
BLAKE2b-256 02a2a8dd4f14fc8338438164d1d5d314df1ab1000d9a9831330895040b1a3316

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e4c59b1d1cfb8710767849a864c3fdcf0107bd630cec505eca41aee4c99da8d
MD5 743a81cb3f8993f2742d1e789e97f18a
BLAKE2b-256 8617715a078f55172a65a1006fc37a96b03533dadc3af792b0850721d65dc5de

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.4-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04482dba1f6e09f19720e703152d674e46c7d4787df71245f680be0bc32c5839
MD5 27cc89ee67ea0ef14b4d0b3f3ed56dc3
BLAKE2b-256 afe718cda2a8df58af97d25ba3212b63a7b33118523291ccbd881e01acf7019f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.4-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1487210f277cc056630fb0d48115f29a15ecbe93554c3a9cb01b39a67cc71cab
MD5 c991791480af7ea8f5eb37f5ebfdec42
BLAKE2b-256 07a250ba5cdb56ebf0bc1beed3e27620ec542aba9d2fd5065592525a7ec9aed9

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