-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
112 lines (95 loc) · 3.03 KB
/
Copy pathpyproject.toml
File metadata and controls
112 lines (95 loc) · 3.03 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
[project]
name = "borg-mcp"
dynamic = ["version"]
authors = [{name="The Borg Collective (see AUTHORS file)"}]
maintainers = [
{name="Thomas Waldmann", email="tw@waldmann-edv.de"},
]
description = "Read-only MCP server for BorgBackup operational status"
requires-python = ">=3.11"
keywords = ["backup", "borgbackup", "mcp", "monitoring"]
classifiers = [
"Development Status :: 3 - Alpha",
"Environment :: Console",
"Intended Audience :: System Administrators",
"Operating System :: MacOS :: MacOS X",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
"Topic :: System :: Archiving :: Backup",
]
license = "BSD-3-Clause"
license-files = ["LICENSE", "AUTHORS"]
dependencies = [
"mcp >=2.0.0, <3",
]
[project.urls]
"Homepage" = "https://github.com/borgbackup/borg-mcp"
"Bug Tracker" = "https://github.com/borgbackup/borg-mcp/issues"
"Repository" = "https://github.com/borgbackup/borg-mcp"
[project.scripts]
borg-mcp = "borg_mcp.cli:main"
[tool.setuptools.packages.find]
where = ["src"]
[build-system]
requires = ["setuptools>=78.1.1", "wheel", "setuptools-scm[toml]"]
build-backend = "setuptools.build_meta"
[tool.setuptools_scm]
write_to = "src/borg_mcp/_version.py"
write_to_template = "__version__ = version = {version!r}\n"
tag.strict = false
fallback_version = "0.1.dev0"
[tool.black]
line-length = 120
skip-magic-trailing-comma = true
target-version = ["py311"]
[tool.ruff]
line-length = 120
target-version = "py311"
exclude = [".git", ".mypy_cache", ".ruff_cache", ".tox", ".venv", "build", "dist"]
[tool.ruff.lint]
select = ["E", "F"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
markers = [
"integration: needs a real borg2 binary (skipped if not available)",
]
[tool.mypy]
python_version = "3.11"
strict_optional = false
local_partial_types = true
show_error_codes = true
files = "src/borg_mcp/**/*.py"
[tool.bandit]
exclude_dirs = [".git", ".mypy_cache", ".ruff_cache", ".tox", ".venv", "build", "dist", "tests"]
skips = [
"B101", # asserts are only used to narrow types, not to enforce anything
"B404", # do not warn about just import subprocess - running borg is what we do
]
[tool.tox]
requires = ["tox>=4.19"]
env_list = ["py{311,315}", "black", "ruff", "mypy", "bandit"]
[tool.tox.env_run_base]
deps = ["pytest", "pytest-asyncio"]
commands = [["python", "-m", "pytest", "-v", "-rs", "{posargs:tests}"]]
pass_env = ["BORG_MCP_TEST_BORG"]
[tool.tox.env.black]
skip_install = true
deps = ["black"]
commands = [["black", "--check", "."]]
[tool.tox.env.ruff]
skip_install = true
deps = ["ruff"]
commands = [["ruff", "check", "."]]
[tool.tox.env.mypy]
deps = ["mypy", "pytest"]
commands = [["mypy"]]
[tool.tox.env.bandit]
skip_install = true
deps = ["bandit[toml]"]
commands = [["bandit", "-r", "src/borg_mcp", "-c", "pyproject.toml"]]