-
-
Notifications
You must be signed in to change notification settings - Fork 8
/
pyproject.toml
109 lines (95 loc) · 3.08 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
[tool.poetry]
name = "dbt-af"
# note that this version is maintained by the release manager - do not update it manually
version = "0.11.0"
description = "Distibuted dbt runs on Apache Airflow"
authors = [
"Nikita Yurasov <[email protected]>",
"Igor Safonov <[email protected]>",
"Evgeny Ermakov <[email protected]>",
"Leonid Kozhinov <[email protected]>",
]
readme = "README.md"
license = "Apache-2.0"
homepage = "https://github.com/Toloka/dbt-af"
repository = "https://github.com/Toloka/dbt-af"
documentation = "https://github.com/Toloka/dbt-af/blob/main/examples/README.md"
keywords = ["python", "airflow", "dbt"]
packages = [
{ include = "dbt_af" },
{ include = "dbt_af_functional_tests" },
{ include = "scripts" },
]
[tool.poetry.dependencies]
python = ">=3.10,<3.12"
attrs = ">=23.1"
apache-airflow = ">=2.6"
apache-airflow-providers-cncf-kubernetes = ">=7.0.0"
pydantic = ">=1.10,<3.0.0"
cachetools = "^5.3"
croniter = ">=3.0"
typer = "~0.9"
dbt-core = "^1.7"
# tests extra
pytest = { version = "*", optional = true }
pytest-env = { version = "*", optional = true }
pytest-socket = { version = "*", optional = true }
pytest-mock = { version = "*", optional = true }
# mcd extra
airflow-mcd = { version = "^0.3.3", optional = true }
pycarlo = { version = ">=0.9", optional = true }
# tableau extra
tableauserverclient = { version = "^0.25", optional = true }
# examples extra
dbt-postgres = { version = "^1.7", optional = true }
[tool.poetry.group.dev.dependencies]
ruff = "^0.3"
pytest = "^8"
pytest-env = "*"
pytest-cov = "~4.1"
pytest-socket = "*"
pytest-mock = "*"
dbt-postgres = "^1.7"
psycopg2-binary = { version = "^2.9", markers = "sys_platform == 'linux'" } # due to bug https://github.com/dbt-labs/dbt-postgres/issues/96
dbt-databricks = "^1.7"
pre-commit = "3.6.2"
ipython = "^8"
[tool.poetry.extras]
mcd = ["airflow-mcd", "pycarlo"]
tests = ["pytest", "pytest-env", "pytest-socket", "pytest-mock"]
minidbt = []
examples = ["dbt-postgres", "psycopg2-binary"]
tableau = ["tableauserverclient"]
all = [
"airflow-mcd", "pycarlo", # mcd
"pytest", "pytest-env", "pytest-socket", "pytest-mock", # tests
"dbt-postgres", "psycopg2-binary", # examples
"tableauserverclient", # tableau
]
[tool.poetry.scripts]
dbt-af-manifest-tests = { callable = "dbt_af_functional_tests:cli", extras = ["tests", "all"] }
mini_dbt_project_generator = { callable = "scripts.mini_dbt_project_generator:cli", extras = ["minidbt", "all"] }
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
# https://beta.ruff.rs/docs
line-length = 120
lint.select = [
# https://beta.ruff.rs/docs/rules
"F", # pyflakes
"E", # pycodestyle (errors)
"W", # pycodestyle (warnings) eg. trailing/leading whitespaces
"Q", # quotes
"I001", # unsorted imports (isort)
"TID", # tidy-imports
]
[tool.ruff.lint.flake8-quotes]
inline-quotes = "single"
[tool.ruff.lint.flake8-tidy-imports]
ban-relative-imports = "all"
[tool.ruff.lint.isort]
# https://beta.ruff.rs/docs/settings/#isort
[tool.ruff.format]
quote-style = "single"
docstring-code-format = true