-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpyproject.toml
104 lines (93 loc) · 2.74 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
[tool.poetry]
name = "dblinter"
version = "0.0.0"
description = "A static analysis tool for postgresql databases"
authors = [
"Stephane Defenin <[email protected]>",
"Pierre-Marie Petit",
"Grégoire Waymel",
"DBRE awesome contributors"
]
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/decathlon/dblinter"
classifiers = [
'Topic :: Utilities',
'Topic :: Software Development :: Quality Assurance',
'Topic :: Software Development :: Testing',
'Topic :: Software Development :: Build Tools',
'Programming Language :: Python :: 3.12',
'License :: OSI Approved :: Apache Software License',
'Operating System :: OS Independent',
'Intended Audience :: Developers',
]
keywords = ["postgresql", "static analysis", "sonar", "sarif", "code quality", "sql", "database"]
[tool.poetry.dependencies]
python = "^3.12"
rich = "^12.6.0"
typer = "*"
psycopg2-binary = "^2.9.5"
google-cloud-storage = "^2.7.0"
pyyaml = "^6.0"
sarif-om = "^1.0.4"
# sqlalchemmy and greenlet are required by testcontainers-python for some exceptions
# https://testcontainers-python.readthedocs.io/en/latest/core/README.html
sqlalchemy = "^1.4.46"
greenlet = "^3.0.3"
types-pyyaml = "^6.0.12.3"
jschema-to-python = "^1.2.3"
pydantic = "^2.8.2"
pydantic-yaml = "^1.3.0"
[tool.poetry.group.dev.dependencies]
pylint = "^3.2"
black = "^24.8"
isort = "^5.10"
pytest = "^7.2"
pytest-mock = "^3.10"
freezegun = "^1.2"
pep8-naming = "^0.13"
testcontainers = "^3.7.1"
pytest-cov = "^4.0.0"
pre-commit = "^3.0.0"
ruff = "^0.0.284"
[tool.poetry.scripts]
dblinter = "dblinter.__main__:cli"
[tool.pytest.ini_options]
addopts = ""
filterwarnings = [
# ignore deprecation warnings from setuptools required by typer
"ignore:Deprecated call to `pkg_resources\\.declare_namespace\\('.*'\\):DeprecationWarning",
"ignore:pkg_resources is deprecated as an API\\.\\('.*'\\):DeprecationWarning",
]
[tool.isort]
profile = "black"
[tool.ruff]
ignore = ["B008", "C901", "E203", "E266", "E501"]
select = ["B","C","E","F","W"]
[tool.pylint]
max-line-length=120
[tool.pylint.'MESSAGES CONTROL']
disable=[
"line-too-long",
"too-many-arguments",
"too-many-locals",
"too-many-branches",
"attribute-defined-outside-init",
"invalid-name",
"missing-class-docstring",
"missing-module-docstring",
"missing-function-docstring",
"duplicate-code",
"import-error",
# sarif_om generate unsubscriptable-objecte error. This is fixed by this pull request:
# https://github.com/microsoft/sarif-python-om/pull/6/ not yet released
"unsubscriptable-object"
]
notes=[
"fixme",
"missing-function-docstring"
]
extension-pkg-whitelist = "pydantic"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry-core.masonry.api"