Skip to main content

Marivo

简体中文 | English

A Data Analysis Harness for AI Agents

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

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.12 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, then use Python for focused help:

python -m marivo 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.12 --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.1

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.1
File Size Uploaded
marivo-0.4.1.tar.gz 1.6 MB Details

Built distribution (wheel)

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

Total release size: 2.7 MB

Release files / marivo-0.4.1.tar.gz

Download URL marivo-0.4.1.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
81f9efca8a2326f54991bdaba3c681d5a0a0d90fa48a0f9cd694a78f42ce7105
BLAKE2b-256 checksum
How to use checksums
d1291da75da7f9f6b603ea7dc1b0e7a9927d828b05e7402d6e4beb58fbce979d
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 6, 2026.

Transparency log

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

Download URL marivo-0.4.1-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ef82d07a5c85789206b088db3fbe08a0ff7af33b065bc1c0893ea4b3a781cfc4
BLAKE2b-256 checksum
How to use checksums
dcada7bb9caf379f00352b09af9217a769feb560f3ae4f3665de84ad9983201e
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 6, 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

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

This release

0.4.1 This release

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