selftracker / startup.py
Nakvi's picture
Upload 14 files
cd7bed1 verified
"""
FocusTrack - Startup script for Hugging Face Spaces.
Auto-seeds demo data if the database is empty, then launches the dashboard.
"""
import sys
import subprocess
from pathlib import Path
ROOT = Path(__file__).parent
sys.path.insert(0, str(ROOT))
# Ensure data/logs dirs exist
(ROOT / "data").mkdir(exist_ok=True)
(ROOT / "logs").mkdir(exist_ok=True)
# Auto-seed demo data if DB is empty or new
from database import Database
db = Database()
db.initialize()
count = db.get_activity_count(
__import__('datetime').datetime(2000, 1, 1),
__import__('datetime').datetime(2099, 1, 1),
)
if count == 0:
print("🌱 No data found β€” seeding demo data...")
import seed_demo
seed_demo.seed(days=14)
print("βœ… Demo data ready!")
else:
print(f"βœ… Database has {count:,} records, skipping seed.")
# Launch Streamlit
print("πŸš€ Starting FocusTrack dashboard...")
subprocess.run([
sys.executable, "-m", "streamlit", "run", str(ROOT / "app.py"),
"--server.port", "7860",
"--server.address", "0.0.0.0",
"--server.headless", "true",
"--browser.gatherUsageStats", "false",
])