Skip to main content

The workflow framework that works for you.

Project description

laminar

"slow is smooth, and smooth is fast"

laminar is the workflow framework that works for you. It aims to be a modern container first framework that enables you to rapidly go from local development into production as quickly as possible.

  • Easy to write, container first, cloud first
  • Configureable statically at definition time and dynamically at runtime
  • Fully definined in Python and fully typed
  • Easily testable
  • Foreach fanouts
  • Composable workflows
  • Conditional branching
  • No AST introspection, shared global state, or function hijacking magic

To learn more, read the documentation.

# main.py
from laminar import Flow, Layer

# Declare the Flow
class HelloFlow(Flow): ...

# Register Layers
@HelloFlow.register
class Hello(Layer):
    def __call__(self) -> None:
        self.value = "hello"

# Register a Layer dependency
@HelloFlow.register
class World(Layer):
    def __call__(self, hello: Hello) -> None:
        print(f"{hello.value} world")

# Execute the Flow
if flow := HelloFlow():
    flow()
python main.py
>>> "hello world"

Installation

To install the latest release of laminar:

python -m pip install laminar

To upgrade to the latest release of laminar:

python -m pip install --upgrade laminar

Contributing

We welcome contributions to laminar.

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

laminar-2022.5a1.tar.gz (29.4 kB view hashes)

Uploaded Source

Built Distribution

laminar-2022.5a1-py3-none-any.whl (33.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page