All Projects → Aber-s-practice → only-pipe

Aber-s-practice / only-pipe

Licence: MIT License
A non-intrusive Python pipeline.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to only-pipe

rnafusion
RNA-seq analysis pipeline for detection gene-fusions
Stars: ✭ 72 (+278.95%)
Mutual labels:  pipeline
proposal-hack-pipes
Old specification for Hack pipes in JavaScript. Please go to the new specification.
Stars: ✭ 87 (+357.89%)
Mutual labels:  pipeline
rurality
开源运维平台设计及开发样例、CMS、RBAC、python开发教程、管理系统设计及开发样例、jenkinsfile(pipeline)/ansible使用教程,一切想到的,想不到的,应有尽有
Stars: ✭ 51 (+168.42%)
Mutual labels:  pipeline
bacannot
Generic but comprehensive pipeline for prokaryotic genome annotation and interrogation with interactive reports and shiny app.
Stars: ✭ 51 (+168.42%)
Mutual labels:  pipeline
KoELECTRA-Pipeline
Transformers Pipeline with KoELECTRA
Stars: ✭ 37 (+94.74%)
Mutual labels:  pipeline
dnaPipeTE
dnaPipeTE (for de-novo assembly & annotation Pipeline for Transposable Elements), is a pipeline designed to find, annotate and quantify Transposable Elements in small samples of NGS datasets. It is very useful to quantify the proportion of TEs in newly sequenced genomes since it does not require genome assembly and works on small datasets (< 1X).
Stars: ✭ 28 (+47.37%)
Mutual labels:  pipeline
GoEmotions-pytorch
Pytorch Implementation of GoEmotions 😍😢😱
Stars: ✭ 95 (+400%)
Mutual labels:  pipeline
tailseeker
Software for measuring poly(A) tail length and 3′-end modifications using a high-throughput sequencer
Stars: ✭ 17 (-10.53%)
Mutual labels:  pipeline
katana-skipper
Simple and flexible ML workflow engine
Stars: ✭ 234 (+1131.58%)
Mutual labels:  pipeline
lineage
Generate beautiful documentation for your data pipelines in markdown format
Stars: ✭ 16 (-15.79%)
Mutual labels:  pipeline
flamingo
FreeCAD - flamingo workbench
Stars: ✭ 30 (+57.89%)
Mutual labels:  pipeline
swarmci
Swarm CI - Docker Swarm-based CI system or enhancement to existing systems.
Stars: ✭ 48 (+152.63%)
Mutual labels:  pipeline
sc2-illumina-pipeline
Bioinformatics pipeline for SARS-CoV-2 sequencing at CZ Biohub
Stars: ✭ 18 (-5.26%)
Mutual labels:  pipeline
hlatyping
Precision HLA typing from next-generation sequencing data
Stars: ✭ 28 (+47.37%)
Mutual labels:  pipeline
fire-cloud
基于Spring Cloud的微服务业务框架
Stars: ✭ 16 (-15.79%)
Mutual labels:  pipeline
effepi
Fun functional programming with pipelinable functions
Stars: ✭ 13 (-31.58%)
Mutual labels:  pipeline
MTBseq source
MTBseq is an automated pipeline for mapping, variant calling and detection of resistance mediating and phylogenetic variants from illumina whole genome sequence data of Mycobacterium tuberculosis complex isolates.
Stars: ✭ 26 (+36.84%)
Mutual labels:  pipeline
bash-streams-handbook
💻 Learn Bash streams, pipelines and redirection, from beginner to advanced.
Stars: ✭ 153 (+705.26%)
Mutual labels:  pipeline
TIL
Today I Learned
Stars: ✭ 43 (+126.32%)
Mutual labels:  pipeline
antiutils
TypeScript/JavaScript utilities for those who don't like utilities
Stars: ✭ 31 (+63.16%)
Mutual labels:  pipeline

Pipe.py

A non-intrusive Python pipeline.

There are only pipeline. If you want more functional tools, you should look for another library.

This code repository has been moved to Cool, where it is actively maintained and there are more similar tools.

Install

pip install only-pipe

Or fetch from github

pip install git+https://github.com/abersheeran/only-pipe

Usage

Use pipeline to pass data as a positional parameter to the next function:

from pipe import F

range(10) | F(filter, lambda x: x % 2) | F(sum) == 25

Or you need to pass multiple parameters through the pipeline:

from pipe import FF


def get_data():
    return 1, 2


get_data() | FF(lambda x, y: x + y) == 3

Use alias like follow code, you can use map/filter/reduce more conveniently:

from functools import reduce
from pipe import F

Filter = F(F, filter)
Map = F(F, map)
Reduce = F(F, reduce)

range(100) | Filter(lambda x: x % 2) | Map(lambda x: x * x) | Reduce(lambda x, y: x + y)

Set Global

Maybe you don't want to use from pipe import F in every file of the entire project, you can use the following code to set it as a global function, just like min/max/sum.

import pipe

pipe.set_global(pipe.F, pipe.FF)

Maybe you also want to expose functools.reduce to the world, just like map/filter.

import pipe
import functools

pipe.set_global(pipe.F, pipe.FF, functools.reduce)

More

No more ~ This library has less than ten lines of valid code, but it is very effective.

If you like it, please give a Star. 😀

This repository is released under the MIT. Do what you want!

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].