[build-system]
requires = ["uv_build>=0.8.12,<0.9.0"]
build-backend = "uv_build"

[project]
name = "envied"
version = "1.4.8"
description = "Modular Movie, TV, and Music Archival Software."
authors = [{ name = "rlaphoenix and others" }]
requires-python = ">=3.10,<3.13"
readme = "README.md"
license = "GPL-3.0-only"
keywords = [
    "python",
    "downloader",
    "drm",
    "widevine",
]
classifiers = [
    "Development Status :: 4 - Beta",
    "Environment :: Console",
    "Intended Audience :: End Users/Desktop",
    "Natural Language :: English",
    "Operating System :: OS Independent",
    "Topic :: Multimedia :: Video",
    "Topic :: Security :: Cryptography",
]
dependencies = [
    "appdirs>=1.4.4,<2",
    "Brotli>=1.1.0,<2",
    "click>=8.1.8,<9",
    "construct>=2.8.8,<3",
    "crccheck>=1.3.0,<2",
    "jsonpickle>=3.0.4,<4.5",
    "langcodes>=3.4.0,<4",
    "lxml>=6.0.2",
    "pproxy>=2.7.9,<3",
    "protobuf>=4.25.3,<7",
    "pycaption>=2.2.6,<3",
    "pycryptodomex>=3.20.0,<4",
    "pyjwt>=2.8.0,<3",
    "pymediainfo>=6.1.0,<7.5",
    "pymp4>=1.4.0,<2",
    "pymysql>=1.1.0,<2",
    "pywidevine[serve]>=1.8.0,<2",
    "PyYAML>=6.0.1,<7",
    "requests[socks]>=2.31.0,<3",
    "rich>=13.7.1,<15",
    "rlaphoenix.m3u8>=3.4.0,<4",
    "ruamel.yaml>=0.18.6,<0.19",
    "sortedcontainers>=2.4.0,<3",
    "subtitle-filter>=1.4.9,<2",
    "Unidecode>=1.3.8,<2",
    "urllib3>=2.2.1,<3",
    "chardet>=5.2.0,<6",
    "curl-cffi>=0.7.0b4,<0.8",
    "pyplayready>=0.6.3,<0.7",
    "httpx>=0.28.1,<0.29",
    "cryptography>=45.0.0",
    "subby",
    "webvtt-py>=0.5.1",
    "isodate>=0.7.2",
    "beaupy>=3.10.2",
    "scrapy>=2.13.3",
    "mypy>=1.18.2,<2",
    "pysubs2>=1.7.0,<2",
    "jwt>=1.4.0",
    "langcodes>=3.5.0",
    "fonttools>=4.60.1",
    "aiohttp-swagger3>=0.10.0",
]

[project.urls]
Homepage = "https://github.com/envied-dl/envied"
Repository = "https://github.com/envied-dl/envied"
Issues = "https://github.com/envied-dl/envied/issues"
Discussions = "https://github.com/envied-dl/envied/discussions"
Changelog = "https://github.com/envied-dl/envied/blob/master/CHANGELOG.md"

[project.scripts]
envied = "envied.core.__main__:main"

[dependency-groups]
dev = [
    "pre-commit>=3.7.0,<4",
    "mypy>=1.18.2,<2",
    "mypy-protobuf>=3.6.0,<4",
    "types-protobuf>=4.24.0.20240408,<5",
    "types-PyMySQL>=1.1.0.1,<2",
    "types-requests>=2.31.0.20240406,<3",
    "isort>=5.13.2,<6",
    "ruff~=0.3.7"
]

#[tool.hatch.build.targets.wheel]
#packages = ["envied"]


[tool.ruff]
force-exclude = true
line-length = 120

[tool.ruff.lint]
select = ["E4", "E7", "E9", "F", "W"]

[tool.isort]
line_length = 118

[tool.mypy]
check_untyped_defs = true
disallow_incomplete_defs = true
disallow_untyped_defs = true
follow_imports = "silent"
ignore_missing_imports = true
no_implicit_optional = true

[tool.uv.sources]
#subby = { git = "https://github.com/vevv/subby.git" }
subby = { git = "https://github.com/vevv/subby.git", rev = "5a925c367ffb3f5e53fd114ae222d3be1fdff35d" }
