https://github.com/kruskal-labs/toolfront
Data retrieval for AI agents
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
Repository
Data retrieval for AI agents
Basic Info
Statistics
- Stars: 497
- Watchers: 8
- Forks: 38
- Open Issues: 6
- Releases: 12
Topics
Metadata Files
README.md
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
- Discord: Join our community server for real-time help and discussions
- X: Follow us @toolfront for updates and news
- Issues: Report bugs or request features on GitHub Issues
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
- Repositories: 1
- Profile: https://github.com/kruskal-labs
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
Pull Request Labels
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.
- Documentation: https://toolfront.readthedocs.io/
- License: MIT
-
Latest release: 0.2.14
published 6 months ago
Rankings
Maintainers (2)
Dependencies
- actions/checkout v4 composite
- useblacksmith/setup-uv v4 composite
- mysql 8.0 docker
- postgres 15 docker
- python 3.11.11-slim build
- 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
- 107 dependencies