-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
123 lines (108 loc) · 3.52 KB
/
pyproject.toml
File metadata and controls
123 lines (108 loc) · 3.52 KB
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
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2025 Marcin Zieba <marcinpsk@gmail.com>
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project]
name = "netbox-interface-name-rules"
version = "1.3.0"
description = "NetBox plugin for automatic interface renaming when modules are installed"
readme = "README.md"
requires-python = ">=3.12.0"
license = "Apache-2.0"
authors = [
{name = "Marcin Zieba"},
]
keywords = [
"netbox",
"plugin",
"dcim",
"interface",
"naming",
"modules",
"transceiver",
"automation",
]
dependencies = []
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Framework :: Django",
"Environment :: Plugins",
"Topic :: System :: Networking",
]
[project.urls]
Homepage = "https://marcinpsk.github.io/netbox-InterfaceNameRules-plugin/"
Repository = "https://github.com/marcinpsk/netbox-InterfaceNameRules-plugin"
Issues = "https://github.com/marcinpsk/netbox-InterfaceNameRules-plugin/issues"
Documentation = "https://marcinpsk.github.io/netbox-InterfaceNameRules-plugin/"
Changelog = "https://github.com/marcinpsk/netbox-InterfaceNameRules-plugin/blob/main/CHANGELOG.md"
[tool.setuptools.packages.find]
include = ["netbox_interface_name_rules*"]
[tool.setuptools.package-data]
netbox_interface_name_rules = ["templates/**/*", "static/**/*"]
[dependency-groups]
dev = [
"build",
"reuse",
"ruff",
"pre-commit",
"pytest",
"pytest-django",
"pytest-cov>=6.0",
"python-semantic-release",
"django>=5.1,<7.0",
]
docs = [
"mkdocs>=1,<2",
"mkdocs-material>=9,<10",
]
[tool.pytest.ini_options]
pythonpath = ["/opt/netbox/netbox"]
[tool.ruff]
line-length = 120
[tool.ruff.lint]
select = ["E", "F", "W", "D", "C901", "I", "RET", "UP"]
ignore = [
"E501", # line too long (handled by formatter)
"F403", # star imports
"F405", # may be undefined from star import
"D100", # missing docstring in public module
"D104", # missing docstring in public package
"D105", # missing docstring in magic method
"D106", # missing docstring in public nested class (Django Meta, etc.)
"D107", # missing docstring in __init__
"D203", # 1 blank line before class docstring (conflicts with D211)
"D213", # multi-line summary second line (conflicts with D212)
]
[tool.ruff.lint.mccabe]
# Flag errors (`C901`) whenever the complexity level exceeds 15.
max-complexity = 15
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401"]
"*/migrations/*.py" = ["D"]
"*/tests/*.py" = ["D"]
".devcontainer/**" = ["D"]
".devcontainer/scripts/test-e2e.py" = ["C901"]
".devcontainer/scripts/load-sample-data.py" = ["C901"]
[tool.coverage.run]
source = ["netbox_interface_name_rules"]
omit = ["*/migrations/*", "*/tests/*"]
[tool.coverage.report]
fail_under = 97
show_missing = true
[tool.semantic_release]
version_toml = ["pyproject.toml:project.version"]
version_variables = ["netbox_interface_name_rules/__init__.py:__version__"]
branch = "main"
commit_message = "chore(release): {version}\n\nAutomatically generated by python-semantic-release"
build_command = "python -m build"
upload_to_vcs_release = true
[tool.semantic_release.changelog.default_templates]
changelog_file = "CHANGELOG.md"
[tool.semantic_release.commit_parser_options]
allowed_tags = ["feat", "fix", "docs", "style", "refactor", "perf", "test", "build", "ci", "chore", "revert"]
minor_tags = ["feat"]
patch_tags = ["fix", "perf"]
parse_squash_commits = false