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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file laminar-2022.5a1.tar.gz.

File metadata

  • Download URL: laminar-2022.5a1.tar.gz
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0

File hashes

Hashes for laminar-2022.5a1.tar.gz
Algorithm Hash digest
SHA256 c27cbc298949c516ddb6417c5ad665ebc946d0ddbc7e25ebd29b3767a9b3f6ff
MD5 96aab08282b496ae27e318dc19fd30e3
BLAKE2b-256 aabbabdc95b09829df8e40b4910862caa5a15788ca75edf5f650ca4d839df0f3

See more details on using hashes here.

File details

Details for the file laminar-2022.5a1-py3-none-any.whl.

File metadata

  • Download URL: laminar-2022.5a1-py3-none-any.whl
  • Upload date:
  • Size: 33.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0

File hashes

Hashes for laminar-2022.5a1-py3-none-any.whl
Algorithm Hash digest
SHA256 ae591723ff7ef7e7add9f14911d7fadd3b585351887835ce1bcbe2d3becc99ae
MD5 1acedeb4261546df5f93f2e741645a7a
BLAKE2b-256 c91fc7cf8d46343f463a6533e369f9370317ba71cb5e7b3039b8227ffdc9c2d9

See more details on using hashes here.

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