# config/api_setup.py """ Setup script for API keys """ import tkinter as tk from tkinter import ttk from .api_keys import APIKeyManager import sys class APISetupGUI: def __init__(self): self.root = tk.Tk() self.root.title("API Key Setup") self.root.geometry("400x300") self.services = { "OpenAI": APIKeyManager.get_openai_key, "Google": APIKeyManager.get_google_key, "Anthropic": APIKeyManager.get_anthropic_key } self.setup_ui() def setup_ui(self): # Create main frame main_frame = ttk.Frame(self.root, padding="10") main_frame.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S)) # Create entries for each service self.entries = {} for i, (service, _) in enumerate(self.services.items()): ttk.Label(main_frame, text=f"{service} API Key:").grid( row=i, column=0, pady=5, sticky=tk.W ) entry = ttk.Entry(main_frame, width=40) entry.grid(row=i, column=1, pady=5, padx=5) current_key = self.services[service]() if current_key: entry.insert(0, current_key) self.entries[service.lower()] = entry # Add save button ttk.Button( main_frame, text="Save Keys", command=self.save_keys ).grid(row=len(self.services), column=0, columnspan=2, pady=20) def save_keys(self): for service, entry in self.entries.items(): key = entry.get().strip() if key: APIKeyManager.store_key(service, key) self.root.destroy() def run(self): self.root.mainloop() def setup_apis(): """Run the API setup GUI""" app = APISetupGUI() app.run()