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.1.tar.gz (29.2 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.1-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: peppermint_lang-0.2.1.tar.gz
  • Upload date:
  • Size: 29.2 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.1.tar.gz
Algorithm Hash digest
SHA256 1a5fa9596d6969401a6a15e7a1ff95a5a268ee6270a5def51b7e1792f779d357
MD5 a95ed56d54fa2072bd3d88a6d6b38b7c
BLAKE2b-256 ebf486b5cee3853e8d6c2b40f187347627a5d14a612e236010abf7c32c4da3f4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: peppermint_lang-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 26.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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2aaaa6322a826ca2c2160d93303e55e9e941562aa93f58ad21bb136b23a035e9
MD5 6ba29f9c3760014592856507cded14dd
BLAKE2b-256 83507a2bb9441793155f7b6809f70269d223b33bfd2c00457e0058c35df7685b

See more details on using hashes here.

Provenance

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