Skip to main content

Query your DB using natural language instead of SQL queries

Project description

TalkToSQL

TalkToSQL is an CLI tool that lets you query your DB with natural language instead of SQL queries.

Usage

$ talktosql learn
Successfully saved the DB Schema Info to /Users/woniesong92/.talktosql_schema_info

$ talktosql ask --q "Who owns a dog?"
SELECT o.first_name, o.last_name FROM Owners o JOIN Pets p ON o.owner_id = p.owner_id WHERE p.species = 'dog';
+------------+-----------+
| first_name | last_name |
+------------+-----------+
|    John    |    Doe    |
|    Jane    |    Doe    |
|    Bob     |   Smith   |
+------------+-----------+

$ talktosql ask --q "Is there anyone who owns a cat named Mittens?"
SELECT o.first_name, o.last_name FROM Owners o JOIN Pets p ON o.owner_id = p.owner_id WHERE p.species = 'cat' AND p.pet_name = 'Mittens';
+------------+-----------+
| first_name | last_name |
+------------+-----------+
|   Alice    |  Johnson  |
+------------+-----------+

Quickstart

  1. Install the package

    pip install talktosql -U
    
  2. Set the environment variables

    You can create a .env file in your local directory to get kickstarted.

    OPENAI_API_KEY="SOME_API_KEY"
    OPENAI_ORG_ID="SOME_ORG_ID"
    OPENAI_MODEL_NAME="gpt-4"
    TALKTOSQL_DATABASE_URL="mysql://myuser:mypassword@localhost/mydb"
    TALKTOSQL_DATABASE_NAME="mydb"
    

    Alternatively, you can run these in your terminal or set these in your terminal config (~/.zshrc)

    export OPENAI_API_KEY="SOME_API_KEY"
    export OPENAI_ORG_ID="SOME_ORG_ID"
    export OPENAI_MODEL_NAME="gpt-4"
    export TALKTOSQL_DATABASE_URL="mysql://myuser:mypassword@localhost/mydb"
    # export TALKTOSQL_DATABASE_URL="postgresql://myuser:mypassword@localhost/mydb"
    export TALKTOSQL_DATABASE_NAME="mydb"
    
  3. Help TalktoSQL learn your DB Schema. This will save your DB schema info to a file in your home directory (~/.talktosql_schema_info)

    talktosql learn
    
  4. Query your DB in English intead of an SQL query

    talktosql ask --q "how many dogs are there?"
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

talktosql-0.0.1.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

talktosql-0.0.1-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file talktosql-0.0.1.tar.gz.

File metadata

  • Download URL: talktosql-0.0.1.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for talktosql-0.0.1.tar.gz
Algorithm Hash digest
SHA256 93b1504e10c7b457d33f0868bd5c4a552b510b2d6d8c8cb692db2d71d5b0608a
MD5 f758a5fd1de95552626a2230401d4cff
BLAKE2b-256 6c8f402bb21eaf47bcefcaa68ae1c563f4684873c7a130a74eee5045aa56b6d5

See more details on using hashes here.

File details

Details for the file talktosql-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: talktosql-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for talktosql-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1427d11399281d21c8246606a5746ded9bad2f233e5453bd038783ce89ecfd80
MD5 30afa0f451144f3c7cd65930151c3f5c
BLAKE2b-256 d4c2946a9ff9e85180152dac50b71152078fa8ace2836e0792c4a860f4c48803

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page