You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-4Lines changed: 9 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,8 +50,9 @@ Some examples of what you can build with Plugboard include:
50
50
-**YAML model specification** format for saving model definitions, allowing you to run the same model locally or in cloud infrastructure;
51
51
- A **command line interface** for executing models;
52
52
- Built to handle the **data intensive simulation** requirements of industrial process applications;
53
-
- Modern implementation with **Python 3.12 and above** based around **asyncio** with complete type annotation coverage;
53
+
- Modern implementation with **Python 3.12+** based around **asyncio** with complete type annotation coverage;
54
54
- Built-in integrations for **loading/saving data** from cloud storage and SQL databases;
55
+
- Built-in **LLM integrations** for building AI-augmented process models with support for multiple providers;
55
56
-**Detailed logging** of component inputs, outputs and state for monitoring and process mining or surrogate modelling use-cases.
56
57
57
58
## 🔌 Installation
@@ -63,7 +64,9 @@ python -m pip install plugboard
63
64
64
65
Optional integrations for different cloud providers can be installed using `plugboard[aws]`, `plugboard[azure]` or `plugboard[gcp]`.
65
66
66
-
Support for parallelisation can be installed using `plugboard[ray]`.
67
+
Support for parallelisation and hyperparameter optimisation can be installed using `plugboard[ray]`.
68
+
69
+
Additional optional extras: `plugboard[llm]` for LLM components, `plugboard[redis]` for Redis-based connectors, and `plugboard[websockets]` for WebSocket I/O.
67
70
68
71
## ⚡ Quickstart with AI
69
72
@@ -132,8 +135,10 @@ class B(Component):
132
135
133
136
There is also a `@component` decorator which simplifies creating `Component`s for small stateless transform type functions. A component instance can be created by calling the `.component` method of the object returned by the decorator. The wrapped function can be sync or async and will be called as the step method with the named inputs being passed in. Inputs must be specified matching function args. Outputs must be specified and the function must return a dictionary where the keys match the outputs.
134
137
```python
138
+
from plugboard.component import component
139
+
135
140
@component(inputs=["in_1"], outputs=["out_1"])
136
-
defpow2(in_1: int) -> int:
141
+
defpow2(in_1: int) -> dict[str, int]:
137
142
return {"out_1": in_1 **2}
138
143
139
144
result = pow2(2) # Preserves original function call -> result = {"out_1": 4}
@@ -208,7 +213,7 @@ plugboard process run my-model.yaml
208
213
209
214
## 📖 Documentation
210
215
211
-
For more information including a detailed API reference and step-by-step usage examples, refer to the [documentation site](https://docs.plugboard.dev). We recommend diving into the [tutorials](https://docs.plugboard.dev/latest/examples/tutorials/hello-world/) for a step-by-step to getting started.
216
+
For more information including a detailed API reference and step-by-step usage examples, refer to the [documentation site](https://docs.plugboard.dev). We recommend diving into the [tutorials](https://docs.plugboard.dev/latest/examples/tutorials/hello-world/) for a step-by-step guide to getting started.
0 commit comments