feat: Additive merge of webui branch with PyQt GUI support

- Add abogen/pyqt/ package with full PyQt6 desktop GUI
- Restore PyQt GUI files (gui.py, book_handler.py, queue_manager_gui.py, voice_formula_gui.py, conversion.py)
- Add new shared modules from webui: book_parser.py, subtitle_utils.py, spacy_utils.py
- Add Linux libraries (libxcb-cursor) for Qt platform plugin support
- Add new epub parsing tests from webui branch
- Update pyproject.toml with dual entry points:
  - abogen: PyQt6 desktop GUI
  - abogen-web: Flask Web UI
- Add PyQt6 to dependencies
- Re-export PyQt classes from root modules for backwards compatibility
- Merge CHANGELOG.md entries (1.2.0-1.2.5 from webui)
- Update README.md with dual interface documentation

Implements #26 - shared core with separate UI folders
This commit is contained in:
JB
2025-12-22 05:51:21 -08:00
parent ede5343e0c
commit e2b2f610a6
32 changed files with 14863 additions and 38 deletions
+4 -2
View File
@@ -34,7 +34,8 @@ dependencies = [
"numpy>=1.24.0",
"gpustat>=1.1.1",
"num2words>=0.5.13",
"httpx>=0.27.0"
"httpx>=0.27.0",
"PyQt6>=6.5.0"
]
classifiers = [
@@ -62,11 +63,12 @@ allow-direct-references = true
[project.gui-scripts]
abogen = "abogen.webui.app:main"
abogen = "abogen.pyqt.main:main"
[project.scripts]
abogen-cli = "abogen.webui.app:main"
abogen-web = "abogen.webui.app:main"
abogen-pyqt = "abogen.pyqt.main:main"
[tool.hatch.build.targets.sdist]
exclude = [