-
Notifications
You must be signed in to change notification settings - Fork 12
/
pyproject.toml
125 lines (110 loc) · 3.2 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
114
115
116
117
118
119
120
121
122
123
124
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "nornir_scrapli"
dynamic = [
"version",
"dependencies",
"optional-dependencies",
]
description = "Scrapli's plugin for Nornir"
readme = "README.md"
license = { file = "LICENSE" }
requires-python = ">=3.8"
authors = [
{ name = "Carl Montanari", email = "[email protected]" },
]
classifiers = [
"License :: OSI Approved :: MIT License",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS",
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3 :: Only",
"Topic :: Software Development :: Libraries :: Python Modules",
]
keywords = [
"arista",
"automation",
"cisco",
"eos",
"iosxe",
"iosxr",
"juniper",
"junos",
"netconf",
"network",
"nxos",
"ssh",
"telnet",
]
[project.urls]
Homepage = "https://github.com/scrapli/nornir_scrapli"
Docs = "https://scrapli.github.io/nornir_scrapli/"
[project.entry-points."nornir.plugins.connections"]
scrapli = "nornir_scrapli.connection:ScrapliCore"
scrapli_cfg= "nornir_scrapli.connection:ScrapliConfig"
scrapli_netconf= "nornir_scrapli.connection:ScrapliNetconf"
[tool.setuptools.dynamic]
version = { attr = "nornir_scrapli.__version__" }
dependencies = { file = "requirements.txt" }
optional-dependencies.dev = { file = [
"requirements-dev.txt",
"requirements-genie.txt",
] }
optional-dependencies.docs = { file = "requirements-docs.txt" }
optional-dependencies.genie = { file = "requirements-genie.txt" }
[tool.setuptools.package-data]
nornir_scrapli = [
"py.typed"
]
[tool.coverage.run]
source = [
"nornir_scrapli/"
]
[tool.coverage.report]
sort = "cover"
[tool.black]
line-length = 100
target-version = [
"py311",
]
[tool.pylama]
linters = "mccabe,pycodestyle,pylint"
skip = ".nox/*,build/*,tests/*,venv/*"
[tool.pylama.pycodestyle]
max_line_length = 100
[tool.pylama.pylint]
rcfile = ".pylintrc"
[tool.pydocstyle]
match-dir = "^nornir_scrapli/*"
ignore = "D101,D202,D203,D212,D400,D406,D407,D408,D409,D415"
# D101: missing docstring in public class
# D202: No blank lines allowed after function docstring
# D203: 1 blank line required before class docstring
# D212: Multi-line docstring summary should start at the first line
# D400: First line should end with a period
# D406: Section name should end with a newline
# D407: Missing dashed underline after section
# D408: Section underline should be in the line following the sections name
# D409: Section underline should match the length of its name
# D415: first line should end with a period, question mark, or exclamation point
[tool.isort]
profile = "black"
line_length = 100
multi_line_output = 3
include_trailing_comma = true
known_first_party = "nornir"
known_third_party = "nornir_utils,pytest,scrapli,scrapli_netconf"
[tool.mypy]
python_version = "3.10"
pretty = true
ignore_missing_imports = true
warn_redundant_casts = true
warn_unused_configs = true
strict_optional = true