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
Release history Release notifications | RSS feed
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)
Built Distribution
laminar-2022.5a1-py3-none-any.whl
(33.4 kB
view hashes)
Close
Hashes for laminar-2022.5a1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae591723ff7ef7e7add9f14911d7fadd3b585351887835ce1bcbe2d3becc99ae |
|
MD5 | 1acedeb4261546df5f93f2e741645a7a |
|
BLAKE2b-256 | c91fc7cf8d46343f463a6533e369f9370317ba71cb5e7b3039b8227ffdc9c2d9 |