Connect agents to data
Project description
Agent Data Toolkit
An open source toolkit that provides modular connectors for AI agents to interact with diverse data systems. It standardizes connection and query patterns, handles configuration and errors, and delivers results in a consistent format. Designed to be reused by other projects, it enables frameworks like MCP servers or custom agent implementations to define tools on top of a common abstraction layer for seamless data access.
Current Data Connectors
| Connector | Status | Extras name | Notes |
|---|---|---|---|
| PostgreSQL | ✅ Ready | postgresql |
Supports queries, schema introspection, DataFrame helpers |
| Elasticsearch | 🚧 Planned | elasticsearch |
Query and aggregation support (future) |
| MongoDB | 🚧 Planned | mongodb |
Basic CRUD and aggregation pipelines |
| Neo4j | 🚧 Planned | neo4j |
Cypher query support (future) |
| Splunk | 🚧 Planned | splunk |
Search/query API support (future) |
Installation
From PyPI
The easiest way is to install the package directly from PyPI:
# With uv (recommended)
uv pip install agent-data-toolkit
# Or with pip
pip install agent-data-toolkit
To enable a specific connector, install with extras. For example, PostgreSQL:
uv pip install "agent-data-toolkit[postgresql]"
# or
pip install "agent-data-toolkit[postgresql]"
From Source
If you want to work with the latest code from GitHub:
git clone https://github.com/Cyb3rWard0g/agent-data-toolkit.git
cd agent-data-toolkit
# Create a virtual environment
uv venv .venv
source .venv/bin/activate
# Install in editable/dev mode
uv pip install -e ".[dev]"
# or
pip install -e ".[dev]"
You can still add extras here, e.g.:
uv pip install -e ".[dev,postgresql]"
Quick Example
Using the PostgreSQL connector:
from agent_data_toolkit.postgresql import PostgresClient
# Create client from environment variables (PG_DSN / POSTGRES_DSN / DATABASE_URL)
pg = PostgresClient.from_env()
rows = pg.query_rows("SELECT 1 AS ok")
print(rows)
pg.close()
Release Process
To publish a new release to PyPI:
- Install dev dependencies
uv pip install -e ".[dev]"
- Ensure all changes are committed and tests pass:
uv run pytest tests/
- Create and push an annotated tag for the release:
git tag -a v0.1.0 -m "Release 0.1.0" git push origin v0.1.0
- Checkout the tag to ensure you are building exactly from it:
git checkout v0.1.0
- Clean old build artifacts:
rm -rf dist rm -rf build rm -rf src/*.egg-info
- Upgrade build and upload tools:
uv pip install --upgrade build twine packaging setuptools wheel setuptools_scm
- Build the package:
uv run python -m build
- (Optional) Check metadata:
uv run twine check dist/*
- Upload to PyPI:
uv run twine upload dist/*
Notes:
- Twine ≥ 6 and packaging ≥ 24.2 are required for modern metadata support.
- Always build from the tag (
git checkout vX.Y.Z) so setuptools_scm resolves the exact version. git checkout v0.1.0puts you in detached HEAD mode; that’s normal. When done, return to your branch with:git switch -
- If you’re building in CI, make sure tags are fetched:
git fetch --tags --force --prune git fetch --unshallow || true
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 agent_data_toolkit-0.2.0.tar.gz.
File metadata
- Download URL: agent_data_toolkit-0.2.0.tar.gz
- Upload date:
- Size: 83.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32a395d1db698a015c5844c6e844f6625507fcd4c529b9fc8bbba34974302caa
|
|
| MD5 |
7fcd47e0ee8cdcddb402a35934167c96
|
|
| BLAKE2b-256 |
455103551b02852e902359330ab0def0e20fdb883ba80ebda94964e350b05670
|
Provenance
The following attestation bundles were made for agent_data_toolkit-0.2.0.tar.gz:
Publisher:
release.yml on Cyb3rWard0g/agent-data-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_data_toolkit-0.2.0.tar.gz -
Subject digest:
32a395d1db698a015c5844c6e844f6625507fcd4c529b9fc8bbba34974302caa - Sigstore transparency entry: 1018250436
- Sigstore integration time:
-
Permalink:
Cyb3rWard0g/agent-data-toolkit@eee03c0053721392df87cb7528bf958b607de15b -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Cyb3rWard0g
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@eee03c0053721392df87cb7528bf958b607de15b -
Trigger Event:
push
-
Statement type:
File details
Details for the file agent_data_toolkit-0.2.0-py3-none-any.whl.
File metadata
- Download URL: agent_data_toolkit-0.2.0-py3-none-any.whl
- Upload date:
- Size: 30.8 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 |
b572f112e079e5a34789b8b8b9122b2ecb7055822f13a9ca9bf8c420b20566b5
|
|
| MD5 |
0cbd98ded6ecf3ff15f80a8b0803723d
|
|
| BLAKE2b-256 |
fc436b518a0db9e57ab11e203d2715e959231d8652bc643c73d34247bc4a169d
|
Provenance
The following attestation bundles were made for agent_data_toolkit-0.2.0-py3-none-any.whl:
Publisher:
release.yml on Cyb3rWard0g/agent-data-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_data_toolkit-0.2.0-py3-none-any.whl -
Subject digest:
b572f112e079e5a34789b8b8b9122b2ecb7055822f13a9ca9bf8c420b20566b5 - Sigstore transparency entry: 1018250453
- Sigstore integration time:
-
Permalink:
Cyb3rWard0g/agent-data-toolkit@eee03c0053721392df87cb7528bf958b607de15b -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/Cyb3rWard0g
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@eee03c0053721392df87cb7528bf958b607de15b -
Trigger Event:
push
-
Statement type: