pushpendra.parmar
Initial commit for CodeReviewAgent
67753ad
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Agent By Parmar For Code Review - Main Entry Point
This module serves as the entry point for the Agent By Parmar For Code Review application.
It initializes the Gradio interface and starts the web server.
"""
import os
import sys
import logging
from dotenv import load_dotenv
# Add the project root to the Python path
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
# Import application modules
from src.ui.gradio_app import create_gradio_app
from src.core.agent_manager import AgentManager
# Configure logging
# Create logs directory if it doesn't exist
logs_dir = os.path.join(os.path.dirname(__file__), '..', 'logs')
os.makedirs(logs_dir, exist_ok=True)
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.StreamHandler(),
logging.FileHandler(os.path.join(logs_dir, 'app.log'), mode='a')
]
)
logger = logging.getLogger(__name__)
def main():
"""Main function to start the Agent By Parmar For Code Review application."""
# Load environment variables
load_dotenv()
# Create logs directory if it doesn't exist
logs_dir = os.path.join(os.path.dirname(__file__), '..', 'logs')
os.makedirs(logs_dir, exist_ok=True)
# Initialize the agent manager
agent_manager = AgentManager()
# Create and launch the Gradio app
app = create_gradio_app(agent_manager)
# Start the Gradio server
app.launch(server_name="0.0.0.0", server_port=7860)
if __name__ == "__main__":
try:
logger.info("Starting Agent By Parmar For Code Review application")
main()
except Exception as e:
logger.exception(f"Error starting application: {e}")
sys.exit(1)