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: docs/CONTRIBUTING.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ Consider these examples:
27
27
-**"How do I start writing my first pipeline?"** → This is someone learning. They need a tutorial.
28
28
-**"How can I read data from a database instead of local files?"** → This is someone working with a specific need. They need a guide.
29
29
-**"Why does Flowthru use so many types?"** → This is someone studying the framework's design. They need an explanation.
30
-
-**"What parameters does `CatalogEntry` accept?"** → This is someone looking up technical details. They need reference documentation.
30
+
-**"What parameters does `Item` accept?"** → This is someone looking up technical details. They need reference documentation.
31
31
32
32
The same topic can yield different documentation depending on the question:
33
33
@@ -156,7 +156,7 @@ Let's say you want to document "catalog entries." Start by listing questions:
156
156
- "How do I create my first catalog entry?" → Tutorial
157
157
- "How do I configure a catalog entry for Parquet files?" → Guide
158
158
- "Why are catalog entries properties rather than string keys?" → Explanation
159
-
- "What methods are available on `ICatalogEntry<T>`?" → Reference
159
+
- "What methods are available on `IItem<T>`?" → Reference
160
160
161
161
Each question becomes a separate piece of documentation in its appropriate category. Together, they serve users at every stage of their journey with catalog entries.
@@ -169,13 +169,13 @@ Pipelines are made up of **nodes** — transformation functions that are built t
169
169
170
170
1. When writing a node, you don't need to worry about how it's connecting to other nodes — you just need to make sure it inputs the schema, and outputs the schema
171
171
172
-
### Nodes
172
+
### Steps
173
173
174
-
Nodes are simply functions. Easy! The **only** purpose of a node is to take in data that has one schema, and convert it to data that has another schema.
174
+
Steps are simply functions. Easy! The **only** purpose of a node is to take in data that has one schema, and convert it to data that has another schema.
@@ -194,8 +194,8 @@ public static class SplitAndEncodeNode
194
194
195
195
Key points:
196
196
197
-
-Nodes are a *contract*: that data for the node will **always** come in as the input schemas, and **always** come out as the output schemas.
198
-
-Nodes can have any number of inputs, and any number of outputs — as long as they're defined in the input and output schemas, you're not limited to just one-in, one-out.
197
+
-Steps are a *contract*: that data for the node will **always** come in as the input schemas, and **always** come out as the output schemas.
198
+
-Steps can have any number of inputs, and any number of outputs — as long as they're defined in the input and output schemas, you're not limited to just one-in, one-out.
199
199
200
200
201
201
### Pipelines
@@ -214,11 +214,11 @@ public static class DataEngineeringPipeline
label: "SplitAndEncode", // Unique label for this node in the pipeline
221
-
transform: SplitAndEncodeNode.Create(),
221
+
transform: SplitAndEncodeStep.Create(),
222
222
input: catalog.IrisRaw,
223
223
output: catalog.IrisFeatures
224
224
);
@@ -229,7 +229,7 @@ public static class DataEngineeringPipeline
229
229
230
230
Key points:
231
231
232
-
-**Nodes are never directly connected to each other**: Nodes always take in Catalog entries, and output Catalog entries — *never* directly to each other.
232
+
-**Steps are never directly connected to each other**: Steps always take in Catalog entries, and output Catalog entries — *never* directly to each other.
233
233
-**Order doesn't matter.** A node in the pipeline is **only** ever concerned about its input data and output data. Flowthru handles the order when you run the pipeline: as long as the data is available, or generated by another node, your pipeline will run.
And that's it! This finishes the pipeline anatomy. At this point, you have Catalog entries, connected with Nodes in your Pipelines — everything you need to find new and creative ways to organize, analyze, and report on your data!
259
+
And that's it! This finishes the pipeline anatomy. At this point, you have Catalog entries, connected with Steps in your Pipelines — everything you need to find new and creative ways to organize, analyze, and report on your data!
Copy file name to clipboardExpand all lines: docs/guides/advanced/container-deployment.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,7 @@ Deploy a Flowthru pipeline as a standalone container image for execution in envi
13
13
A containerized pipeline replaces `FlowthruCli` with a minimal `Program.cs` that owns its own DI container. The key difference: no CLI argument parsing, no filesystem-based configuration.
`ExecutePipelineAsync` returns a `PipelineResult` — a structured value object with `Success`, `ExecutionTime`, per-node `NodeResults` (including individual timing, I/O counts, and exceptions), and an optional top-level `Exception`. Serialize it to structured output for your runtime's observability:
155
+
`ExecutePipelineAsync` returns a `FlowResult` — a structured value object with `Success`, `ExecutionTime`, per-node `StepResults` (including individual timing, I/O counts, and exceptions), and an optional top-level `Exception`. Serialize it to structured output for your runtime's observability:
0 commit comments