|
|
|
|
|
"""
|
|
|
Kronos Web UI startup script
|
|
|
"""
|
|
|
|
|
|
import os
|
|
|
import sys
|
|
|
import subprocess
|
|
|
import webbrowser
|
|
|
import time
|
|
|
|
|
|
def check_dependencies():
|
|
|
"""Check if dependencies are installed"""
|
|
|
try:
|
|
|
import flask
|
|
|
import flask_cors
|
|
|
import pandas
|
|
|
import numpy
|
|
|
import plotly
|
|
|
print("β
All dependencies installed")
|
|
|
return True
|
|
|
except ImportError as e:
|
|
|
print(f"β Missing dependency: {e}")
|
|
|
print("Please run: pip install -r requirements.txt")
|
|
|
return False
|
|
|
|
|
|
def install_dependencies():
|
|
|
"""Install dependencies"""
|
|
|
print("Installing dependencies...")
|
|
|
try:
|
|
|
subprocess.check_call([sys.executable, "-m", "pip", "install", "-r", "requirements.txt"])
|
|
|
print("β
Dependencies installation completed")
|
|
|
return True
|
|
|
except subprocess.CalledProcessError:
|
|
|
print("β Dependencies installation failed")
|
|
|
return False
|
|
|
|
|
|
def main():
|
|
|
"""Main function"""
|
|
|
print("π Starting Kronos Web UI...")
|
|
|
print("=" * 50)
|
|
|
|
|
|
|
|
|
if not check_dependencies():
|
|
|
print("\nAuto-install dependencies? (y/n): ", end="")
|
|
|
if input().lower() == 'y':
|
|
|
if not install_dependencies():
|
|
|
return
|
|
|
else:
|
|
|
print("Please manually install dependencies and retry")
|
|
|
return
|
|
|
|
|
|
|
|
|
try:
|
|
|
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
|
from model import Kronos, KronosTokenizer, KronosPredictor
|
|
|
print("β
Kronos model library available")
|
|
|
model_available = True
|
|
|
except ImportError:
|
|
|
print("β οΈ Kronos model library not available, will use simulated prediction")
|
|
|
model_available = False
|
|
|
|
|
|
|
|
|
print("\nπ Starting Web server...")
|
|
|
|
|
|
|
|
|
os.environ['FLASK_APP'] = 'app.py'
|
|
|
os.environ['FLASK_ENV'] = 'development'
|
|
|
|
|
|
|
|
|
try:
|
|
|
from app import app
|
|
|
print("β
Web server started successfully!")
|
|
|
print(f"π Access URL: http://localhost:7070")
|
|
|
print("π‘ Tip: Press Ctrl+C to stop server")
|
|
|
|
|
|
|
|
|
time.sleep(2)
|
|
|
webbrowser.open('http://localhost:7070')
|
|
|
|
|
|
|
|
|
app.run(debug=True, host='0.0.0.0', port=7070)
|
|
|
|
|
|
except Exception as e:
|
|
|
print(f"β Startup failed: {e}")
|
|
|
print("Please check if port 7070 is occupied")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
main()
|
|
|
|