Getting started

FeatureMesh has three entry points, depending on how deep you want to go.

Step 1: Try it in the browser

Every code example on this site is interactive. Click any playground to edit the query, run it, and see results — no installation needed.

Here's a taste: a FeatureQL query that defines a greeting feature and evaluates it for a given name.

FeatureQL
WITH
    -- Define features
    your_name := INPUT(VARCHAR),
    a_message_to_you := 'Hello, ' || your_name || '!'
SELECT
    -- Return features
    a_message_to_you
FOR
    -- Bind values to features for evaluation
    your_name := BIND_VALUE('FeatureMesh') -- <-- insert your name here
;
Result
A_MESSAGE_TO_YOU VARCHAR
Hello, FeatureMesh!

Under the hood, the playground sends your FeatureQL query to a remote FeatureMesh registry, which translates it to SQL. The SQL then runs in a DuckDB WASM module directly in your browser.

This is the fastest way to learn the language. Start with the FeatureQL foundations or jump to FeatureQL for the Impatient if you already know SQL.

Step 2: Install the Python library

pip install featuremesh
bash

The featuremesh package bundles the FeatureQL transpilation engine and runs locally — no server, no account needed. Use BatchClient for analytics (DuckDB out of the box; Trino, BigQuery, and DataFusion through managed mode with your own sql_executor) and ServingClient for real-time serving against FeatureMesh's managed DataFusion engine.

A minimal batch example (works immediately after install):

from featuremesh import BatchClient

client = BatchClient()

result = client.query("""
    SELECT
        F1 := 1,
        F2 := 2,
        F3 := F1 + F2;
""")

print(result.dataframe)
python

For team collaboration, managed batch backends, or real-time serving with ServingClient, see the Python library reference .

Step 3: Run the demos Docker container

You do not need the container for ordinary batch analytics or managed serving — those run from the Python client. Install the featuremesh-demos container when you want the self-contained stack around the client:

  • An HTTP Batch API and MCP server for agents and non-Python callers
  • The independent Rust serving and analytics proxy services to exercise locally
  • Jupyter notebooks and sample data for an end-to-end walkthrough

Get started: github.com/featuremesh/demos

Which path should I choose?

GoalRecommended path
Learn the FeatureQL languageBrowser playgrounds — start with Hello World
Run FeatureQL on your own data Python library — zero config with DuckDB
Real-time serving from Python Python library ServingClient in managed mode
HTTP / MCP servers, or local Rust serving + proxy Demos Docker container
Automate with HTTP / MCP / agents Client tooling
Prove answers on your backends Conformance tests
Evaluate FeatureMesh for your teamPython library on your data; demos container only if you need the API/MCP stack or local serving services