95 lines
2.6 KiB
TOML
95 lines
2.6 KiB
TOML
[build-system]
|
|
requires = ["poetry-core"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.poetry]
|
|
name = "youtube-transcript-api"
|
|
version = "0.6.3"
|
|
description = "This is an python API which allows you to get the transcripts/subtitles for a given YouTube video. It also works for automatically generated subtitles, supports translating subtitles and it does not require a headless browser, like other selenium based solutions do!"
|
|
readme = "README.md"
|
|
license = "MIT"
|
|
authors = [
|
|
"Jonas Depoix <jonas.depoix@web.de>",
|
|
]
|
|
homepage = "https://github.com/jdepoix/youtube-transcript-api"
|
|
repository = "https://github.com/jdepoix/youtube-transcript-api"
|
|
keywords = [
|
|
"cli",
|
|
"subtitle",
|
|
"subtitles",
|
|
"transcript",
|
|
"transcripts",
|
|
"youtube",
|
|
"youtube-api",
|
|
"youtube-subtitles",
|
|
"youtube-transcripts",
|
|
]
|
|
classifiers = [
|
|
"License :: OSI Approved :: MIT License",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
]
|
|
|
|
[tool.poetry.scripts]
|
|
youtube_transcript_api = "youtube_transcript_api.__main__:main"
|
|
|
|
[tool.poe.tasks]
|
|
test = "pytest youtube_transcript_api"
|
|
ci-test.shell = "coverage run -m unittest discover && coverage xml"
|
|
coverage.shell = "coverage run -m unittest discover && coverage report -m --fail-under=100"
|
|
format = "ruff format youtube_transcript_api"
|
|
ci-format = "ruff format youtube_transcript_api --check"
|
|
lint = "ruff check youtube_transcript_api"
|
|
precommit.shell = "poe format && poe lint && poe coverage"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = ">=3.8,<3.14"
|
|
requests = "*"
|
|
defusedxml = "^0.7.1"
|
|
|
|
[tool.poetry.group.test]
|
|
optional = true
|
|
|
|
[tool.poetry.group.test.dependencies]
|
|
pytest = "^8.3.3"
|
|
coverage = "^7.6.1"
|
|
mock = "^5.1.0"
|
|
httpretty = "^1.1.4"
|
|
|
|
[tool.poetry.group.dev]
|
|
optional = true
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
ruff = "^0.6.8"
|
|
|
|
[tool.coverage.run]
|
|
source = ["youtube_transcript_api"]
|
|
|
|
[tool.coverage.report]
|
|
omit = ["*/__main__.py", "youtube_transcript_api/test/*"]
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
|
|
# Don't complain about missing debug-only code:
|
|
"def __unicode__",
|
|
"def __repr__",
|
|
"if self\\.debug",
|
|
|
|
# Don't complain if tests don't hit defensive assertion code:
|
|
"raise AssertionError",
|
|
"raise NotImplementedError",
|
|
|
|
# Don't complain if non-runnable code isn't run:
|
|
"if 0:",
|
|
"if __name__ == .__main__.:",
|
|
|
|
# Don't complain about empty stubs of abstract methods
|
|
"@abstractmethod",
|
|
"@abstractclassmethod",
|
|
"@abstractstaticmethod"
|
|
]
|
|
show_missing = true |