This repository has been archived by the owner on Apr 17, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
114 lines (103 loc) · 3.11 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "twitter_video_tools"
description = "Twitter Video Tools is a multi-processing supported video downloader, supports videos from twitter (or specific user from twitter) && monsnode."
authors = []
license = "MIT"
readme = "README.md"
homepage = "https://github.com/code-yeongyu/twitter_video_tools"
keywords = [
"crawler",
"parser",
"downloader",
"monsnode",
"twitter",
"youtube_dl",
]
classifiers = [
"Environment :: Console",
"Operating System :: OS Independent",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: Software Development :: Testing :: Unit",
"Topic :: Software Development :: Version Control",
"Topic :: Internet :: WWW/HTTP :: Browsers",
"Typing :: Typed",
]
include = ["LICENSE"]
version = "0.0.0"
[tool.mypy]
disallow_untyped_defs = true
disallow_any_unimported = true
no_implicit_optional = true
check_untyped_defs = true
warn_return_any = true
show_error_codes = true
warn_unused_ignores = true
ignore_missing_imports = true # disables imported modules' type checking, use pyright instead
python_version = 3.9
disable_error_code = ["no-untyped-call", "no-redef", "no-any-unimported"]
[tool.pydantic-mypy]
init_forbid_extra = true
init_typed = true
warn_required_dynamic_aliases = true
warn_untyped_fields = true
[tool.yapf]
based_on_style = "pep8"
spaces_before_comment = 4
split_before_logical_operator = true
column_limit = 119
allow_split_before_dict_value = false
[tool.poetry.dependencies]
python = "^3.9"
playwright = "^1.27.1"
bs4 = "^0.0.1"
requests = "^2.28.1"
yt-dlp = "^2022.11.11"
typer = {extras = ["all"], version = "^0.7.0"}
[tool.poetry.group.dev.dependencies]
monkeytype = "^22.2.0"
mypy = "^0.982"
yapf = "^0.32.0"
pylint = "^2.15.7"
isort = "^5.10.1"
pytest = "^7.2.0"
pytest-cov = "^4.0.0"
pylint-quotes = "^0.2.3"
unify = "^0.5"
toml = "^0.10.2"
invoke = "^1.7.3"
types-requests = "^2.28.11"
types-beautifulsoup4 = "^4.11.6"
types-invoke = "^1.7.3"
types-toml = "^0.10.8"
pyright = "^1.1.282"
colorama = "^0.4.6"
[tool.pylint.MASTER]
load-plugins = "pylint_quotes"
persistent = "yes"
suggestion-mode = "yes"
unsafe-load-any-extension = "yes"
variable-rgx = '((([a-z_][a-z0-9_]{2,})|(_[a-z0-9_]*)|(__[a-z][a-z0-9_]+__))$)|([A-Z_][A-Z0-9_]+$)' # allows CONSTANT_CASE in methods or in classes
[tool.pylint.format]
max-line-length = 119
[tool.pylint."MESSAGES CONTROL"]
extension-pkg-whitelist = "pydantic"
disable = "missing-docstring\n"
[tool.pylint.IMPORTS]
allow-any-import-level = ""
allow-wildcard-with-all = "no"
[tool.pyright]
pythonVersion = "3.9"
stubPath = "./.type_stubs"
venvPath = "./.venv"
pythonPlatform = "All"
typeCheckingMode = "strict"
include = ["./twitter_video_tools"]
exclude = ["**/node_modules", "**/__pycache__"]
defineConstant = { DEBUG = true }
useLibraryCodeForTypes = true
verboseOutput = false
reportMissingTypeStubs = true # even for 3rd party modules, it's required to create type stubs
reportUnknownMemberType = false # for no typed modules