https://github.com/kruskal-labs/toolfront

Data retrieval for AI agents

https://github.com/kruskal-labs/toolfront

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.2%) to scientific vocabulary

Keywords

agent analytics artificial-intelligence bigquery data-analysis data-engineering data-science database databricks dataops information-extraction information-retrieval machine-learning mcp mlops mysql python snowflake sql sqlite
Last synced: 5 months ago · JSON representation

Repository

Data retrieval for AI agents

Basic Info
  • Host: GitHub
  • Owner: kruskal-labs
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 1.76 MB
Statistics
  • Stars: 497
  • Watchers: 8
  • Forks: 38
  • Open Issues: 6
  • Releases: 12
Topics
agent analytics artificial-intelligence bigquery data-analysis data-engineering data-science database databricks dataops information-extraction information-retrieval machine-learning mcp mlops mysql python snowflake sql sqlite
Created 8 months ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License

README.md

ToolFront Logo

*Simple data retrieval for AI with unmatched control, precision, and speed.* [![Test Suite](https://github.com/kruskal-labs/toolfront/actions/workflows/test.yml/badge.svg)](https://github.com/kruskal-labs/toolfront/actions/workflows/test.yml) [![PyPI package](https://img.shields.io/pypi/v/toolfront?color=%2334D058&label=pypi%20package)](https://pypi.org/project/toolfront/) [![Discord](https://img.shields.io/discord/1323415085011701870?label=Discord&logo=discord&logoColor=white&style=flat-square)](https://discord.gg/rRyM7zkZTf) [![X](https://img.shields.io/badge/ToolFront-black?style=flat-square&logo=x&logoColor=white)](https://x.com/toolfront)

Documentation: docs.toolfront.ai


Installation

Install with pip or your favorite PyPI package manager.

bash pip install toolfront

Example 1: Text2SQL with ChatGPT

```python from toolfront import Database

db = Database("postgres://user:pass@localhost:5432/mydb")

context = "We're an e-commerce company. Sales data is in the cust_orders table."

Returns a string

answer = db.ask("What's our best-selling product?", model="openai:gpt-4o", context=context)

>>> "Wireless Headphones Pro"

```

Note: For databases, install with PyPI extras, e.g.: pip install "toolfront[postgres]". See the documentation for the complete list of 10+ databases.

Example 2: API retrieval with Claude

```python from toolfront import API

api = API("http://localhost:8000/openapi.json")

Returns a list of integers

answer: list[int] = api.ask("Get the last 5 order IDs for user_id=42", model="anthropic:claude-3-5-sonnet")

>>> [1001, 998, 987, 976, 965]

```

Note: ToolFront supports any API with an OpenAPI (formerly Swagger) specification. Most common APIs like Slack, Discord, and GitHub have OpenAPI specs. See the documentation for more details.

Example 3: Document information extraction with Gemini

```python from toolfront import Document from pydantic import BaseModel, Field

class CompanyReport(BaseModel): companyname: str = Field(..., description="Name of the company") revenue: int | float = Field(..., description="Annual revenue in USD") isprofitable: bool = Field(..., description="Whether the company is profitable")

doc = Document("/path/annual_report.pdf")

Returns a structured Pydantic object

answer: CompanyReport = doc.ask("Extract the key company information from this report", model="google:gemini-pro")

>>> CompanyReport(companyname="TechCorp Inc.", revenue=2500000, isprofitable=True)

```

Note: ToolFront supports OpenAI, Anthropic, Google, xAI, and 14+ AI model providers. See the documentation for the complete list.

Example 4: Snowflake MCP Server

json { "mcpServers": { "toolfront": { "command": "uvx", "args": [ "toolfront[snowflake]", "snowflake://user:pass@account/warehouse/database" ] } } }

Community & Contributing

License

This project is licensed under the terms of the MIT license.

Owner

  • Name: Kruskal
  • Login: kruskal-labs
  • Kind: organization
  • Location: United States of America

GitHub Events

Total
  • Create event: 46
  • Release event: 8
  • Issues event: 19
  • Watch event: 302
  • Delete event: 25
  • Issue comment event: 12
  • Push event: 214
  • Pull request review event: 9
  • Pull request review comment event: 5
  • Pull request event: 50
  • Fork event: 25
Last Year
  • Create event: 46
  • Release event: 8
  • Issues event: 19
  • Watch event: 302
  • Delete event: 25
  • Issue comment event: 12
  • Push event: 214
  • Pull request review event: 9
  • Pull request review comment event: 5
  • Pull request event: 50
  • Fork event: 25

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 15
  • Total pull requests: 53
  • Average time to close issues: 1 day
  • Average time to close pull requests: about 8 hours
  • Total issue authors: 7
  • Total pull request authors: 3
  • Average comments per issue: 0.6
  • Average comments per pull request: 0.04
  • Merged pull requests: 35
  • Bot issues: 1
  • Bot pull requests: 0
Past Year
  • Issues: 15
  • Pull requests: 53
  • Average time to close issues: 1 day
  • Average time to close pull requests: about 8 hours
  • Issue authors: 7
  • Pull request authors: 3
  • Average comments per issue: 0.6
  • Average comments per pull request: 0.04
  • Merged pull requests: 35
  • Bot issues: 1
  • Bot pull requests: 0
Top Authors
Issue Authors
  • antidmg (9)
  • fleetimee (1)
  • linear[bot] (1)
  • spideystreet (1)
  • im360john (1)
  • abbott (1)
  • max-winderbaum (1)
Pull Request Authors
  • antidmg (34)
  • safranchik (17)
  • seanchen1991 (2)
Top Labels
Issue Labels
enhancement (3) documentation (1) sdk (1)
Pull Request Labels
documentation (3) enhancement (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 1,055 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 22
  • Total maintainers: 2
pypi.org: toolfront

ToolFront helps you retrieve information from large databases, APIs, and documents with AI.

  • Versions: 22
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1,055 Last month
Rankings
Dependent packages count: 9.0%
Average: 29.9%
Dependent repos count: 50.8%
Maintainers (2)
Last synced: 6 months ago

Dependencies

.github/workflows/test.yml actions
  • actions/checkout v4 composite
  • useblacksmith/setup-uv v4 composite
  • mysql 8.0 docker
  • postgres 15 docker
Dockerfile docker
  • python 3.11.11-slim build
pyproject.toml pypi
  • aiohttp >=3.11.18
  • aiomysql >=0.2.0
  • aiosqlite >=0.21.0
  • alembic >=1.16.0
  • async-lru >=2.0.5
  • asyncpg >=0.30.0
  • click >=8.1.8
  • db-dtypes >=1.4.3
  • duckdb >=1.2.2
  • duckdb-engine >=0.17.0
  • google-cloud-bigquery >=3.32.0
  • google-cloud-bigquery-storage >=2.32.0
  • greenlet >=3.2.2
  • httpx >=0.28.1
  • jellyfish >=1.2.0
  • mcp [cli]>=1.9.0
  • numpy >=1.24.0
  • pandas >=2.2.3
  • psycopg2 >=2.9.10
  • pyarrow <19.0.0
  • pydantic >=2.11.4
  • pytest >=8.3.5
  • python-decouple >=3.8
  • scikit-learn >=1.6.1
  • snowflake-sqlalchemy >=1.7.3
  • sqlalchemy-bigquery >=1.14.1
  • sqlalchemy-utils >=0.41.2
uv.lock pypi
  • 107 dependencies