Spaces:
Sleeping
Sleeping
| """ | |
| Configuration management for Data Insights App | |
| """ | |
| import os | |
| from pathlib import Path | |
| from dotenv import load_dotenv | |
| # Load environment variables from .env file | |
| load_dotenv() | |
| # Base paths | |
| BASE_DIR = Path(__file__).parent | |
| DATA_DIR = BASE_DIR / "data" | |
| DATABASE_DIR = BASE_DIR / "database" | |
| # API Configuration | |
| OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "") | |
| OPENAI_MODEL = "gpt-4-turbo-preview" # Model with function calling support | |
| # GitHub Configuration (Optional) | |
| GITHUB_TOKEN = os.getenv("GITHUB_TOKEN", "") | |
| GITHUB_REPO = os.getenv("GITHUB_REPO", "") | |
| GITHUB_FOLDER = os.getenv("GITHUB_FOLDER", "") # Optional folder/project prefix for issues | |
| # Database Configuration | |
| DATABASE_PATH = os.getenv("DATABASE_PATH", str(DATABASE_DIR / "car_prices.db")) | |
| CSV_DATA_PATH = DATA_DIR / "car_prices.csv" | |
| # Application Settings | |
| LOG_LEVEL = os.getenv("LOG_LEVEL", "INFO") | |
| MAX_LOG_ENTRIES = 100 # Maximum number of log entries to keep in sidebar | |
| # Sample queries for user guidance | |
| SAMPLE_QUERIES = [ | |
| "What's the average selling price of BMW cars?", | |
| "Show me the top 5 most expensive car models", | |
| "How many cars were sold in California?", | |
| "What's the price difference between automatic and manual transmission?", | |
| "Show statistics about cars in excellent condition", | |
| "Which seller has the most cars in the database?", | |
| ] | |
| # Safety settings | |
| ALLOWED_SQL_OPERATIONS = ["SELECT"] | |
| DANGEROUS_SQL_KEYWORDS = [ | |
| "DELETE", "DROP", "TRUNCATE", "ALTER", | |
| "UPDATE", "INSERT", "CREATE", "REPLACE" | |
| ] | |