A user-authorized agent runtime that acquires data from arbitrary sources and delivers it to consuming applications.
Project description
datarep
A trusted local service that retrieves data from arbitrary sources on behalf of your application. Your app describes what data it wants — datarep figures out how to get it.
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"}'
What it does
Instead of every app building its own integrations, datarep:
- Manages credentials — encrypted storage, browser-based OAuth, automatic token refresh
- Writes retrieval code — a Claude agent inspects sources and generates Python code dynamically
- Executes in a sandbox — network and filesystem restrictions via macOS
sandbox-exec - Caches as recipes — working code is saved for instant, deterministic replay
- Authenticates apps — per-app API keys with source-level access control and audit logging
Users grant trust once (to datarep). 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file datarep-1.0.1.tar.gz.
File metadata
- Download URL: datarep-1.0.1.tar.gz
- Upload date:
- Size: 33.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55d61e57383dc214a9c646c1ec1f848cf6048f59ae6b5a46caa9c63618123c8e
|
|
| MD5 |
40603d181edeafa23dbbf1c07181b3c6
|
|
| BLAKE2b-256 |
aadae9a23fabc56c1f036fee7c64b4b99f738c4c38bb6f61cfe74979a159abed
|
Provenance
The following attestation bundles were made for datarep-1.0.1.tar.gz:
Publisher:
publish.yml on datarep-ai/datarep
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
datarep-1.0.1.tar.gz -
Subject digest:
55d61e57383dc214a9c646c1ec1f848cf6048f59ae6b5a46caa9c63618123c8e - Sigstore transparency entry: 1108433639
- Sigstore integration time:
-
Permalink:
datarep-ai/datarep@e344236f893874fe60122d738c7a9619204461f5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/datarep-ai
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e344236f893874fe60122d738c7a9619204461f5 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file datarep-1.0.1-py3-none-any.whl.
File metadata
- Download URL: datarep-1.0.1-py3-none-any.whl
- Upload date:
- Size: 31.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b35faa485a1fa69c4b782e6b721b9260eecdb9d4849dfd13374d6338590993af
|
|
| MD5 |
b74f4fc339c0ba7ebcbeb35a3188ce26
|
|
| BLAKE2b-256 |
99a2f499da98a7ee443104c628d3b6dc1877ed2b83818c83f404dfaec293ab27
|
Provenance
The following attestation bundles were made for datarep-1.0.1-py3-none-any.whl:
Publisher:
publish.yml on datarep-ai/datarep
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
datarep-1.0.1-py3-none-any.whl -
Subject digest:
b35faa485a1fa69c4b782e6b721b9260eecdb9d4849dfd13374d6338590993af - Sigstore transparency entry: 1108433641
- Sigstore integration time:
-
Permalink:
datarep-ai/datarep@e344236f893874fe60122d738c7a9619204461f5 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/datarep-ai
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e344236f893874fe60122d738c7a9619204461f5 -
Trigger Event:
workflow_dispatch
-
Statement type: