GreaterThan, LLC

PipeLayer 0.1.0, Published to PyPi

After two years of working on a few microservices projects (mostly Python-based), with varying architectures and program flow, and after lengthy brainstorming discussions with one of the client engineers on my current project, I started to come up with a rough idea of a generic, reusable framework. Within a week after writing the first line of code, I had a working prototype, and quickly* published pipelayer 0.1.0, a lightweight pipeline framework based on the pipes/filters pattern.

Here’s a sample:

from app_context import AppContext 
from app_settings import AppSettings 
from pipelayer import Pipeline 
from hello_filter import HelloFilter 
from world_filter import WorldFilter 
from logging import getLogger


app_settings = AppSettings()
app_context = AppContext(
    app_settings, 
    getLogger(__name__)
)
pipeline = Pipeline.create(
    app_context, 
    "Hello World Pipeline"
) 
output = pipeline.run([
     HelloFilter(),
     WorldFilter()
])
print(f"Pipeline Output: {output}") print(pipeline.manifest.__dict__)

More documentation for this version is available on PyPi.

* quickly (adv): A relative term as it applies to first-time development of a Python package: hours of research, countless executions of setup.py, more research, a few runs of installing the package from the local wheel, and finally, success!

in PipeLayer, PyPi, Python