Skip to main content

A pipe-first DSL for data and ML work

Project description

Peppermint

A pipe-first DSL for data and ML work. Designed to be lightweight and readable, where every operation is a pipeline step, errors propagate automatically, and the heavy lifting happens internally so you don't have to worry about it.

Install

pip install -e .

Run

pep file.pep  # run a file
pep           # interactive REPL

Example

load("survey.csv")
  |> filter(it.age > 18)
  |> add(score: it.income / it.age)
  |> sort(by: "score", dir: "desc")
  |> print()
load("survey.csv")
  |> group(by: "region") {
      |> agg(avg_score: mean(it.score), n: count())
  }
  |> sort(by: "avg_score", dir: "desc")
  |> print()

Each step prints a summary as it runs:

|> filter    → List  843 rows × 5 cols  (157 dropped)
|> add       → List  843 rows × 6 cols  (+score)
|> sort      → List  843 rows × 6 cols

See docs/language.md for the full language reference and examples/ for more.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

peppermint_lang-0.3.0.tar.gz (32.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

peppermint_lang-0.3.0-py3-none-any.whl (29.2 kB view details)

Uploaded Python 3

File details

Details for the file peppermint_lang-0.3.0.tar.gz.

File metadata

  • Download URL: peppermint_lang-0.3.0.tar.gz
  • Upload date:
  • Size: 32.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for peppermint_lang-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b1ae51e26e5d69e5e93c8e64f337f80e66a5cc51126cfa927f9471bf78fca8d2
MD5 c00e0ce275746473ee4575786718115d
BLAKE2b-256 ff787d3aa38a05fc27b853552fc7ad2216409288b75566c2c244262ba911779b

See more details on using hashes here.

Provenance

The following attestation bundles were made for peppermint_lang-0.3.0.tar.gz:

Publisher: workflow.yml on chayapatr/peppermint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file peppermint_lang-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: peppermint_lang-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 29.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for peppermint_lang-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c74d299ab68810a558e339a8b4a0d8827105fb2eedb1cc1b518070fb1a97c20
MD5 276d918fc337dfa27844ae0c75b1dc89
BLAKE2b-256 ac4949082e0928ed33c441dbae8b407b057566d8cfe2123b5bd5a9fe5eab82db

See more details on using hashes here.

Provenance

The following attestation bundles were made for peppermint_lang-0.3.0-py3-none-any.whl:

Publisher: workflow.yml on chayapatr/peppermint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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