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 details)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c27cbc298949c516ddb6417c5ad665ebc946d0ddbc7e25ebd29b3767a9b3f6ff |
|
MD5 | 96aab08282b496ae27e318dc19fd30e3 |
|
BLAKE2b-256 | aabbabdc95b09829df8e40b4910862caa5a15788ca75edf5f650ca4d839df0f3 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae591723ff7ef7e7add9f14911d7fadd3b585351887835ce1bcbe2d3becc99ae |
|
MD5 | 1acedeb4261546df5f93f2e741645a7a |
|
BLAKE2b-256 | c91fc7cf8d46343f463a6533e369f9370317ba71cb5e7b3039b8227ffdc9c2d9 |