-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
79 lines (67 loc) · 2.1 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
[tool.poetry]
name = "stairlight"
version = "0.9.2"
description = "Data lineage tool"
authors = ["tosh2230 <rev.to12@gmail.com>"]
license = "MIT"
readme = "README.md"
packages = [
{ include = "src/stairlight" }
]
[tool.poetry.dependencies]
python = ">=3.8,<4"
PyYAML = { version = "!=6.0.0,!=5.4.0,!=5.4.1" }
Jinja2 = ">=2.10.3"
# For unit tests
boto3-stubs = {version = ">=1.24.17", extras = ["s3"]}
# optional dependencies
boto3 = { version = ">=1.24.14", optional = true }
dbt-adapters = { version = "~1.1.1", optional = true }
dbt-bigquery = { version = ">=1.8", optional = true }
dbt-core = { version = ">=1.8", optional = true }
google-cloud-bigquery = { version = ">=3.0", optional = true }
google-cloud-storage = { version = ">=2.0", optional = true }
protobuf = { version = ">=3.20.2", optional = true }
psycopg2 = { version = ">=2.9.3", optional = true }
rsa = { version = ">=4.7", optional = true }
SQLAlchemy = { version = ">=2.0", optional = true }
# To avoid not in poetry.lock metadata
networkx = { version = ">=2.3,<2.8.1", optional = true }
[tool.poetry.extras]
dbt-bigquery = ["dbt-adapters", "dbt-core", "dbt-bigquery", "google-cloud-bigquery", "protobuf", "networkx", "rsa"]
gcs = ["google-cloud-storage", "protobuf", "rsa"]
redash = ["psycopg2", "SQLAlchemy"]
s3 = ["boto3", "boto3-stubs"]
[tool.poetry.dev-dependencies]
black = ">=22.3.0"
flake8 = ">=4.0.1"
isort = ">=5.9.3"
moto = {extras = ["s3"], version = ">=3.1.16"}
mypy = ">=0.961"
pytest = ">=7.2.0"
pytest-cov = ">=4.0.0"
pytest-mock = ">=3.8.1"
types-PyYAML = ">=6.0.8"
[tool.poetry.scripts]
stairlight = "src.stairlight.cli:main"
[tool.black]
line-length = 88
[tool.isort]
profile = "black"
line_length = 88
[tool.mypy]
check_untyped_defs = true
ignore_missing_imports = true
no_strict_optional = true
namespace_packages = true
explicit_package_bases = true
[tool.pytest.ini_options]
addopts = "-rsxX -l --strict-markers"
norecursedirs = "*.egg .* _darcs build CVS dist node_modules venv {arch} img scripts src"
xfail_strict = true
markers = [
"integration"
]
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"