mirror of
https://github.com/vinefeeder/TwinVine.git
synced 2026-07-15 18:10:04 +02:00
127 lines
3.1 KiB
TOML
127 lines
3.1 KiB
TOML
[build-system]
|
||
requires = ["uv_build>=0.8.12,<0.9.0"]
|
||
build-backend = "uv_build"
|
||
|
||
[project]
|
||
name = "envied"
|
||
version = "2.3.0"
|
||
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",
|
||
"fonttools>=4.61.1,<5",
|
||
"jsonpickle>=4.1.1,<5",
|
||
"langcodes>=3.5.0,<4",
|
||
"lxml>=6.0.2,<7",
|
||
"pproxy>=2.7.9,<3",
|
||
"protobuf>=6.33.3,<7",
|
||
"pycaption>=2.2.6,<3",
|
||
"pycryptodomex>=3.23.0,<4",
|
||
"PyJWT>=2.10.1,<3",
|
||
"pymediainfo>=6.1.0,<8",
|
||
"pymp4>=1.4.0,<2",
|
||
"pymysql>=1.1.0,<2",
|
||
"pywidevine[serve]>=1.9.0,<2",
|
||
"PyYAML>=6.0.1,<7",
|
||
"requests[socks]>=2.32.5,<3",
|
||
"rich>=14.2.0,<15",
|
||
"rlaphoenix.m3u8>=3.4.0,<4",
|
||
"ruamel.yaml>=0.19.1,<0.20",
|
||
"sortedcontainers>=2.4.0,<3",
|
||
"subtitle-filter>=1.4.9,<2",
|
||
"Unidecode>=1.3.8,<2",
|
||
"urllib3>=2.6.2,<3",
|
||
"chardet>=5.2.0,<6",
|
||
|
||
# curl-cffi is 0.x; keep a tighter cap to avoid accidental breaking changes.
|
||
"curl-cffi>=0.14.0,<0.15",
|
||
"pyplayready>=0.8.2,<0.9",
|
||
"httpx>=0.28.1,<0.29",
|
||
"cryptography>=45.0.6,<46.0.0",
|
||
|
||
# These were unpinned in your list; consider adding bounds once you confirm versions you’ve tested with.
|
||
"subby",
|
||
|
||
"webvtt-py>=0.5.1,<0.6",
|
||
"isodate>=0.7.2,<0.8",
|
||
"beaupy>=3.10.2,<4",
|
||
"scrapy>=2.14.0,<3",
|
||
"mypy>=1.19.1,<2",
|
||
"pysubs2>=1.7.0,<2",
|
||
"PyExecJS>=1.5.1,<2",
|
||
|
||
# Keeping your existing cap style here; latest visible is 0.10.0.
|
||
"aiohttp-swagger3>=0.10.0,<1",
|
||
]
|
||
|
||
|
||
[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" }
|