Skip to main content

Data Engine

Data Engine is a GUI orchestrator for Python dataframe workflows. It lets you author flows as plain Python modules, run them manually or automatically, and inspect parquet-first outputs from the desktop app.

The runtime is built around:

  • workspace-based flow discovery
  • manual, poll, and schedule execution modes
  • Polars and DuckDB-friendly flow steps
  • mirrored output paths for source-driven runs
  • saved run, log, and dataframe inspection state
  • a desktop operator surface

Install

Use the installer for your environment:

For local development:

python -m pip install --constraint requirements/constraints.txt -e ".[dev]"

For a published package install:

python -m pip install py-data-engine

Data Engine requires Python >=3.14.

Dependency pinning, constrained installs, and hash-locked runtime installs are documented in SECURITY.md.

Start

Desktop GUI:

data-engine start gui

Headless commands:

data-engine list
data-engine show example_summary
data-engine run --once example_summary
data-engine run

Minimal Flow

from data_engine import Flow
import polars as pl


def read_docs(context):
    return pl.read_excel(context.source.path)


def keep_open(context):
    return context.current.filter(pl.col("status") == "OPEN")


def write_parquet(context):
    output = context.mirror.with_suffix(".parquet")
    context.current.write_parquet(output)
    return output


def build():
    return (
        Flow(group="Docs")
        .watch(
            mode="poll",
            source="../../../example_data/Input/docs_flat",
            interval="5s",
            extensions=[".xlsx", ".xls", ".xlsm"],
            settle=1,
        )
        .mirror(root="../../../example_data/Output/example_mirror")
        .step(read_docs, save_as="raw_df")
        .step(keep_open, use="raw_df", save_as="filtered_df")
        .step(write_parquet, use="filtered_df")
    )

Each authored flow module exports build() -> Flow. The module filename is the flow identity.

Workspaces

Data Engine discovers workspaces from a collection root. Each workspace keeps authored flows under:

workspaces/<workspace_id>/flow_modules/

Shared workspace state lives under:

workspaces/<workspace_id>/.workspace_state/

Machine-local runtime artifacts are stored outside the authored workspace.

Useful APIs

from data_engine import Flow, FlowContext, discover_flows, load_flow, run

Common Flow methods:

  • .watch(...)
  • .mirror(...)
  • .date_range_input(...)
  • .step(...)
  • .collect(...)
  • .map(...)
  • .step_each(...)
  • .preview(...)
  • .run_once()
  • .run()

Common FlowContext values:

  • context.source
  • context.mirror
  • context.current
  • context.objects
  • context.metadata
  • context.database("analytics.duckdb")
  • context.template("reports/base.xlsx")
  • context.debug

The full authoring guide and helper reference live in src/data_engine/docs/sphinx_source/guides/.

Testing

python -m pytest -q
python -m build
python -m twine check dist/*

Status

This project is pre-alpha. Internal architecture is still moving quickly, and backwards compatibility is not a current goal.

Metadata

Release files for py-data-engine 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py-data-engine 0.5.0
File Size Uploaded
py_data_engine-0.5.0.tar.gz 8.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-data-engine 0.5.0
File Interpreter ABI Platform
py_data_engine-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.5 MB

Release files / py_data_engine-0.5.0.tar.gz

Download URL py_data_engine-0.5.0.tar.gz
Size 8.6 MB
Tags Source
SHA-256 checksum
How to use checksums
8bcffbdc966c59205fe4e18ab340a0bd299fbda87ba13f4ff5f3dfeeefac3a36
BLAKE2b-256 checksum
How to use checksums
29c3e010e6965bcc637c694d3f41b69e2813b6b63345a43f7517144e201a4084
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / py_data_engine-0.5.0-py3-none-any.whl

Download URL py_data_engine-0.5.0-py3-none-any.whl
Size 8.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8ef6c2a2ce5137edc5da2650bce5f9e7bc1e8c1592f9408a3e10893c0c503ace
BLAKE2b-256 checksum
How to use checksums
4f2c3ca170ee0728696f91ca2c47aef7b5f0019c7751f82be5647783b80e515f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.3

2 release files

0.4.0

2 release files

0.3.12

2 release files

0.3.11

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page