-
Notifications
You must be signed in to change notification settings - Fork 9
/
pyproject.toml
executable file
·99 lines (88 loc) · 2.15 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
[tool.poetry]
name = "schema-enforcer"
version = "1.3.0"
description = "Tool/Framework for testing structured data against schema definitions"
authors = ["Network to Code, LLC <[email protected]>"]
license = "Apache-2.0"
readme = "README.md"
homepage = "https://github.com/networktocode/schema-enforcer"
repository = "https://github.com/networktocode/schema-enforcer"
include = [
"CHANGELOG.md",
"LICENSE",
"README.md",
]
[tool.poetry.dependencies]
python = "^3.8"
click = "^7.1 || ^8.0"
termcolor = "^1.1"
toml = "^0.10"
"ruamel.yaml" = "^0.16 || ^0.17"
jinja2 = ">=2.11"
jsonref = "^0.2"
pydantic = "^2.0"
rich = ">=9.5"
jsonpointer = "^2.1"
jmespath = "^0.10"
ansible = { version = "^2.10.0", optional = true }
ansible-base = { version = "^2.10.0", optional = true }
jsonschema = {version = "^4.6", extras = ["format-nongpl"]}
pydantic-settings = "^2.1"
[tool.poetry.extras]
ansible = ["ansible"]
ansible-base = ["ansible-base"]
[tool.poetry.dev-dependencies]
pytest = "*"
requests_mock = "*"
pyyaml = "*"
black = "*"
pylint = "*"
pydocstyle = "*"
yamllint = "*"
bandit = "*"
invoke = "*"
toml = "*"
flake8 = "*"
[tool.poetry.scripts]
schema-enforcer = "schema_enforcer.cli:main"
[tool.black]
line-length = 120
include = '\.pyi?$'
exclude = '''
/(
\.git
| \.tox
| \.venv
| env/
| _build
| build
| dist
)/
'''
[tool.pylint.master]
ignore=".venv"
[tool.pylint.basic]
# No docstrings required for private methods (pylint default) or for test_ functions.
no-docstring-rgx="^(_|test_)"
[tool.pylint.messages_control]
# Line length is enforced by Black, so pylint doesn't need to check it.
# Pylint and Black disagree about how to format multi-line arrays; Black wins.
disable = """,
line-too-long,
"""
[tool.pylint.miscellaneous]
# Don't flag TODO as a failure, let us commit with things that still need to be done in the code
notes = """,
FIXME,
XXX,
"""
[tool.pylint.SIMILARITIES]
min-similarity-lines = 15
[tool.pytest.ini_options]
testpaths = [
"tests"
]
addopts = "-vv --doctest-modules"
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"