Chili Language Runtime, written in Rust.
Project description
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
collectfor 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
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chili_pie-0.8.1-py3-none-win_amd64.whl.
File metadata
- Download URL: chili_pie-0.8.1-py3-none-win_amd64.whl
- Upload date:
- Size: 29.8 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a035ca00dda1c4574bff6a378ff5af1e4e9c8c2069754e97cee94c3131f7d28
|
|
| MD5 |
1881b28e4c14ca2bd2ed4cb7be1af392
|
|
| BLAKE2b-256 |
948660e1aedcbeace205d13a4a2f475b95281624cd1fc535c5365266c6ed24e7
|
File details
Details for the file chili_pie-0.8.1-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: chili_pie-0.8.1-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 26.6 MB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
648f161d838c03f9045498e6ec09f468e37311693cd47a63f7446ab912f2f260
|
|
| MD5 |
b30da973d3910987696d3f201a8bcc65
|
|
| BLAKE2b-256 |
fbdab632dca497604f760121c9bbe6b4977aa7f399c4ab97fe85f3ee53352453
|
File details
Details for the file chili_pie-0.8.1-py3-none-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: chili_pie-0.8.1-py3-none-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 26.9 MB
- Tags: Python 3, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
027f39ae6428b8eade7a6aae853361675530e39c4c47fbc2af8646dc48e46b48
|
|
| MD5 |
3a36441f1f70e645f7a9086a9dabdb0a
|
|
| BLAKE2b-256 |
444d6704e1c8f01b3b8bbff99bac5d3168cefa13b8d24b6e3f299a5459ab6989
|
File details
Details for the file chili_pie-0.8.1-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: chili_pie-0.8.1-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 23.7 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28a38aee4f22c574997775fcce82d694854aa92606a5d6705605e383fc9e13c2
|
|
| MD5 |
157c4e214cf80ea0e62da7bd2effe3ad
|
|
| BLAKE2b-256 |
a1b5d50d9b3092dfb81779509fded4eb1973e0428ca935d89410a425d263a6a6
|
File details
Details for the file chili_pie-0.8.1-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: chili_pie-0.8.1-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 26.2 MB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56e4f277c93eabf97d79b979cae2a56bfcaeb7b27b7dad2342bce9366bdf8d97
|
|
| MD5 |
8e0d48ca14dae095ca1b1f3d98246565
|
|
| BLAKE2b-256 |
4a3d716c989dcc86ba34b856b6e578fc9db562fb51d1355763495dae502e391f
|