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

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(f"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.1.tar.gz (558.7 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.1-cp38-abi3-win_amd64.whl (31.7 MB view details)

Uploaded CPython 3.8+Windows x86-64

pysail-0.2.1-cp38-abi3-manylinux_2_24_aarch64.whl (31.0 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.24+ ARM64

pysail-0.2.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (32.1 MB view details)

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

pysail-0.2.1-cp38-abi3-macosx_11_0_arm64.whl (28.7 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

pysail-0.2.1-cp38-abi3-macosx_10_12_x86_64.whl (31.6 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pysail-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b7b0c8fe2feaee198daf64c387233e2901a9b91b43a436f60cbdab3bdaec5b7b
MD5 eb96f2d3f4a3a0f4bad5497cae40ca35
BLAKE2b-256 af4a40fcfa537a91d3f3b2aa3b7d67690eae257f63c968ca6d38ed241fc730d5

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pysail-0.2.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3f46e402f967e68a9de0f039296e677416308a911ff8e8d1fac0b772f1ec4ed6
MD5 2b5b0d372ffdad934f1d7ae14ab54180
BLAKE2b-256 9595b71ce6a9e3029e8595572cb5893b32637c1d4d3cb51fd4369befcea4aa94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.1-cp38-abi3-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 d24532adc69ee1a113916d067a272e9039b3f062d7d18e73fe1ece5585750a0d
MD5 f0330728b321864b5607c75a6d176ce9
BLAKE2b-256 11d0a835963035a744b92e1270af13c03615e3a80302bd2dba8c724206233b08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 38e0bb44081948e0431f7753f1427e89f6275510686562d34c259e33471e0bb1
MD5 4186df1e39ced4c45875adcf5db515fb
BLAKE2b-256 c5f35cf684f57e73d6df34b8918bdb39096d8f700ac1be7bc73d931bacf2a2f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12e7ead73872afe7d08e75e73b503e8a1461d4f47ea5223f891cf667b188e995
MD5 e30aef71b26ad2ddd92fd4e745470b3c
BLAKE2b-256 4d2ed79ccd5543f0ff61b643befbd63a38ea6a8a7035c5e2a7967e982c2fb99d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pysail-0.2.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 43d2502e4cb9a5c8695db5284f31c144ad432e613febc4f86ce88d3628b73f6b
MD5 5a9f788c62742477fa5fe6fb00873a41
BLAKE2b-256 dabb617218cce35d1f4aae9d1b0dea379d18f520c94525152c71ad51072d5026

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