Skip to main content

Your app's data rep — a local agent runtime that retrieves data from any source on behalf of consuming applications.

Project description

datarep

Your app's data rep.

A rep is someone you send to go get something on your behalf. You don't tell them how — you tell them what you need, and they figure it out. They show up, assess the situation, adapt to whatever they find, and come back with the goods.

That's what datarep does. Your app says "get me the user's recent iMessages" and datarep handles it — explores the database schema, identifies the data formats, picks the right parsing libraries, writes the extraction code, tests it, and delivers the data. No one wrote an iMessage integration. The rep wrote one at runtime.

And like a good rep, it learns. Working code is saved as recipes so next time it doesn't have to figure it out again. First request takes seconds. Every request after that is instant.

Why this exists

Every app that needs user data today has to build and maintain its own integrations — or depend on a cloud service that proxies the user's data through someone else's servers. datarep is a different approach: a local agent runtime that synthesizes integrations on demand, runs on the user's machine, and never sends their data anywhere.

There isn't really a category for this yet. It's not a connector (those are pre-built by humans), not an ETL pipeline, not an SDK. It's an autonomous agent that becomes a connector — for any source, on the fly.

Quick start

pip install -e ".[dev]"
datarep init
export ANTHROPIC_API_KEY="sk-ant-..."
datarep start

Register your app and get an API key:

datarep app register my-app

Retrieve data:

curl -X POST http://127.0.0.1:7080/get \
  -H "Authorization: Bearer dr_<your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{"source": "my_source", "query": "get recent records"}'

How it works

Your app tells datarep what data it needs. datarep's agent:

  1. Explores the source — inspects schemas, samples data, identifies formats
  2. Writes retrieval code — picks the right parsing libraries, handles edge cases
  3. Executes in a sandbox — network and filesystem restrictions via macOS sandbox-exec
  4. Validates the output — verifies data quality and method correctness before delivering
  5. Saves a recipe — working code is cached for instant, deterministic replay

Credentials are encrypted at rest. Apps authenticate with per-app API keys. Users grant trust once (to datarep) and every consuming app gets safe data access through it.

Interfaces

Interface Use case
HTTP API (localhost:7080) Primary interface for all apps. Bearer token auth.
MCP server Native interface for agentic/LLM-powered apps.
CLI (datarep) Setup, source management, debugging.

Source types

Type Example Sandbox
local_db iMessage chat.db, WhatsApp, any SQLite No network. Read-only DB access.
rest_api Square, Gmail, Quickbooks Network restricted to source domain.
local_files Photos, documents, exports No network. Read-only directory access.

Integration guide

See docs/integration-guide.md for the full walkthrough: API reference, authentication, handling permissions, MCP setup, recipes, and code examples.

Development

pip install -e ".[dev]"
pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

datarep-1.1.4.tar.gz (45.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

datarep-1.1.4-py3-none-any.whl (37.5 kB view details)

Uploaded Python 3

File details

Details for the file datarep-1.1.4.tar.gz.

File metadata

  • Download URL: datarep-1.1.4.tar.gz
  • Upload date:
  • Size: 45.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for datarep-1.1.4.tar.gz
Algorithm Hash digest
SHA256 6d3c50a445e32a4d81421782de300a528b1d91e44566ab44ade24823b3a259ad
MD5 50684215571ba2317b065fe9281b2348
BLAKE2b-256 e00ca74fe57b1f38214411556f3bd18dd4274e5dbe69f91d8916a6cfcac26393

See more details on using hashes here.

Provenance

The following attestation bundles were made for datarep-1.1.4.tar.gz:

Publisher: publish.yml on datarep-ai/datarep

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file datarep-1.1.4-py3-none-any.whl.

File metadata

  • Download URL: datarep-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 37.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for datarep-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 cea57d4a7cee7d5e38f7e4d048372201e934e9f24d88d53d2d0312780df19f24
MD5 b22b6202bea5c4250057d5928fb306f0
BLAKE2b-256 58c42ac9a045aa8eee5385f1fae67f344dae9b65e11d99d14e81735e4fbb2b45

See more details on using hashes here.

Provenance

The following attestation bundles were made for datarep-1.1.4-py3-none-any.whl:

Publisher: publish.yml on datarep-ai/datarep

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page