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.

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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+manylinux: glibc 2.24+ ARM64

pysail-0.2.3-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.3-cp38-abi3-macosx_11_0_arm64.whl (32.0 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

pysail-0.2.3-cp38-abi3-macosx_10_12_x86_64.whl (34.4 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pysail-0.2.3.tar.gz
Algorithm Hash digest
SHA256 a6ba715f510bf2fb284579936675e9ff9225d355dc32bd3506b0f7f22a442cda
MD5 ead3a8c61b2ecc82afa3a9c3dbaea344
BLAKE2b-256 c01011bee034c58b80d01f5f9e5d210865e045974d086634c4820127324f9490

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pysail-0.2.3-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.3-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 ba8c23559958123fcaef7089103782365c17c224f2d35afd2079c78eb776a360
MD5 44da62793a030d1ed9f77de7617ccba0
BLAKE2b-256 79511487a9a6b85395314108b6eaefe312b9e53b4cb4dc893b8dcbd3fad32dd2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.3-cp38-abi3-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 986df924059c60a8a8e2bf897551edc449f194d87c6ae441235576db467bf050
MD5 63250cb904041135296f34c49468aded
BLAKE2b-256 9b0f2388ac6cd3be0f3e1adebd62eaa1792cfdad96fb188cf559a392671bbe3c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9bcd653da6f0bddcfcaccfcaddef3327d3f88adc19ab3b843ba6d3cec46db562
MD5 06e8689b9e24d7a6e2b2dec69b84b82c
BLAKE2b-256 ee604df5254127f1b406d779cce70a402eca05c76dc280a562caada4ad3a0245

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.3-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e6ac26a793c5291a1de8b1ea2136e825da5d4a143bfd12f5672bb6b8ff512aff
MD5 c9c78dcc62e2ee713f4a24f81518940b
BLAKE2b-256 506a7f2c36b6ffd70357193a70722b95b1eb3446e01bfe3ea23feb41a8d41925

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.3-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2f789918a3f3b359e7b5a09c2a459b9a8f964e8ed1bf199f61fde81ded42ae5e
MD5 0337cc9a8ffbbbd367f7c0039c9f135b
BLAKE2b-256 112b3e799138f97149aa16d07d0b528eb257bc4fc5fd5196728e0cea4ac2dbc8

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