Coming from…

Coming from Flowfile

Flowfile and Daedalus are close cousins. Both are visual ETL apps where you wire nodes on a canvas, and both let you take the result out as Python code. Most of what you do in Flowfile has a node with a similar name here.

What feels familiar

  • Nodes on a canvas. Read, transform and write steps connect the same way. Select a node and set it up in the Attributes panel on the right.
  • Results under the canvas. The selected node's output shows in the Data tab, with Map, Chart and Metadata tabs next to it.
  • Code when you need it. A DuckDB Query node takes SQL. A Code Gen node writes Python from your description. The pencil on any node opens its Python for editing.
  • Export to Python. Export as Python library turns the whole workflow into a Python package you can install and run without the app.

What's different

  • The engine is DuckDB. Most steps run as DuckDB SQL. A few steps that have no SQL form, such as Exponential Weighted Mean or Write Excel, use Polars.
  • Data comes in through drones. Every source is listed in the Drones panel on the left. A drone is a small helper that reads the file, folder or database for you; drag a source from the panel onto the canvas to use it.
  • Geospatial is built in. Daedalus reads and writes geo files, joins by location, routes on roads and draws maps without plugins.
  • Reports and deliveries. Workflows can end in a PDF or PowerPoint report, an email or a Slack message, not only a file or a table.

Flowfile names in Daedalus

You don't need this table open while you work. Type a Flowfile name into the add-node menu (right-click the canvas) or the command palette (⌘K, Ctrl+K on Windows). The matching Daedalus node shows up with a small chip, such as Flowfile: Group by, so you learn our name as you go.

Input

Flowfile nameDaedalus
Read dataCSV Reader or Excel Reader
Manual inputConstant Table
Read from DatabaseDB Reader or SQLite Reader
Read from CloudS3 Reader
REST APIREST Fetch
Catalog ReaderDaedalus Table Reader

Transform

Flowfile nameDaedalus
Filter dataFilter
Select dataSelect Columns or Rename
FormulaAdd Column
Multi-field formulaMulti-field Formula
Sort dataSort
UniqueDistinct
Drop duplicatesDistinct or Flag Duplicates
Take SampleRow Limit or Random Sample
Add record IdAdd Row Number
Text to rowsSplit to Rows
Data cleansingFill Missing or Text Operations

Combine

Flowfile nameDaedalus
JoinJoin or Lookup
Fuzzy matchFuzzy Match
Cross joinCross Join
Union dataUnion
Graph solverMatch Grouping

Aggregate and reshape

Flowfile nameDaedalus
Group byAggregate
Count recordsAggregate
Pivot dataPivot
Unpivot dataUnpivot
Window functionsRunning Aggregations or Rolling Window
Cumulative sumRunning Aggregations
Rolling meanRolling Window
RankRank
Partition aggregateGroup Aggregate

Code and AI

Flowfile nameDaedalus
Polars codeCode Gen or DuckDB Query
Python ScriptCode Gen
SQL QueryDuckDB Query
Node DesignerCode Gen
Generate Python CodeExport as Python library
AI assistantExtend with AI, which opens the Assistant pane

Output

Flowfile nameDaedalus
Write dataWrite CSV or Write Excel
Write to DatabaseWrite to DB
Write to CloudS3 Sink
Write to CatalogWrite Daedalus Table
API responseHTTP Endpoint
External OutputHTTP Request

Flow control and the editor

Flowfile nameDaedalus
RunThe Run button (⌘↵), or Run pipeline in ⌘K
CancelStop run in the toolbar or ⌘K
GateGate
Wait ForWait For
Random SplitRandom Split
SchedulesDeploy & schedule to cloud (Cloud runs)
VersionsVersion history
Share flow as a browser linkShare: a read-only link to the workflow
Explore dataChart or Describe
Train ML ModelLinear Regression

No equivalent yet

Some Flowfile tools have no Daedalus node yet. Searching for them shows a hint instead of an empty list. These are the ones you are most likely to miss:

Flowfile nameWhat to do instead
Apply ML ModelNo model scoring; Linear Regression can output predictions itself
Evaluate ModelNo metrics node; compute errors with Add Column + Aggregate
Kafka SourceNo streaming sources; land the topic to Parquet and read that
Explode hierarchyNo BOM/hierarchy explode; write a recursive CTE in DuckDB Query
Google AnalyticsNo GA4 connector; export the report and read the CSV

Tips

  1. Search with Flowfile names. Group by, Unique and Text to rows find Aggregate, Distinct and Split to Rows.
  2. Polars code becomes SQL or Python. If your Polars expression is mostly column maths and filters, a DuckDB Query node is usually the shortest rewrite. For anything else, describe it to a Code Gen node.
  3. Group steps you reuse. Select a few nodes and wrap them in a named function: a frame you can collapse into a single node and run from there.
  4. Keep column formats between projects. Write Daedalus Table saves a table with its column formats, and Daedalus Table Reader reads it back in another project.