Datachat
D 52 completed
Other
cli / python · small
358
Files
50,389
LOC
5
Frameworks
10
Languages
Pipeline State
completedRun ID
#1546044Phase
doneProgress
0%Started
2026-04-16 23:44:42Finished
2026-04-16 23:44:42LLM tokens
0Pipeline Metadata
Stage
CatalogedDecision
proceedNovelty
76.87Framework unique
—Isolation
—Last stage change
2026-05-10 03:34:40Deduplication group #1938286
Member of a group with 1 similar repo(s) — this repo is canonical view group →
About: code-quality intelligence by Repobility · https://repobility.com
🧪 Code Distillation
Browse all specs →AI Prompt
Create a self-hosted, text-to-SQL chat interface using Python. I need the system to allow users to ask questions in natural language and receive the generated SQL queries, results, and charts. The setup should support connecting to PostgreSQL and ideally handle multiple databases via a flag. Please ensure the architecture supports schema exploration via a sidebar and uses Gemini for the underlying logic. The project structure should be ready to run using `python start.py`.
python flask fastapi cli sql postgresql chat gemini web-app
Generated by gemma4:latest
Catalog Information
Create a self-hosted, text-to-SQL chat interface using Python. I need the system to allow users to ask questions in natural language and receive the generated SQL queries, results, and charts. The setup should support connecting to PostgreSQL and ideally handle multiple databases via a flag. Please ensure the architecture supports schema exploration via a sidebar and uses Gemini for the underlying logic. The project structure should be ready to run using python start.py.
Tags
python flask fastapi cli sql postgresql chat gemini web-app
Quality Score
D
51.6/100
Structure
66
Code Quality
54
Documentation
68
Testing
40
Practices
40
Security
27
Dependencies
90
Strengths
- Code linting configured (ruff (possible))
- Consistent naming conventions (snake_case)
- Properly licensed project
Weaknesses
- No CI/CD configuration — manual testing and deployment
- Potential hardcoded secrets in 3 files
- 6994 duplicate lines detected — consider DRY refactoring
- 11 'god files' with >500 LOC need decomposition
Recommendations
- Set up CI/CD (GitHub Actions recommended) to automate testing and deployment
- Move hardcoded secrets to environment variables or a secrets manager
Languages
Frameworks
Flask FastAPI pytest Vite SQLAlchemy
Symbols
method1,198
variable876
class340
function154
constant93
property47
interface19
type_alias11
API Endpoints (41)
| Method | Path | Handler | Framework | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Repobility — same analyzer, your code, free for public repos · /scan/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | / | index | FastAPI/Flask | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | / | hello | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | / | index | FastAPI/Flask | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/schema | get_schema | FastAPI/Flask | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/create_function | create_function | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /api/v0/delete_function | delete_function | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/download_csv | download_csv | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /api/v0/fix_sql | fix_sql | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/generate_followup_questions | generate_followup_questions | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/generate_plotly_figure | generate_plotly_figure | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/generate_questions | generate_questions | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/generate_rewritten_question | generate_rewritten_question | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/generate_sql | generate_sql | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/generate_summary | generate_summary | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/get_all_functions | get_all_functions | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/get_config | get_config | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/get_function | get_function | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/get_question_history | get_question_history | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/get_training_data | get_training_data | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/load_question | load_question | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/log | sock_log | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/<path:catch_all> | catch_all | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /api/v0/remove_training_data | remove_training_data | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/v0/run_sql | run_sql | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /api/v0/train | add_training_data | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /api/v0/update_function | update_function | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /api/v0/update_sql | update_sql | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /api/vanna/v2/chat_poll | chat_poll | FastAPI/Flask | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /api/vanna/v2/chat_poll | chat_poll | FastAPI/Flask | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /api/vanna/v2/chat_sse | chat_sse | FastAPI/Flask | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /api/vanna/v2/chat_sse | chat_sse | FastAPI/Flask | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /api/vanna/v2/chat_websocket | chat_websocket | FastAPI/Flask | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| WEBSOCKET | /api/vanna/v2/chat_websocket | chat_websocket | FastAPI/Flask | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /assets/<path:filename> | proxy_assets | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /auth/callback | callback | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| POST | /auth/login | login | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /auth/logout | logout | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /health | health_check | FastAPI/Flask | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /health | health_check | FastAPI/Flask | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /<path:path> | hello | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| GET | /vanna.svg | proxy_vanna_svg | Python | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Powered by Repobility — scan your code at https://repobility.com
Embed Badge
Add to your README:
BinComp Dependency Hardening
All packages →21 of this repo's dependencies have been scanned for binary hardening. Grade reflects RELRO / stack canary / FORTIFY / PIE coverage.
Ntransformers5.5.3 · 0 gadgets · risk 10146.5Ftorch2.11.0 · 1,257 gadgets · risk 5116.6Nrequests2.33.1 · 0 gadgets · risk 3687.0Nanthropic0.95.0 · 0 gadgets · risk 846.6Nipython9.12.0 · 0 gadgets · risk 738.0Nflask3.1.3 · 0 gadgets · risk 574.2Npymysql1.1.2 · 0 gadgets · risk 264.6Nasyncio4.0.0 · 0 gadgets · risk 0.0Nboto31.42.88 · 0 gadgets · risk 0.0Nbotocore1.42.88 · 0 gadgets · risk 0.0Nclick8.3.2 · 0 gadgets · risk 0.0Nfastapi0.135.3 · 0 gadgets · risk 0.0Nhttpx0.28.1 · 0 gadgets · risk 0.0Fnumpy2.4.4 · 6,596 gadgets · risk 0.0Nopenai2.31.0 · 0 gadgets · risk 0.0Fpandas3.0.2 · 6,381 gadgets · risk 0.0Nplotly6.7.0 · 0 gadgets · risk 0.0Npydantic2.12.5 · 0 gadgets · risk 0.0Fsqlalchemy2.0.49 · 376 gadgets · risk 0.0Nsqlparse0.5.5 · 0 gadgets · risk 0.0Nuvicorn0.44.0 · 0 gadgets · risk 0.0