BiNgoViewer 2.2.4__tar.gz → 2.2.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/BiNgoViewer.egg-info/PKG-INFO +1 -1
  2. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/BiNgoViewer.egg-info/SOURCES.txt +1 -1
  3. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/PKG-INFO +1 -1
  4. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/__init__.py +1 -1
  5. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/cli.py +22 -9
  6. bingoviewer-2.2.4/bingoviewer/frontend_dist/assets/index-A_9jpOkw.js → bingoviewer-2.2.6/bingoviewer/frontend_dist/assets/index-6KBC4l8m.js +35 -35
  7. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/frontend_dist/index.html +1 -1
  8. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/main.py +1 -1
  9. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/pyproject.toml +1 -1
  10. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/BiNgoViewer.egg-info/dependency_links.txt +0 -0
  11. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/BiNgoViewer.egg-info/entry_points.txt +0 -0
  12. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/BiNgoViewer.egg-info/requires.txt +0 -0
  13. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/BiNgoViewer.egg-info/top_level.txt +0 -0
  14. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/README.md +0 -0
  15. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/__main__.py +0 -0
  16. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/icon.py +0 -0
  17. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/install_shortcut.py +0 -0
  18. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/__init__.py +0 -0
  19. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/api/__init__.py +0 -0
  20. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/api/data.py +0 -0
  21. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/api/genome.py +0 -0
  22. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/api/tracks.py +0 -0
  23. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/readers/__init__.py +0 -0
  24. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/readers/annotation_reader.py +0 -0
  25. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/readers/bam_reader.py +0 -0
  26. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/readers/bigwig_reader.py +0 -0
  27. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/readers/genbank_reader.py +0 -0
  28. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/readers/genome_reader.py +0 -0
  29. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/readers/vcf_reader.py +0 -0
  30. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/bingoviewer/server/state.py +0 -0
  31. {bingoviewer-2.2.4 → bingoviewer-2.2.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: BiNgoViewer
3
- Version: 2.2.4
3
+ Version: 2.2.6
4
4
  Summary: BiNgo Genome Viewer — a lightweight browser-based genomics viewer
5
5
  Author-email: Billy M Ngo <billy.ngo0108@gmail.com>
6
6
  License: Proprietary
@@ -12,7 +12,7 @@ bingoviewer/cli.py
12
12
  bingoviewer/icon.py
13
13
  bingoviewer/install_shortcut.py
14
14
  bingoviewer/frontend_dist/index.html
15
- bingoviewer/frontend_dist/assets/index-A_9jpOkw.js
15
+ bingoviewer/frontend_dist/assets/index-6KBC4l8m.js
16
16
  bingoviewer/server/__init__.py
17
17
  bingoviewer/server/main.py
18
18
  bingoviewer/server/state.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: BiNgoViewer
3
- Version: 2.2.4
3
+ Version: 2.2.6
4
4
  Summary: BiNgo Genome Viewer — a lightweight browser-based genomics viewer
5
5
  Author-email: Billy M Ngo <billy.ngo0108@gmail.com>
6
6
  License: Proprietary
@@ -1,3 +1,3 @@
1
1
  """BiNgo Genome Viewer — a lightweight browser-based genomics viewer."""
2
2
 
3
- __version__ = "2.2.4"
3
+ __version__ = "2.2.6"
@@ -71,12 +71,12 @@ def _show_welcome_if_new():
71
71
  print(" - Right-click drag to select a region")
72
72
  print(" - Double-click a gene to zoom in")
73
73
  print()
74
- print(" Commands:")
75
- print(" bingo Launch the viewer")
76
- print(" bingo --update Check for updates")
77
- print(" bingo --install Create a desktop shortcut")
78
- print(" bingo --version Show installed version")
79
- print()
74
+ print(" Commands:")
75
+ print(" bingo Launch the viewer")
76
+ print(" bingo --update Check for updates")
77
+ print(" bingo --install Create a desktop shortcut")
78
+ print(" bingo --version Show installed version")
79
+ print()
80
80
 
81
81
 
82
82
  # ── Auto-update ──────────────────────────────────────────────────
@@ -362,7 +362,8 @@ def _remove_lock():
362
362
 
363
363
  # ── First-run shortcut prompt ─────────────────────────────────────
364
364
 
365
- def _first_run_shortcut_prompt():
365
+ def _offer_shortcut_install():
366
+ """Offer to install a desktop shortcut on first run."""
366
367
  if _FIRST_RUN_MARKER.exists():
367
368
  return
368
369
  try:
@@ -370,6 +371,18 @@ def _first_run_shortcut_prompt():
370
371
  _FIRST_RUN_MARKER.write_text("prompted")
371
372
  except Exception:
372
373
  return
374
+
375
+ # Try terminal prompt first
376
+ try:
377
+ answer = input(" Create a desktop shortcut? [Y/n]: ").strip()
378
+ if answer.lower() != 'n':
379
+ from bingoviewer.install_shortcut import main as install_main
380
+ install_main()
381
+ return
382
+ except (EOFError, OSError):
383
+ pass
384
+
385
+ # Fallback: tkinter dialog (pythonw / no terminal)
373
386
  try:
374
387
  import tkinter as tk
375
388
  from tkinter import messagebox
@@ -377,7 +390,7 @@ def _first_run_shortcut_prompt():
377
390
  root.withdraw()
378
391
  answer = messagebox.askyesno(
379
392
  "BiNgo Genome Viewer",
380
- "Would you like to create a desktop shortcut for BiNgo Genome Viewer?\n\n"
393
+ "Would you like to create a desktop shortcut?\n\n"
381
394
  "You can also do this later with: bingo --install",
382
395
  )
383
396
  root.destroy()
@@ -460,7 +473,7 @@ def main():
460
473
  return 0
461
474
 
462
475
  # First launch — offer desktop shortcut
463
- _first_run_shortcut_prompt()
476
+ _offer_shortcut_install()
464
477
 
465
478
  # Resolve the URL the browser will open
466
479
  url = f"http://{'localhost' if args.host in ('0.0.0.0',) else args.host}:{args.port}"