mirror of
https://github.com/kennethreitz/kjvstudy.org.git
synced 2026-06-05 23:00:16 +00:00
79dfd14400
Introduces a complete Tauri v2 project structure for building a native macOS desktop application. The app runs FastAPI as a sidecar process on port 31102 (number of KJV verses) and renders the existing web UI in a native WebKit webview. Key additions: - src-tauri/: Complete Tauri configuration and Rust source - Desktop entry point (kjvstudy_org/desktop.py) - PyInstaller bundling script for Python sidecar - Desktop-specific pyproject.toml without WeasyPrint - App icons for macOS (.icns) and Windows (.ico) - Makefile.desktop with build targets - Comprehensive DESKTOP.md documentation WeasyPrint is intentionally excluded from the desktop build to avoid native library bundling complexity. PDF buttons are automatically hidden when WeasyPrint is unavailable (existing graceful degradation). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
33 lines
903 B
TOML
33 lines
903 B
TOML
# Desktop-specific pyproject.toml (without WeasyPrint for easier bundling)
|
|
# Use this for building the Tauri desktop application
|
|
|
|
[project]
|
|
name = "kjvstudy-desktop"
|
|
version = "1.0.0"
|
|
description = "KJV Study - Offline Bible Study Desktop Application"
|
|
readme = "README.md"
|
|
requires-python = ">=3.11"
|
|
dependencies = [
|
|
"fastapi[standard]>=0.115.12",
|
|
"ged4py>=0.5.2",
|
|
"mistune>=3.0.2",
|
|
"parse>=1.20.2",
|
|
"python-gedcom>=1.0.0",
|
|
# Note: weasyprint intentionally excluded - PDF buttons will be hidden
|
|
# Note: requests excluded - not actually used in the codebase
|
|
]
|
|
|
|
[project.scripts]
|
|
kjvstudy-server = "kjvstudy_org.desktop:main"
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=45", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["kjvstudy_org*"]
|
|
|
|
[tool.setuptools.package-data]
|
|
kjvstudy_org = ["static/**/*", "templates/**/*"]
|