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.2.2.tar.gz (29.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.2.2-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: peppermint_lang-0.2.2.tar.gz
  • Upload date:
  • Size: 29.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.2.2.tar.gz
Algorithm Hash digest
SHA256 06157843a1c78b3728645e798f68cb3ab67d1dcd5132cbc9bc5bbca62950a59b
MD5 afc4dbb8aa703cc621a0fe0411979839
BLAKE2b-256 e346dac829cfef0fd5a37134a83a0a91e5f98021de280e705ea1523045e8bc95

See more details on using hashes here.

Provenance

The following attestation bundles were made for peppermint_lang-0.2.2.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.2.2-py3-none-any.whl.

File metadata

  • Download URL: peppermint_lang-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 26.5 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.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3a6f7233cd97961ac16fd4623a096740ed9350cc43a7a43aca236e0b1a2abe67
MD5 b478fad2777d0f7a42d5f668b8f1d775
BLAKE2b-256 e7211d956da4be6e90e9e3fb09c85c63c022df643de828664da528e0c45556d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for peppermint_lang-0.2.2-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