[build-system]
requires = ["setuptools>=48.0.0"]

[project]
name = "auto-editor"
description = "Auto-Editor: Effort free video editing!"
readme = "README.md"
license = { text = "Unlicense" }
authors = [{ name = "WyattBlue", email = "wyattblue@auto-editor.com" }]
requires-python = ">=3.10,<3.14"
dependencies = [
    "numpy>=1.24,<3.0",
    "pyav==14.2.*",
]
keywords = [
    "video", "audio", "media", "editor", "editing",
    "processing", "nonlinear", "automatic", "silence-detect",
    "silence-removal", "silence-speedup", "motion-detection",
]
dynamic = ["version"]

[tool.setuptools.packages]
find = {}

[tool.setuptools.dynamic]
version = {attr = "auto_editor.__version__"}

[project.urls]
"Bug Tracker" = "https://github.com/WyattBlue/auto-editor/issues"
"Source Code" = "https://github.com/WyattBlue/auto-editor"
homepage = "https://auto-editor.com"

[project.scripts]
"auto-editor" = "auto_editor.__main__:main"
aedesc = "auto_editor.cmds.desc:main"
aeinfo = "auto_editor.cmds.info:main"
aesubdump = "auto_editor.cmds.subdump:main"
aelevels = "auto_editor.cmds.levels:main"

[tool.mypy]
warn_unused_ignores = true
warn_redundant_casts = true
extra_checks = true
disallow_untyped_calls = true
disallow_untyped_decorators = true
strict_optional = true
strict_equality = true
python_version = "3.10"

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

[tool.ruff.lint]
select = [
    "UP", # pyupgrade
    "E",  # pycodestyle
    "F",  # Pyflakes
    "W",  # pycodestyle
    "I",  # isort
    "C401",  # flake8-comprehensions: unnecessary-generator-set
    "C402",  # flake8-comprehensions: unnecessary-generator-dict
    "C403",  # flake8-comprehensions: unnecessary-list-comprehension-set
    "C404",  # flake8-comprehensions: unnecessary-list-comprehension-dict
    "C405",  # flake8-comprehensions: unnecessary-literal-set
]
ignore = ["E501", "E712", "E721", "F403", "F405"]
