-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
81 lines (72 loc) · 2.14 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
[project]
name = "letsrolld"
version = "0.1.0"
description = "Letsrolld, movie recommendation engine"
authors = [
{name = "Ihar Hrachyshka", email = "[email protected]"},
]
dependencies = [
"beautifulsoup4",
# TODO: remove this dependency
"requests",
# TODO: vendorize this dependency, or otherwise replace it
"simple-justwatch-python-api==0.16",
"SQLAlchemy>=2.0.27",
"alembic>=1.13.1",
"flask-restful-swagger-3 @ git+https://github.com/booxter/flask-restful-swagger-3@master",
"letsrolld-api-client @ file:///${PROJECT_ROOT}/letsrolld-api-client",
"click>=8.1.7",
"Jinja2>=3.1.3",
"Flask-Sqlalchemy>=3.1.1",
"pycountry>=23.12.11",
"openapi-python-client>=0.20.0",
]
requires-python = ">=3.12"
readme = "README.md"
license = {text = "GPL-3.0-only"}
[project.optional-dependencies]
dev = [
"pre-commit>=3.6.2",
"pytest>=8.0.1",
"types-Flask-Cors>=4.0.0.20240523",
"mypy>=1.10.0",
"types-beautifulsoup4>=4.12.0.20240511",
"types-requests>=2.32.0.20240602",
"sqlalchemy2-stubs>=0.0.2a38",
]
[build-system]
requires = ["pdm-backend"]
build-backend = "pdm.backend"
[tool.pdm]
distribution = true
[project.scripts]
fetch-directors = "letsrolld.cmd.fetch_directors:main"
populate-directors = "letsrolld.cmd.populate_directors:main"
update-directors = "letsrolld.cmd.update:directors_main"
dump-directors = "letsrolld.cmd.dump_directors:main"
update-films = "letsrolld.cmd.update:films_main"
update-offers = "letsrolld.cmd.update:offers_main"
update-services = "letsrolld.cmd.update:services_main"
cleanup = "letsrolld.cmd.cleanup:main"
# webapi
webapp = "letsrolld.webapi.app:main"
lcli = "letsrolld.webcli.cli:cli"
swagger = "letsrolld.webapi.app:swagger_json"
[[tool.mypy.overrides]]
module = [
"flask_restful_swagger_3",
"simplejustwatchapi"
]
ignore_missing_imports = true
[tool.mypy]
disable_error_code = ["import-not-found", "import-untyped"]
exclude = [
"alembic/env.py",
"src/letsrolld/db/models.py",
]
# honor excludes by not following there through imports
follow_imports = "silent"
[tool.ruff]
exclude = [
"letsrolld-api-client/",
]