Configure ruff in pyproject.toml and apply its fixes: modern annotations (X | None, builtin generics, collections.abc), sorted imports, explicit stacklevel in test warnings.
70 lines
1.7 KiB
TOML
70 lines
1.7 KiB
TOML
[build-system]
|
|
requires = ['setuptools>=77']
|
|
build-backend = 'setuptools.build_meta'
|
|
|
|
[project]
|
|
name = "simple_backup"
|
|
dynamic = ["version"]
|
|
description = "Simple backup script that uses rsync to copy files"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
license = "GPL-3.0-or-later"
|
|
license-files = ["LICENSE"]
|
|
authors = [
|
|
{ name = "Daniele Fucini", email = "dfucini@gmail.com" }
|
|
]
|
|
maintainers = [
|
|
{ name = "Daniele Fucini", email = "dfucini@gmail.com" }
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Environment :: Console",
|
|
"Natural Language :: English",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Programming Language :: Python :: 3.14",
|
|
"Topic :: System :: Archiving :: Backup",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
JOURNAL = ["systemd-python"]
|
|
NOTIFICATIONS = ["dbus-python"]
|
|
REMOTE = ["paramiko>=3.2"]
|
|
|
|
[project.urls]
|
|
Homepage = "https://git.shouldnt.work/fuxino/simple_backup"
|
|
|
|
[project.scripts]
|
|
simple_backup = "simple_backup.simple_backup:simple_backup"
|
|
|
|
[tool.setuptools]
|
|
packages = ["simple_backup"]
|
|
|
|
[tool.setuptools.dynamic]
|
|
version = { attr = "simple_backup.__version__" }
|
|
|
|
[tool.mypy]
|
|
files = ["simple_backup", "tests"]
|
|
disallow_untyped_defs = true
|
|
warn_unused_ignores = true
|
|
|
|
# No usable stubs (types-paramiko lags behind paramiko 5)
|
|
[[tool.mypy.overrides]]
|
|
module = ["paramiko", "systemd", "dbus"]
|
|
ignore_missing_imports = true
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "W", "I", "B", "UP"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
# Import the repo copy, not an installed one
|
|
pythonpath = ["."]
|