All Projects → stoney95 → pypely

stoney95 / pypely

Licence: GPL-3.0 license
Make your data processing easy

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pypely

pipe-trait
Make it possible to chain regular functions
Stars: ✭ 22 (+29.41%)
Mutual labels:  pipeline, pipe
Hookah
A cross-platform tool for data pipelines.
Stars: ✭ 83 (+388.24%)
Mutual labels:  pipeline, pipe
Pipeline
Pipeline is a package to build multi-staged concurrent workflows with a centralized logging output.
Stars: ✭ 433 (+2447.06%)
Mutual labels:  pipeline, pipe
Sspipe
Simple Smart Pipe: python productivity-tool for rapid data manipulation
Stars: ✭ 96 (+464.71%)
Mutual labels:  pipe, readability
pipe
Functional Pipeline in Go
Stars: ✭ 30 (+76.47%)
Mutual labels:  pipeline, pipe
Ttyplot
a realtime plotting utility for terminal/console with data input from stdin
Stars: ✭ 532 (+3029.41%)
Mutual labels:  pipeline, pipe
Param pipe
parameterized pipe in elixir: |n>
Stars: ✭ 14 (-17.65%)
Mutual labels:  pipeline, pipe
Onhold
🔊 Play sounds while and after shell jobs complete
Stars: ✭ 146 (+758.82%)
Mutual labels:  pipeline, pipe
Pipeline.rs
☔️ => ⛅️ => ☀️
Stars: ✭ 188 (+1005.88%)
Mutual labels:  pipeline, pipe
Fluids
Fluid dynamics component of Chemical Engineering Design Library (ChEDL)
Stars: ✭ 154 (+805.88%)
Mutual labels:  pipeline, pipe
rocket-pipes
Powerful pipes for TypeScript, that chain Promise and ADT for you 🚌 -> ⛰️ -> 🚠 -> 🏂 -> 🚀
Stars: ✭ 18 (+5.88%)
Mutual labels:  pipeline, pipe
etran
Erlang Parse Transforms Including Fold (MapReduce) comprehension, Elixir-like Pipeline, and default function arguments
Stars: ✭ 19 (+11.76%)
Mutual labels:  pipeline, pipe
tpack
Pack a Go workflow/function as a Unix-style pipeline command
Stars: ✭ 55 (+223.53%)
Mutual labels:  pipeline, pipe
react-native-reader
Cross-platform native reader mode for react-native (safari like)
Stars: ✭ 52 (+205.88%)
Mutual labels:  readability
web pipe
One-way pipe, composable, rack application builder
Stars: ✭ 56 (+229.41%)
Mutual labels:  pipe
GeneLab Data Processing
No description or website provided.
Stars: ✭ 32 (+88.24%)
Mutual labels:  pipeline
EDTA
Extensive de-novo TE Annotator
Stars: ✭ 210 (+1135.29%)
Mutual labels:  pipeline
automated-readability
Formula to detect ease of reading according to the Automated Readability Index (1967)
Stars: ✭ 46 (+170.59%)
Mutual labels:  readability
LogHub
No description or website provided.
Stars: ✭ 38 (+123.53%)
Mutual labels:  pipeline
plumbing
This repo holds configuration for infrastructure used across the tektoncd org 🏗️
Stars: ✭ 41 (+141.18%)
Mutual labels:  pipeline

pypely Twitter

PyPI GitHub release PyPI download month PyPI download week Lint Code Base GitHub stars GitHub followers PRs Welcome Open in Visual Studio Code codecov

Make your data processing easy - build pipelines in a functional manner. In general this package will not make your code faster or necessarily make you write less code. The purpose of this package is to make you think differently about data processing.

You are encouraged to write your data processing step by step - each step being a function. By naming each step with great awareness and chaining them together you will receive a consise and descriptive scheme of the process. This should give you and your colleagues a nice overview on how the process is structured and makes it easy to understand. Addtionally you can test every small step easily.

Installation

pip install pypely

Usage

Use pypely to chain functions and structure your data processing code in a readable way.

use_pypely = pipeline(
    open_favourite_ide,
    create_new_conda_environment,
    activate_environment,
    install_pypely,
    have_fun_building_pipelines 
)

use_pypely() # -> 🥳

If you want to learn more check out the following links.

Links

Why functional?

Functional programming is a data driven approach to building software - so let's move data to the center of our thinking when building data processing pipelines. To illustrate the idea a little more two analogies will be used.

Railway

The railway analogy used by Scott Wlaschin in this talk is a good way of looking at functional programming. With pypely you can easily build a route from start to finish without caring about the stops in between. 🚂

In this analogy you should translate:

  • railway stop to intermediate result
  • railway to tranformative function

Git

git branching might be an even easier analogy:

Our every day work is managed by git and hopefully you don't need to care about special commit hashes etc.. "Shouldn't it be the same for intermediate results in data processing?" 🤔 - "I guess I just care about raw data and processing results".

In this analogy you should translate:

  • git commit to intermediate result
  • you writing & commiting code to tranformative function

Cites by smart people (Who use functional programming)

"Design is separating into things that can be composed." - Rich Hickey

What can I use this for?

This may be the main question that should be answered. This library focuses on structuring data processing, so consider it for dataframes operations. There are two libraries that need to be mentioned:

But ☝️.. if you want to build your whole application in a functional style, pypely provides you with the basics for this. So get creative 🤩

Contributing

If you want to contribute:

  1. Woohoo! 🥳
  2. Please check out the contribution guide.
  3. See the issues to find a contribution possibility or create one to tell your plan and start a discussion.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].