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

Uploaded Python 3Windows x86-64

chili_pie-0.8.2-py3-none-musllinux_1_2_x86_64.whl (26.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

chili_pie-0.8.2-py3-none-manylinux_2_28_x86_64.whl (27.0 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

chili_pie-0.8.2-py3-none-macosx_11_0_arm64.whl (23.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

chili_pie-0.8.2-py3-none-macosx_10_12_x86_64.whl (26.3 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: chili_pie-0.8.2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 29.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 351c1383117e53b3bb9a3dbda766ff6e66e5d71d96b0dae0441722f2c11d5825
MD5 8e641534e67de2e120df1e536ed101fb
BLAKE2b-256 b8799504703555af0466d39da5787a622ee07b7f8a034ecb8e2261e260ff3833

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.8.2-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 26.7 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 173e303505cccc623d564836fa81b39351315e3a77deca0086a45540dc838906
MD5 59ca3947c673d3e2e603b3f94aae064e
BLAKE2b-256 c59ef8ab67c8a6586c328a3cf3b0c667502a944758f86ad4cee35f6b35893ae6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.8.2-py3-none-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 27.0 MB
  • Tags: Python 3, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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.2-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 436af986b8ba5c92eeb1c219b1bfbba45f1b725e59f23fddc82a3646f7a24100
MD5 55c718fd1f5ab311dc80479cfb38d2bb
BLAKE2b-256 43dc75d9e86245abe56b5c099ee5fbf1585071248c811543d19b69e3943d66a2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.8.2-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 23.8 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 01527dbe63e2f90970c6c995dd3ffac244121e63dbb630523681f80ad3a647be
MD5 79923a16fc9d6eb4da3b556d96d8275a
BLAKE2b-256 e99fb1a7dc7643426e49f4ae4961d8498551244783ceb19d9731907d56de7382

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.8.2-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 26.3 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6a38468f0f896669aada9b64a074df17f905806996c508676803a81e08f51680
MD5 4b1a285d8e7a08ef932f05951fe8a6b3
BLAKE2b-256 44a0db26d071672bd3290aded5f5bdb4667225d657c841735ea9c92fe7b19eca

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