Metadata-Version: 2.3
Name: querybot
Version: 0.1.1
Summary: A natural language interface for querying datasets using LLMs
License: MIT
Keywords: llm,data,query,chat,sql,duckdb
Author: Prudhvi Krovvidi
Author-email: kprudhvi71@gmail.com
Requires-Python: >=3.10
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Database
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Provides-Extra: dev
Requires-Dist: duckdb
Requires-Dist: fastapi
Requires-Dist: httpx
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: platformdirs
Requires-Dist: pydantic
Requires-Dist: pytest ; extra == "dev"
Requires-Dist: pytest-asyncio ; extra == "dev"
Requires-Dist: pytest-cov ; extra == "dev"
Requires-Dist: python-dotenv
Requires-Dist: python-multipart
Requires-Dist: requests
Requires-Dist: ruff ; extra == "dev"
Requires-Dist: uvicorn
Project-URL: Bug Tracker, https://github.com/gramener/querybot/issues
Project-URL: Documentation, https://github.com/gramener/querybot#readme
Project-URL: Homepage, https://github.com/gramener/querybot
Project-URL: Repository, https://github.com/gramener/querybot.git
Description-Content-Type: text/markdown

# Query Bot

A web application that allows users to upload CSV files, execute queries, and download results.

## Description

This project is built using FastAPI for the backend and HTML with Bootstrap for the frontend. Users can upload datasets, execute SQL queries, and interact with the data through a user-friendly interface.

## Usage

1. Start the FastAPI server and HTTP Server with the following command:
   ```bash
   uv run https://raw.githubusercontent.com/prudhvi1709/localdatachat/refs/heads/main/app.py
   ```
   Then, open your web browser and navigate to (http://localhost:8000) to access the Query Bot application.
1. Use the interface to upload CSV files, execute queries, and download results.
   You can paste multiple paths separated by commas, and the paths should be without quotes. The application can accept the following file types:
   - CSV
   - .parquet
   - SQLite .db
   - .xlsx
   - External MySQL databases from relational-data.org

## File Structure

```
/querybot
│
├── app.py              # The main Python application file
├── .env                # Environment variables file
├── README.md           # The project README file
├── static              # Directory for static files
│   └── index.html      # The main HTML file for the frontend
│   └── js              # Directory for JavaScript files
│       └── script.js   # JavaScript file
├── requirements.txt    # The list of required Python packages
├── LICENSE             # The project license file
```

## Features

- **Upload Files**: Users can upload datasets (CSV, .parquet, SQLite .db, .xlsx, and external MySQL databases) through the web interface.
- **Execute Queries**: Users can execute SQL queries against uploaded datasets.
- **Download Results**: Users can download query results in a convenient format.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

