-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathpyproject.toml
113 lines (100 loc) · 2.51 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
110
111
112
113
[tool.poetry]
name = "diffsync"
version = "2.0.1"
description = "Library to easily sync/diff/update 2 different data sources"
authors = ["Network to Code, LLC <[email protected]>"]
license = "Apache-2.0"
readme = "README.md"
homepage = "https://diffsync.readthedocs.io"
repository = "https://github.com/networktocode/diffsync"
documentation = "https://diffsync.readthedocs.io"
keywords = ["source-of-truth", "synchronization"]
include = [
"CHANGELOG.md",
"LICENSE",
"README.md",
]
[tool.poetry.dependencies]
python = ">=3.8,<4.0"
pydantic = "^2.0.0"
structlog = ">= 20.1.0"
packaging = ">= 21.3, < 24.0"
colorama = {version = "^0.4.3", optional = true}
redis = {version = "^4.3", optional = true}
# typing.Self introduced in 3.11
typing-extensions = { version = ">=4.0.1", python = "<3.11" }
[tool.poetry.extras]
redis = ["redis"]
[tool.poetry.group.dev.dependencies]
pytest = "*"
pyyaml = ">= 6.0.1"
black = "*"
pylint = "*"
pydocstyle = "*"
yamllint = "*"
bandit = "*"
invoke = "*"
flake8 = "*"
mypy = "*"
pytest-cov = "*"
pytest-structlog = "*"
coverage = {extras = ["toml"], version = "*"}
Sphinx = "^6.0.0"
m2r2 = "*"
sphinx-rtd-theme = "*"
toml = "*"
types-toml = "*"
types-redis = "*"
pytest-redis = "^2.4.0"
types-requests = "^2.28.11.15"
types-python-slugify = "^8.0.0.1"
[tool.black]
line-length = 120
include = '\.pyi?$'
exclude = '''
/(
\.git
| \.tox
| \.venv
| env/
| _build
| build
| dist
)/
'''
[tool.coverage.run]
branch = true
[tool.pylint.general]
extension-pkg-whitelist = [
"pydantic"
]
[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,
bad-continuation,
"""
[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]
# There's a lot of duplicate code in the examples/backend_*.py files - don't complain about it for now
min-similarity-lines = 20
[tool.pytest.ini_options]
testpaths = [
"tests"
]
[tool.mypy]
warn_unused_configs = true
disallow_untyped_defs = true
ignore_missing_imports = true
[build-system]
requires = ["poetry_core>=1.0.8"]
build-backend = "poetry.core.masonry.api"