[tool.poetry]
name = "shuku"
version = "0.0.5"  # Managed by 'release' script.
description = "A command-line tool for condensing video and audio files based on subtitle timestamps, optimizing media content for language learning and study."
authors = ["Óscar Fernández <osc@osc.garden>"]
license = "GPL-3.0-or-later"
homepage = "https://github.com/welpo/shuku"
repository = "https://github.com/welpo/shuku"
documentation = "https://github.com/welpo/shuku"
readme = "README.md"
keywords = ["media-condensation", "video", "audio", "subtitle", "subtitles", "condenser", "language learning", "immersion learning", "summarization"]
classifiers = [
    "Environment :: Console",
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Education",
    "Intended Audience :: End Users/Desktop",
    "Topic :: Education",
    "Topic :: Multimedia :: Sound/Audio :: Speech",
    "Topic :: Multimedia :: Video",
    "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
    "Operating System :: OS Independent",
]

[tool.poetry.scripts]
shuku = "shuku.cli:main"

[tool.poetry.dependencies]
python = "^3.11"
pysubs2 = "^1.7.3"
python-ffmpeg = "^2.0.12"

[tool.poetry.group.dev.dependencies]
mypy = "^1.11.1"
pytest = "^8.3.2"
pytest-cov = "^6.0.0"
ruff = "^0.11.0"

[tool.poetry.group.build.dependencies]
pyinstaller = {version = "^6.11.0", python = ">=3.11,<3.14"}

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.mypy]
warn_return_any = true
warn_unused_configs = true
check_untyped_defs = true
disallow_subclassing_any = true
disallow_untyped_calls = true
disallow_incomplete_defs = true
no_implicit_optional = true
warn_no_return = true
warn_redundant_casts = true
strict_equality = true

[tool.ruff]
target-version = "py311"

[tool.ruff.lint]
logger-objects = ["logging_setup.logger"]
select = ["I"]

[[tool.mypy.overrides]]
module = "pysubs2.*"
ignore_missing_imports = true
[[tool.mypy.overrides]]
module = "ffmpeg.*"
ignore_missing_imports = true

[tool.coverage.run]
omit = [
    "*/shuku/demo_utils.py",
]