Skip to main content

Dagster connector for Floe CLI (config-driven ingestion)

Project description

Floe + Dagster (MVP)

This folder contains a small Dagster connector for Floe, implemented as a Python package.

Goals of the MVP:

  • Generate one Dagster asset per Floe entity by calling floe validate --output json
  • Execute one entity per asset with floe run --entities <name> --log-format json
  • Parse NDJSON events from stdout and attach run stats to Dagster materialization metadata

Install

Prereqs:

  • Floe installed (either the floe CLI binary or Docker with a Floe image).
  • Python 3.10+.
pip install dagster-floe

Development install (from this repo)

python3 -m venv orchestrators/dagster-floe/.venv
source orchestrators/dagster-floe/.venv/bin/activate
pip install -e orchestrators/dagster-floe[dev]

Run the example (repo-only)

cd orchestrators/dagster-floe
dagster dev

The example workspace loads floe_dagster.definitions which generates assets from orchestrators/dagster-floe/example/config.yml.

Run using Docker (instead of a local floe binary)

Prereqs:

  • Docker installed and working (docker run hello-world succeeds).
  • A Floe image available (either build locally or pull from GHCR).

Option A — pull from GHCR:

export FLOE_DOCKER_IMAGE="ghcr.io/malon64/floe:latest"

Option B — build locally from this repo:

docker build -t floe:dev .
export FLOE_DOCKER_IMAGE="floe:dev"

Then run Dagster:

cd orchestrators/dagster-floe
source .venv/bin/activate
FLOE_DOCKER_IMAGE="$FLOE_DOCKER_IMAGE" dagster dev

Notes

  • This connector does not parse YAML directly; it uses floe validate --output json as the source of truth.
  • For local development without an installed floe binary, you can point LocalRunner to a custom command, e.g.:
    • LocalRunner(\"cargo run -p floe-cli --\")
  • DockerRunner mounts the config directory by default; if your config uses paths like ../data/..., it mounts a higher parent directory so those paths remain visible. For full control, pass workdir=....
  • When DockerRunner mounts local files, it runs the container as your current user (--user uid:gid) so Floe can write reports/outputs back into the mounted directory.
  • Design notes and future work: orchestrators/dagster-floe/INTEGRATION_SPEC.md

Releasing

This repo is a monorepo. Floe and this connector are versioned and tagged independently:

  • Floe CLI release tags: vX.Y.Z
  • Dagster connector release tags: dagster-floe-vX.Y.Z (triggers the PyPI publish workflow)

Example:

git checkout main
git pull
git tag dagster-floe-v0.1.0
git push origin dagster-floe-v0.1.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dagster_floe-0.1.0.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dagster_floe-0.1.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file dagster_floe-0.1.0.tar.gz.

File metadata

  • Download URL: dagster_floe-0.1.0.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dagster_floe-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6997eff3f930e27ebd498f078d7758b54e1708662bce7eb525ce1d1d7e9aeb86
MD5 fec352824daaa83509c6cc4645452319
BLAKE2b-256 7db5226d0b3911eb2a9b0f8a58537881c7940bb3dcec7cc031704e0f4113e635

See more details on using hashes here.

Provenance

The following attestation bundles were made for dagster_floe-0.1.0.tar.gz:

Publisher: release-dagster-floe.yml on malon64/floe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dagster_floe-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dagster_floe-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for dagster_floe-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ca4689ea2fc760222d810166820623fb976d8081ea1953139d7b95abc6406f4
MD5 f564190a2f9b4f105f3b281c7587ee32
BLAKE2b-256 bd9ca5d9c68f1c888bd70e56450e0baa1e9dbb627ecfdf61a3a95f375d9eb048

See more details on using hashes here.

Provenance

The following attestation bundles were made for dagster_floe-0.1.0-py3-none-any.whl:

Publisher: release-dagster-floe.yml on malon64/floe

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page