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.
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
;| 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 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) 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?
| Goal | Recommended path |
|---|---|
| Learn the FeatureQL language | Browser 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 team | Python library on your data; demos container only if you need the API/MCP stack or local serving services |