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.2.tar.gz (636.1 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.2-cp38-abi3-win_amd64.whl (32.6 MB view details)

Uploaded CPython 3.8+Windows x86-64

pysail-0.2.2-cp38-abi3-manylinux_2_24_aarch64.whl (31.7 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.24+ ARM64

pysail-0.2.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (33.0 MB view details)

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

pysail-0.2.2-cp38-abi3-macosx_11_0_arm64.whl (30.4 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

pysail-0.2.2-cp38-abi3-macosx_10_12_x86_64.whl (32.6 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pysail-0.2.2.tar.gz
Algorithm Hash digest
SHA256 2a1273cb31f5840412d340261e964eb4e933ed172010f9a86b925807bed0987d
MD5 5ccb7efa822920347549451336b8eb36
BLAKE2b-256 93a352659a287e439be8bf7d944aee60411b465153846b43376966568c0641c3

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pysail-0.2.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 507ab693ce5917e9740748a1dc649f37eca253a4f861853553e930fc071be1fa
MD5 5fb8efa1a22c07a36edead679d5227a8
BLAKE2b-256 9b9d34b5dd5330798f40255f3b5e13bab6dc9a651cd7852e7ab9c7653fe80345

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.2-cp38-abi3-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 fd31032e64a0858ae8730fecc7caf3d5d44c10946671f50fcd448a933b4df301
MD5 67dc87e47f4d2df2b29f5dca6d1f2c0e
BLAKE2b-256 c7d843e0508a1fb68d19c2cdc51bb4c6a0c4d31201f71a9a6052e9d8fe1447d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 254eed07e871b69446f6276e1df8e74942a8b2c27e35c80c96399a5564bd230c
MD5 6246434fc00b240aaf7d4bed9a07a3f1
BLAKE2b-256 0517bb3ed7b13f821ad037d970da509766d05432232b0a9ef36e80c011bfb409

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2439351f458f4416d19a0196a22a1345492750e05ba01fe3bb9c15df9d2b508d
MD5 a55403572d8ac2c177565698e5cf40bc
BLAKE2b-256 23bd77807da9406e244f509275af9addc8a36a0c72f119d097c34489ebe9e914

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a0a35e57d944e900ca7e1b62805889f57976203b93fe96458808f250d430218b
MD5 d39aa7062667e111f6845cf9c9c04de1
BLAKE2b-256 b751af5565bf2b837af476470fb6779e960bc3942711c2c49582bc8d68e92c55

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