suggestion_bot / scripts /setup.py
Sanjay Ram A
Upload 52 files
75788a5 verified
Raw
History Blame Contribute Delete
2.73 kB
"""Setup script for first-time configuration."""
import os
import sys
def create_env_file():
"""Create .env file from template if it doesn't exist."""
if os.path.exists('.env'):
print("βœ… .env file already exists")
return
if not os.path.exists('.env.example'):
print("❌ .env.example not found")
return
print("πŸ“ Creating .env file from template...")
with open('.env.example', 'r') as f:
content = f.read()
print("\nπŸ”‘ Please provide your API keys:")
gemini_key = input("Gemini API Key (required): ").strip()
serpapi_key = input("SerpApi Key (required): ").strip()
if not gemini_key or not serpapi_key:
print("❌ Both API keys are required!")
sys.exit(1)
content = content.replace('your_gemini_api_key_here', gemini_key)
content = content.replace('your_serpapi_key_here', serpapi_key)
telegram_token = input("Telegram Bot Token (optional, press Enter to skip): ").strip()
if telegram_token:
content = content.replace('your_telegram_bot_token_here', telegram_token)
with open('.env', 'w') as f:
f.write(content)
print("βœ… .env file created successfully!")
def check_dependencies():
"""Check if all dependencies are installed."""
print("\nπŸ“¦ Checking dependencies...")
try:
import fastapi
import uvicorn
import gradio
import langchain
import google.generativeai
print("βœ… All core dependencies installed")
except ImportError as e:
print(f"❌ Missing dependency: {e}")
print("Run: pip install -r requirements.txt")
sys.exit(1)
def initialize_database():
"""Initialize the SQLite database."""
print("\nπŸ—„οΈ Initializing database...")
try:
sys.path.append('..')
from database import db
db.init_db()
print("βœ… Database initialized successfully!")
except Exception as e:
print(f"❌ Database initialization failed: {e}")
sys.exit(1)
def main():
"""Run setup."""
print("="*60)
print("πŸš€ Rural E-commerce Suggestion Bot - Setup")
print("="*60 + "\n")
create_env_file()
check_dependencies()
initialize_database()
print("\n" + "="*60)
print("✨ Setup completed successfully!")
print("="*60)
print("\nπŸ“– Next steps:")
print("1. Review your .env file")
print("2. Run: python main.py --mode all")
print("3. Open: http://localhost:7860 (Gradio UI)")
print("4. Check API docs: http://localhost:8000/docs")
print("\nπŸŽ‰ Happy coding!\n")
if __name__ == "__main__":
main()