penguineer¶
penguineer finds the root cause of off-spec lots from historian and LIMS exports, on a laptop and offline. It is a KausalFlow open-source project under the Apache-2.0 license.
It reads files and writes files; only the fetch commands, which pull a window from AVEVA PI or a data lake, use the network. The engines are deterministic Python, and an LLM is optional and never decides a ranking. Every command is defined once, as a Pydantic parameter model, a result model and a function. The CLI, the --json output and the Python API are all generated from that definition, so they cannot drift apart.
Alchemist imports penguineer as a library and adds the UI, runners, project management, the data catalog, staging and sealing on top. penguineer has none of those itself.
Status
This is an early release. init, fetch pi, fetch lake, data health, graph check, graph draft, graph lags, lag, align, compare, investigate, bench homeostat and mcp work. graph draft reads tag names and DEXPI P&IDs, and can ask an LLM for the relations they leave open. On Homeostat plants it names the injected cause among its top three in 93% of the hidden scenarios: see Results.
Where to go next¶
- Getting started: install it and run
data healthon the demo plant. - Commands and run records: how one definition becomes the CLI and the Python API.
- Live demo: what
investigatesays this week about a public simulated plant's off-spec lots. - Homeostat Live: run on a public simulated plant.
- Plant data sources: fetch a window from AVEVA PI or a data lake.
- MCP server: let an assistant such as Claude Code run the commands.
- CLI reference: every command and option.