[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "abogen"
description = "Generate audiobooks from EPUBs, PDFs and text with synchronized captions."
authors = [
    { name="Deniz Şafak", email="denizsafak98@gmail.com" }
]
readme = "README.md"
license = "MIT"
requires-python = ">=3.10, <3.13"
keywords = ["audiobook", "epub", "pdf", "text-to-speech", "subtitle", "tts", "kokoro", "accessibility", "book-converter", "voice-synthesis", "multilingual", "chapter-management", "subtitles", "content-creation", "media-generation"]
dependencies = [
    "PyQt5>=5.15.11",
    "kokoro>=0.9.4",
    "ebooklib>=0.19",
    "beautifulsoup4>=4.13.4",
    "PyMuPDF>=1.25.5",
    "platformdirs>=4.3.7",
    "soundfile>=0.13.1",
    "pygame>=2.6.1",
    "charset_normalizer>=3.4.1",
    "chardet>=5.2.0",
    "static_ffmpeg>=2.13"
]

classifiers = [
    "Intended Audience :: End Users/Desktop",
    "Topic :: Multimedia :: Sound/Audio :: Conversion",
    "Topic :: Multimedia :: Sound/Audio :: Sound Synthesis",
    "Topic :: Multimedia :: Sound/Audio :: Speech",
    "Topic :: Text Processing",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Operating System :: OS Independent"
]

dynamic = ["version"]

[project.urls]
Homepage = "https://github.com/denizsafak/abogen"
Documentation = "https://github.com/denizsafak/abogen"
Repository = "https://github.com/denizsafak/abogen"
Issues = "https://github.com/denizsafak/abogen/issues"

[project.gui-scripts]
abogen = "abogen.main:main"

[project.scripts]
abogen-cli = "abogen.main:main"

[tool.hatch.build.targets.sdist]
exclude = [
    "/.github",
    "/demo",
    "/abogen/resources",
    "/abogen/assets/create_shortcuts.bat",
    "WINDOWS_INSTALL.bat",
]

[tool.hatch.build.targets.wheel]
packages = ["abogen"]

[tool.hatch.version]
path = "abogen/VERSION"
pattern = "^(?P<version>.+)$"