Add one click launcher - #2
Merged
Merged
Conversation
Bundle viralens as a downloadable Windows/macOS/Linux desktop app so non-technical users can double-click to run -- no Python install needed. - scripts/runtime.py: centralize source-vs-frozen differences (FROZEN detection, worker_cmd self-dispatch via --vl-exec, writable per-user data dir when frozen). Source-mode behavior is byte-for-byte unchanged. - Route the subprocess pipeline (app.py, viralens.py) and every worker script's data/reports/config paths through runtime. - packaging/: PyInstaller onedir spec + entry + local build helper. - .github/workflows/release.yml: tag v* builds on all three OSes and publishes a GitHub Release with per-OS downloads. - analyze_video.py: graceful degradation when ffmpeg is absent. - README: add a download-the-app section (EN + Chinese). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
--report now produces reports/index.html: a single self-contained file (charts inlined as base64; headline conclusion, per-creator profiles, signal-lever table, and a sortable video table) that opens offline and can be handed to any creator -- delivering the interactive report the project advertised but never generated (the /report 404 gap). Wired into the viralens.py --report pipeline after export_data, and added to the PyInstaller spec hiddenimports. Verified rendering in both source and frozen (packaged app) modes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The packaged app now opens in its own window instead of popping a console and a browser tab. Built windowed (console=False); the entry starts the local server then opens a pywebview window, falling back to the browser if no system WebView is available (e.g. Linux without WebKitGTK). - viralens_app.py: stdout-rebind shim so windowed --vl-exec child processes still stream output to the parent's captured pipe (devnull for the windowless main process); dispatch workers before opening any window. - app.py: add non-blocking start_server(); main() now blocks on an Event. - spec: console=False; bundle pywebview when present, else browser-fallback. - pyproject [gui] extra = pywebview; CI installs it on Windows/macOS only. - Verified on Windows: native WebView2 window renders, child stdout streams. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.