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

Uploaded Python 3Windows x86-64

chili_pie-0.9.3-py3-none-musllinux_1_2_x86_64.whl (29.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

chili_pie-0.9.3-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.3-py3-none-win_amd64.whl.

File metadata

  • Download URL: chili_pie-0.9.3-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.24 {"installer":{"name":"uv","version":"0.11.24","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.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 8d2dac2cc9ae157e5dd28d8b71d44d02a28047b2aa0536f562140da77713e73b
MD5 8fdf8d35e29307f2de90c54a2e496c3e
BLAKE2b-256 4cb67bdaee6906dbbe5335e21154bed2b13565cd9a902d29086e924f7fbafedf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.9.3-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 29.6 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8c9c7f4020357ba2a344c34a8d3fcf55bfda99299bc2d0018971c19e2b9c8458
MD5 0bb4c77bb7fc0a3313288916a02abceb
BLAKE2b-256 5e9643743ea45ea85b14b537f343f7d3c653e319bbf395a7784f9082de20c417

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.9.3-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.24 {"installer":{"name":"uv","version":"0.11.24","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.3-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a83c0950789e99ed21a1c86cdab048736058850e15af86d6b99431408a4b08a6
MD5 8dd6fe666c1e716adf4062c81a850b08
BLAKE2b-256 a496a004045530161e597de598d06009d5110007bc4a30d32dfc4bd3984c7467

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.9.3-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.24 {"installer":{"name":"uv","version":"0.11.24","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.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0cef31812ff8fd43fbad82eaee34514c92aa73e9493cc4812155545f5b8d23bc
MD5 549c648415ce5dd0326807a6977870e4
BLAKE2b-256 e4f2c3eab692a8d3c04592aa7ff409049fa9c69f695da849dadc3a50e0b77744

See more details on using hashes here.

File details

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

File metadata

  • Download URL: chili_pie-0.9.3-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.24 {"installer":{"name":"uv","version":"0.11.24","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.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1b0dbacd4d11b97abe8078e564cc60656b30ea386ca496452bca6a846c2b4fac
MD5 130ed48c3c9917b8bbfeeda9630b276c
BLAKE2b-256 646f16ad09350aab652148fbafb4812ac7ac935c4733d84a57e501a137d7d9a8

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