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.5-py3-none-win_amd64.whl (31.4 MB view details)

Uploaded Python 3Windows x86-64

chili_pie-0.9.5-py3-none-musllinux_1_2_x86_64.whl (29.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

chili_pie-0.9.5-py3-none-manylinux_2_28_x86_64.whl (30.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

chili_pie-0.9.5-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.5-py3-none-win_amd64.whl.

File metadata

  • Download URL: chili_pie-0.9.5-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.29 {"installer":{"name":"uv","version":"0.11.29","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.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 08e4bc656fe548808ab199b88dc51fb966ea2a17144ed9474824a8b5ffdd7249
MD5 a81661849bd59c7e1e423b9ec15edd8d
BLAKE2b-256 7cd30060694b3d776da94c9fe8c2b63cd5d493f93ec3372add42d43883cd570b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.9.5-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 29.5 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.5-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f63ea800f851806ae2a166c0f3c43742f75902ee8c59a20af40b5d4b2db06606
MD5 08b12888b7f9e337aa6299abefc7d573
BLAKE2b-256 78882eccbc97f6dbb46288bea41b5ca043cc874d939a37e5245307a3444d1754

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.9.5-py3-none-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 30.8 MB
  • Tags: Python 3, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.5-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3fe77713d5a80b6085a1a7573d29921abe00aca508cc578ca7942310bc60dd2f
MD5 7e1b6fbb77cf5cd6ccb4ba500472ccd7
BLAKE2b-256 8a6d4f5c6b03cdb543c42493619e5c830a4dd21faeea558a7636cc88c0d95d07

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.9.5-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.29 {"installer":{"name":"uv","version":"0.11.29","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.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 164170f7915187c303e31847f247f18c1e624c1a786844ab55cc15a59cd91e27
MD5 329aab37bc89a033bd297b9a6dafc705
BLAKE2b-256 7cdf1a1689b586f5de53a4cd75cd445516f68a9a12f27bbe116b1bbd49dc9464

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.9.5-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.29 {"installer":{"name":"uv","version":"0.11.29","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.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 708374579a77430a606d0c9eab39ab6f4fe6cff3844597732573a4cc8b7152e3
MD5 f3427b42072f80cafa82c63088b1d26a
BLAKE2b-256 02f93d50fbed94d76e4ace562329d8a5295e666739a4b9c1b544e5b7090161fe

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