Skip to main content

Marivo

Marivo

A data analysis harness for AI agents that keeps business meaning, analytical steps, session state, and evidence connected.

Docs · First Analysis · Discord · Blog

English | 简体中文

CI PyPI version Python versions License

Marivo is a Python framework that helps AI agents analyze business data through shared semantics, typed analysis operations, persistent sessions, and recorded evidence. It turns an open-ended business question into a reviewable investigation.

Highlights

  • 🧭 shared semantics: define metrics, dimensions, relationships, and guardrails once instead of rebuilding them in every query
  • 🧮 typed analysis: move through explicit operators with bounded inputs, outputs, and failure modes
  • 🗂️ persistent sessions: keep the question, intermediate results, and artifacts together so an investigation can resume
  • 🔎 traceable evidence: keep findings connected to source results, analytical scope, and limitations

Marivo is not a hosted chat UI or a Text-to-SQL wrapper. The agent works with declared business meaning and bounded analytical operations instead of rebuilding metrics, joins, and analysis logic in every SQL query.

Why Marivo

Giving an agent raw schemas and asking it to generate SQL leaves important choices implicit: what a metric means, which records belong in it, how tables relate, which comparison is valid, and what evidence supports the answer. Those choices can drift between prompts and are difficult to review after the fact.

Marivo makes them explicit and reusable. Business definitions live in a code-managed semantic layer, analysis proceeds through typed operations, and material results stay connected to the session and evidence that produced them.

Four core capabilities

Semantic Layer

Python declarations define datasource bindings, entities, relationships, metrics, dimensions, and guardrails under stable references. An agent can inspect evidence and draft definitions; the user or business owner confirms their business meaning.

Typed Analysis DSL

Typed operators such as observe, compare, and attribute give the agent explicit analytical actions and return typed result objects. Invalid or unsupported steps fail through the contract instead of being hidden inside free-form SQL.

Analysis Session

Each project-local investigation keeps its question, intermediate results, artifacts, and history together. The agent can continue an analysis without recreating context or repeating completed work.

Evidence Engine

Deterministic typed findings remain connected to their source results and are projected into bounded, operator-specific digests. Marivo does not use an LLM or make cross-artifact judgments: the agent owns synthesis and next-step choice, while typed inference boundaries, omissions, and exact audit reads keep the conclusion reviewable.

Before analysis starts, readiness checks the technical handoff for the required semantic objects. It blocks incomplete definitions without treating technical readiness as approval of their business meaning.

How you use Marivo

  1. Install and initialize a project. Marivo creates the project structure and makes the bundled marivo-semantic and marivo-analysis skills available to compatible agents.
  2. Prepare the semantic layer. Reuse the definitions in an existing project, or let an agent use marivo-semantic to draft what a new project needs.
  3. State the business question. The agent uses marivo-analysis to check readiness, choose typed analysis steps, preserve evidence, and return the conclusion and limitations.

You confirm choices that materially affect business meaning or how the conclusion will be used. You do not need to write Python, select operators, manage the analysis session, or specify evidence fields.

Quick Start

Marivo requires Python 3.10 or newer. Enter the directory that will contain the project, then run:

curl -fsSL https://marivo.io/install.sh | bash

The installer uses uv to prepare a project-local environment and initializes the current directory. It runs on macOS, Linux, WSL, and Windows through Git Bash, MSYS2, or Cygwin. For manual installation, datasource extras, supported platforms, and troubleshooting, see Installation.

Verify the selected environment once:

marivo doctor

Then use the selected project interpreter for focused help.

import marivo

marivo.help()
marivo.help("semantic.metric")
marivo.help("analysis.observe")

If the project already contains marivo.toml and models/, reuse its semantic layer. For a new project, tell the agent which datasource and business outcome you need, then confirm the proposed metric meaning before analysis.

Once a metric is ready, ask a business question naturally:

Use Marivo to explain why the approved sales.revenue metric decreased last quarter compared with the same period a year earlier. Start with regional differences, then give me the conclusion, key evidence, and limitations.

The bundled skills handle catalog inspection, readiness, operator selection, session management, and evidence collection.

Documentation

Development

uv venv --python 3.10 --seed
uv pip install --python .venv/bin/python -e ".[dev,duckdb,trino]"

Use the repository entrypoints for checks:

make format
make lint
make typecheck
make test
make check

Read agent-guide.md before contributing. See CONTRIBUTING.md for the full workflow.

Metadata

Release files for marivo 0.4.4

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

Source distribution (sdist)

Source distribution for marivo 0.4.4
File Size Uploaded
marivo-0.4.4.tar.gz 1.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for marivo 0.4.4
File Interpreter ABI Platform
marivo-0.4.4-py3-none-any.whl Python 3 none any Details

Total release size: 2.9 MB

Release files / marivo-0.4.4.tar.gz

Download URL marivo-0.4.4.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
685a487c12d5f5f06d7a458cc71bc08938f62348cadd5abc28d0bdd28bfd2d17
BLAKE2b-256 checksum
How to use checksums
ef12ba379bf4a9720c47d33cb690cf9eb4fa92e62151511f8911cdfbe2f4fdbd
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 Aug 14, 2026.

Transparency log

Release files / marivo-0.4.4-py3-none-any.whl

Download URL marivo-0.4.4-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
d956ff47b002c2f28a4446c7bc291c249fb2c549ecaced25aae56948d0dfbbb5
BLAKE2b-256 checksum
How to use checksums
abc6405a26fd9f81045a1182a5a45517db0ffc838eec82205ed50e82590f92fc
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 Aug 14, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.16

2 release files

0.4.15

2 release files

0.4.14

2 release files

0.4.13

2 release files

0.4.12

2 release files

0.4.11

2 release files

0.4.10

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

This release

0.4.4 This release

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

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.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

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.2.0

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