Skip to main content

Chili Language Runtime, written in Rust.

Project description

chili

PyPI - Version Visual Studio Marketplace Version PyPI - Version

Chili

A programming language for data analysis and engineering, written in Rust.

Chili uses Polars for data manipulation and Arrow/Parquet for data storage.

Language Syntaxes

Chili provides two language syntaxes:

  • chili — a modern syntax similar to JavaScript.
  • pepper — a vintage syntax similar to q.

Features

  • Polars-powered — full Polars DataFrame support for high-performance data manipulation
  • Arrow / Parquet storage — native support for columnar data formats
  • Partitioned tables — date-partitioned Parquet storage with partition pruning
  • Lazy evaluation — lazy DataFrames with collect for deferred computation
  • IPC / TCP — built-in TCP listener for remote connections
  • Tick / Sub — publish-subscribe infrastructure for real-time data
  • Job scheduler — periodic job execution and memory monitoring
  • Cross-platform — Linux, macOS, and Windows

Installation

Via pip (recommended)

pip install chili-pie

From source

cargo build --release --bin chili

Python bindings (chili-sauce)

pip install chili-sauce

Quick Start

Launch the REPL:

# chili syntax (default)
chili

# pepper syntax
chili -P

Evaluate a script:

chili script.chi

Architecture

crates/
├── chili-bin      # CLI binary & REPL
├── chili-core     # Engine state, evaluator, IPC, and built-in functions
├── chili-op       # Data operations (partitioned I/O, scan, eval)
└── chili-parser   # Chumsky-based parser for both syntaxes
Package Description
chili-pie Chili runtime distributed as a Python wheel
chili-sauce Python bindings for EngineState via PyO3

Development

# Build
cargo build --bin chili

# Test
cargo test

# Clippy
cargo clippy --fix --allow-dirty

# Build & install Python runtime wheel
maturin build --release --out dist --manifest-path crates/chili-bin/Cargo.toml

# Build & install Python bindings
maturin develop --release --manifest-path crates/chili-py/Cargo.toml

A Taskfile is provided for common workflows — run task --list to see all available tasks.

References

  • Polars — an open-source library for data manipulation
  • chumsky — a high-performance parser combinator library
  • kola — source code reused for interfacing with q
  • Nushell — a new type of shell

Thanks to the authors of these projects and all other open-source projects for their great work.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

chili_pie-0.9.1-py3-none-win_amd64.whl (31.4 MB view details)

Uploaded Python 3Windows x86-64

chili_pie-0.9.1-py3-none-musllinux_1_2_x86_64.whl (29.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

chili_pie-0.9.1-py3-none-manylinux_2_28_x86_64.whl (31.0 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

chili_pie-0.9.1-py3-none-macosx_11_0_arm64.whl (26.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

chili_pie-0.9.1-py3-none-macosx_10_12_x86_64.whl (29.4 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file chili_pie-0.9.1-py3-none-win_amd64.whl.

File metadata

  • Download URL: chili_pie-0.9.1-py3-none-win_amd64.whl
  • Upload date:
  • Size: 31.4 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for chili_pie-0.9.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 cc172f983a5e18b145ea199fd31213d048dfcb85d7ae248ea4a2b1ec6e3610ed
MD5 6156a69d67f188dd15d73a1d2dd41731
BLAKE2b-256 df549f1a20cfa82c33e9f169a0c8b21813a2dc2b4ad4665de8392a9f1560bc81

See more details on using hashes here.

File details

Details for the file chili_pie-0.9.1-py3-none-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: chili_pie-0.9.1-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 29.7 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for chili_pie-0.9.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e3697c32e4cf0a9ff6ce5cbb9d5b7c4a723ab2bb489d68077e2d59aa180ba86a
MD5 8c3c1c4fc573b2bd38f65985e84e3d8e
BLAKE2b-256 20478c3ba7103cba4475d705bbe482b8df02126e248180073ae68aa5ff241ec7

See more details on using hashes here.

File details

Details for the file chili_pie-0.9.1-py3-none-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: chili_pie-0.9.1-py3-none-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 31.0 MB
  • Tags: Python 3, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for chili_pie-0.9.1-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 216c5d656f2a8caf83ab0dc340624aa095e1bbc81fab81aeb826817c2c7c612a
MD5 04c867904f7c710e5ebd31e10d1ca2b3
BLAKE2b-256 08f36cc20ca5568771c6c31c1b102e54b8fd7d0db7b2aaba0f43508fa1c10641

See more details on using hashes here.

File details

Details for the file chili_pie-0.9.1-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: chili_pie-0.9.1-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 26.5 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for chili_pie-0.9.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5bdd90bb95e16dfad964e546e9bac9115f6e3eb7b6612de5f1ddbb7c9207b76
MD5 3d9609f8ae9aa1bc5e14cf9ca7439736
BLAKE2b-256 16e206a3630a8f3ae67d1195ab8b81774cdf4bcba4241eb4d13775584bce2e10

See more details on using hashes here.

File details

Details for the file chili_pie-0.9.1-py3-none-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: chili_pie-0.9.1-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 29.4 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for chili_pie-0.9.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6b1bd78acfe9890d6f1dd04f7ed1171a18fdd64f6ad7a5140f261f9ee099649e
MD5 eeafd801805ec822566e862f165ceea6
BLAKE2b-256 0745e238c4f068b56d5a34904dc1f91e1300a428d617c03674e848967e85eec9

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