Skip to content

Demonstration of application design using pipeline processing (generators, iteration, functional)

Notifications You must be signed in to change notification settings

python-spokane/2016-09-12-pipeline-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

2016-09-12-pipeline-demo

Demonstration of application design using pipeline processing (generators, coroutines, iteration, functional)

Installation

  1. Setup a virtual environment for the project.
  2. Activate the virtual environment.
  3. Install project requirements via PIP.
  4. pip install -r /path/to/2016-09-12-pipeline-demo/requirements.txt

Summary

This project will demonstrate how python applications can be designed as adaptable pipeline processors. Talk slides available at: https://docs.google.com/presentation/d/1cUrmIOHYB0QcAYkMyO8uos6taU2jdwMWFI0pLksmVA8/edit#slide=id.p

Inputs

An input component is a generator object which lazily consumes string input. Each time a newline is encountered, the generator must split the string at each whitespace, turning the string into an list of strings and yield the list back to the iterating caller.

Filters

A filter component is a generator which accepts a list of strings via the send() method. The filter must yield the original list of strings to the caller if no filtering is needed, and None when filtering is required.

Transformers

A transformer component is a generator which accepts a list of strings via the send() method. The transformer must return a modified list of strings to the caller.

Outputs

An output component is a generator which accepts a list of strings via the send() method. The output must combine the list by a whitespace and send them to the destination.

About

Demonstration of application design using pipeline processing (generators, iteration, functional)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages