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

Uploaded Python 3Windows x86-64

chili_pie-0.9.2-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.2-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.2-py3-none-macosx_11_0_arm64.whl (26.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

chili_pie-0.9.2-py3-none-macosx_10_12_x86_64.whl (29.3 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: chili_pie-0.9.2-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.21 {"installer":{"name":"uv","version":"0.11.21","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.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 e6b7634093caf540e1fbcf69e991813b909574cfad5ba46f91f1a260234e5f58
MD5 421894ff3db1aac90bfd65c3dc1613b5
BLAKE2b-256 459ef412d14d606583bc1aca5a034870fa65c6cff8993faf324529a14c19793c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.9.2-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.21 {"installer":{"name":"uv","version":"0.11.21","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.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dba792ce2afdb78af3efafdf8a9e5be21acb62a9d82cf5b9074dc0a185184ed4
MD5 e872aa798cf486d36b04e83ba3d89b95
BLAKE2b-256 919252a3e1b34e6a8385d1a0bb5d5cdefb5c448ec69bfc64004644865d1b0eea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.9.2-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.21 {"installer":{"name":"uv","version":"0.11.21","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.2-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 221e44f841ca6a4fd227dbfc38fa0643ccaea8e8f3393afe0224627127a39989
MD5 9314b6b92d52b9044c515eb027fc9905
BLAKE2b-256 adf820fd2d5880549334bd3ff7b3e43c1c4ec77132a8321c2908abaa94170470

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.9.2-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.21 {"installer":{"name":"uv","version":"0.11.21","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.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b2f1da1b909c00b3d73b51e81d70ad5a2a7517fbd34b95d9cd7960e53c700e7f
MD5 4ae3a6f7732569a2f62b2d39fb09ac7b
BLAKE2b-256 be084191241e8ea3555637be8078e772d8d7c29db8f5cdc0c8b0fb1e0279990a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.9.2-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 29.3 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","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.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 79aba98b18f6ce0d83f25bce1c2669f7484fa4986d6a9bb48379637191c2f1ce
MD5 360efdb0f9aef410eddc9d4a32ec48d9
BLAKE2b-256 7dde6f9b0be25016a4e07a082bb64ef3c60c08abea3ae82b969bb4073353fbca

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