Skip to main content

create data processing pipelines

Project description

PLMBR

create data processing pipelines

Installation

Installing plmbr, which is available as a Python package, can be done with pip, preferably in a virtual environment. Launch a terminal and use the following command to install plmbr.

pip install plmbr

Introduction

It is a Python library for building predictable and reproducible data pipelines with ease. It wraps pandas with a clean, modular API inspired by TensorFlow’s Keras. plmbr simplifies complex data workflows into composable steps. This works with Jupyter notebooks as well.

Creating Pipes

Pipe objects are simple python classes that implements flow method which takes a pandas DataFrame as input and returns a pandas DataFrame as output. Pipe objects are mean to perform a specific operation on the data. Following is an example of a Pipe object that doubles the values in a column.

from pandas import DataFrame
from plmbr import Pipe, Pipeline

class DoubleIt(Pipe):
    def __init__(self, col: str):
        self.col = col

    def flow(self, data: DataFrame) -> DataFrame:
        data[self.col] = data[self.col] * 2
        return data

Building Pipeline

Pipeline is similar to Sequential in Keras. It takes a list of Pipe objects as input and builds a pipeline of operations. Each Pipe object is called in sequence to process the data.

pipeline = Pipeline([
    DoubleIt(col="A"),
])

Processing Data

df = DataFrame({ "A": [1, 2, 3] }, columns=["A"])
doubled_df = pipeline(df) # or pipeline.flow(df)
doubled_df
A
0 2
1 4
2 6

Contribute

Data transformation is a complex task, and plmbr is designed to be extensible and flexible to accommodate a wide range of use cases. If you have ideas for new features, find bugs or usability issues, or want to submit a pull request, your input is appreciated. Contributions of all kinds code, documentation, or feedback help improve the library and shape its future.

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

plmbr-0.5.0.tar.gz (2.0 kB view details)

Uploaded Source

Built Distribution

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

plmbr-0.5.0-py3-none-any.whl (2.8 kB view details)

Uploaded Python 3

File details

Details for the file plmbr-0.5.0.tar.gz.

File metadata

  • Download URL: plmbr-0.5.0.tar.gz
  • Upload date:
  • Size: 2.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for plmbr-0.5.0.tar.gz
Algorithm Hash digest
SHA256 0915c94d3ef688c1c558a2238b8f17d73f50491d3e719ea16f2bbb44e1e7f66e
MD5 9a42e1cbd2b10000d24c33c9bb5b0743
BLAKE2b-256 f43dd8d317868d703af09ab06e0b602561e5473242c1e07bc4666855b3d16c05

See more details on using hashes here.

File details

Details for the file plmbr-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: plmbr-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 2.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Fedora Linux","version":"43","id":"","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for plmbr-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3fb394bc3471d44444f133062f09c0ed977e335025a1a3cf1fc8bf1c9d2386ef
MD5 e10f19ceed011719e4d348b04b90d8ad
BLAKE2b-256 df2d2d46e461482a7f9bc0c427784b1881af285d2a70abe516eddb99bb4b1b1c

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