Fluid ForgeFluid Forge
Home
Get Started
  • Local (DuckDB)
  • GCP (BigQuery)
  • Snowflake Team Collaboration
  • Declarative Airflow
  • Orchestration Export
  • Jenkins CI/CD
  • Universal Pipeline
CLI Reference
  • Overview
  • Architecture
  • GCP (BigQuery)
  • AWS (S3 + Athena)
  • Snowflake
  • Local (DuckDB)
  • Custom Providers
  • Roadmap
GitHub
GitHub
Home
Get Started
  • Local (DuckDB)
  • GCP (BigQuery)
  • Snowflake Team Collaboration
  • Declarative Airflow
  • Orchestration Export
  • Jenkins CI/CD
  • Universal Pipeline
CLI Reference
  • Overview
  • Architecture
  • GCP (BigQuery)
  • AWS (S3 + Athena)
  • Snowflake
  • Local (DuckDB)
  • Custom Providers
  • Roadmap
GitHub
GitHub
  • Introduction

    • /
    • Getting Started
    • Snowflake Quickstart
    • Vision & Roadmap
  • Walkthroughs

    • Walkthrough: Local Development
    • Walkthrough: Deploy to Google Cloud Platform
    • Walkthrough: Snowflake Team Collaboration
    • Declarative Airflow DAG Generation - The FLUID Way
    • Generating Orchestration Code from Contracts
    • Jenkins CI/CD for FLUID Data Products
    • Universal Pipeline
  • CLI Reference

    • CLI Reference
    • init Command
    • validate Command
    • plan Command
    • apply Command
    • verify Command
    • generate-airflow Command
  • Providers

    • Providers
    • Provider Architecture
    • GCP Provider
    • AWS Provider
    • Snowflake Provider
    • Local Provider
    • Creating Custom Providers
    • Provider Roadmap
  • Advanced

    • Blueprints
    • Governance & Compliance
    • Airflow Integration
    • Built-in And Custom Forge Agents
    • FLUID Forge Contract GPT Packet
    • Forge Copilot Discovery Guide
    • Forge Copilot Memory Guide
  • Project

    • Contributing to Fluid Forge
    • Fluid Forge v0.7.1 - Multi-Provider Export Release

Getting Started

Get a working data product running in under 2 minutes — no cloud account required.

No Cloud Needed

Fluid Forge ships with a local provider powered by DuckDB. Everything runs on your laptop. When you're ready for production, switch to GCP, AWS, or the Snowflake quickstart.

Prerequisites

  • Python 3.9+ (python3 --version)
  • pip (included with Python)
  • No cloud credentials needed for local development

Install

pip install fluid-forge

Verify the installation:

fluid version
# Fluid Forge CLI v0.7.8

fluid doctor
# Reports Python version, installed providers, and dependencies

Create Your First Project

fluid init my-project --quickstart
cd my-project

fluid init creates the my-project/ directory for you, then scaffolds a ready-to-run project inside it:

my-project/
├── README.md              # Template walkthrough and next steps
├── contract.fluid.yaml   # Your data product definition (the single source of truth)
├── data/                 # Sample CSV data
│   ├── customers.csv
│   ├── interactions.csv
│   └── orders.csv
└── .fluid/
    └── db.duckdb         # Local DuckDB state created during init

Validate the Contract

Check that your contract is well-formed before running anything:

fluid validate contract.fluid.yaml
# ✅ Contract validation passed!

Preview the Plan

See what Fluid Forge will do — without actually doing it:

fluid plan contract.fluid.yaml
# Shows: load data → run transformations → write outputs

Run It

Execute the contract end-to-end:

fluid apply contract.fluid.yaml --yes
# ⏳ Reading sources...
# ⏳ Running transformations...
# ✅ Pipeline complete — output written to runtime/out/

That's it. You have a working data product.


What Just Happened?

contract.fluid.yaml
        │
        ▼
┌──── fluid validate ────┐   Schema checks, required fields, SQL syntax
└────────────┬────────────┘
             ▼
┌──── fluid plan ────────┐   Pure planning — no side effects
│ load_data → sql → out  │
└────────────┬────────────┘
             ▼
┌──── fluid apply ───────┐   Execute actions against the local provider
│ DuckDB ← CSV → output  │
└─────────────────────────┘
  1. fluid init created my-project/ and scaffolded a contract — a YAML file that declaratively describes your data product (sources, schema, transformations, quality rules).
  2. fluid validate checked the contract against Fluid Forge's schema and best practices.
  3. fluid plan generated an execution plan (what to load, transform, and output).
  4. fluid apply loaded the sample data, ran the embedded SQL transformation, and wrote the results.

The contract is the single source of truth. Change the YAML, re-run fluid apply, and the output updates. The apply is idempotent — safe to run repeatedly.


Explore Your Contract

Open contract.fluid.yaml in your editor. Key sections:

SectionPurpose
metadataOwnership, domain, data layer
exposesOutput tables with schemas and bindings
buildsSQL transformations (embedded or referenced)
sovereigntyData residency and compliance rules
accessPolicyWho can read, write, and query

Essential Commands

fluid validate contract.fluid.yaml          # Check contract correctness
fluid plan contract.fluid.yaml              # Preview what will happen
fluid apply contract.fluid.yaml --yes       # Execute the pipeline
fluid verify contract.fluid.yaml            # Post-deployment verification
fluid diff contract.fluid.yaml              # Detect drift from deployed state
fluid viz-graph contract.fluid.yaml         # Visualize data lineage
fluid generate-airflow contract.fluid.yaml  # Generate an Airflow DAG

Run fluid --help for the full command list, or fluid <command> -h for per-command help.


Deploy to the Cloud

When you're ready to move beyond local development:

Google Cloud (BigQuery)

gcloud auth application-default login
gcloud config set project YOUR_PROJECT_ID

fluid apply contract.fluid.yaml --provider gcp

See the full GCP walkthrough.

AWS (S3 + Athena)

aws configure

fluid apply contract.fluid.yaml --provider aws

See the AWS provider guide.

Snowflake

# Export your Snowflake settings
export SNOWFLAKE_ACCOUNT=your_account
export SNOWFLAKE_USER=your_user

fluid apply contract.fluid.yaml

Start with the Snowflake quickstart, then use the Snowflake provider guide for production details.


Generate Orchestration Code

Export your contract as production Airflow, Dagster, or Prefect code:

# Airflow DAG
fluid generate-airflow contract.fluid.yaml -o dags/pipeline.py

# Dagster pipeline
fluid export contract.fluid.yaml --format dagster -o pipeline.py

# Prefect flow
fluid export contract.fluid.yaml --format prefect -o flow.py

See the orchestration walkthrough for details.


Troubleshooting

fluid: command not found

Ensure the install location is on your PATH:

# Try running directly
python -m fluid_build.cli --help

# Or add pip's bin directory to PATH
export PATH="$HOME/.local/bin:$PATH"

No module named 'duckdb'

The local provider requires DuckDB:

pip install duckdb

Could not find Application Default Credentials

This only affects GCP deployments:

gcloud auth application-default login

Need more help?

fluid doctor     # Diagnose system issues

Next Steps

GoalWhere to Go
Hands-on tutorialLocal Walkthrough — build Netflix analytics from scratch
Deploy to cloudGCP · AWS · Snowflake Quickstart
CI/CD pipelineUniversal Pipeline — one Jenkinsfile for all clouds
All commandsCLI Reference
ContributeContributing Guide

Need more help?

fluid doctor          # System diagnostics
fluid <command> -h    # Per-command help
  • 📚 CLI Reference — all commands with examples
  • 🐛 Report an issue

Copyright 2025-2026 Agentics Transformation Pty Ltd · Open source under Apache 2.0

Edit this page on GitHub
Last Updated: 4/4/26, 9:53 PM
Contributors: khanya_ai, fas89
Prev
/
Next
Snowflake Quickstart