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

Uploaded Python 3Windows x86-64

chili_pie-0.8.1-py3-none-musllinux_1_2_x86_64.whl (26.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

chili_pie-0.8.1-py3-none-manylinux_2_28_x86_64.whl (26.9 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

chili_pie-0.8.1-py3-none-macosx_11_0_arm64.whl (23.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

chili_pie-0.8.1-py3-none-macosx_10_12_x86_64.whl (26.2 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

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

Hashes for chili_pie-0.8.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 3a035ca00dda1c4574bff6a378ff5af1e4e9c8c2069754e97cee94c3131f7d28
MD5 1881b28e4c14ca2bd2ed4cb7be1af392
BLAKE2b-256 948660e1aedcbeace205d13a4a2f475b95281624cd1fc535c5365266c6ed24e7

See more details on using hashes here.

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

Hashes for chili_pie-0.8.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 648f161d838c03f9045498e6ec09f468e37311693cd47a63f7446ab912f2f260
MD5 b30da973d3910987696d3f201a8bcc65
BLAKE2b-256 fbdab632dca497604f760121c9bbe6b4977aa7f399c4ab97fe85f3ee53352453

See more details on using hashes here.

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

Hashes for chili_pie-0.8.1-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 027f39ae6428b8eade7a6aae853361675530e39c4c47fbc2af8646dc48e46b48
MD5 3a36441f1f70e645f7a9086a9dabdb0a
BLAKE2b-256 444d6704e1c8f01b3b8bbff99bac5d3168cefa13b8d24b6e3f299a5459ab6989

See more details on using hashes here.

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

Hashes for chili_pie-0.8.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 28a38aee4f22c574997775fcce82d694854aa92606a5d6705605e383fc9e13c2
MD5 157c4e214cf80ea0e62da7bd2effe3ad
BLAKE2b-256 a1b5d50d9b3092dfb81779509fded4eb1973e0428ca935d89410a425d263a6a6

See more details on using hashes here.

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

Hashes for chili_pie-0.8.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 56e4f277c93eabf97d79b979cae2a56bfcaeb7b27b7dad2342bce9366bdf8d97
MD5 8e0d48ca14dae095ca1b1f3d98246565
BLAKE2b-256 4a3d716c989dcc86ba34b856b6e578fc9db562fb51d1355763495dae502e391f

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