pageparse.ai / src /pageparse /desktop.py
Varun2007's picture
initial clean deployment commit with compilers
8c3e275
Raw
History Blame Contribute Delete
1.02 kB
"""Desktop wrapper for PageParse using pywebview.
Usage: python -m pageparse.desktop
Requires: pip install pywebview
"""
from __future__ import annotations
import threading
import webbrowser
import uvicorn
from pageparse.web import app as fastapi_app
def start_desktop_app() -> None:
try:
import webview
except ImportError:
print("pywebview not installed. Install with: pip install pageparse[desktop]")
print("Falling back to browser...")
webbrowser.open("http://127.0.0.1:8000")
return
def run_server():
uvicorn.run(fastapi_app, host="127.0.0.1", port=8000, log_level="warning")
server_thread = threading.Thread(target=run_server, daemon=True)
server_thread.start()
webview.create_window(
"PageParse",
"http://127.0.0.1:8000",
width=1280,
height=800,
min_size=(800, 600),
resizable=True,
text_select=True,
)
webview.start()
if __name__ == "__main__":
start_desktop_app()