[project] name = "decman" version = "1.0.0" description = "Declarative package & configuration manager for Arch Linux." license = {file = "LICENSE"} authors = [ {name = "Kivi Kaitaniemi"} ] requires-python = ">=3.13" [project.optional-dependencies] pacman = ["decman-pacman"] systemd = ["decman-systemd"] flatpak = ["decman-flatpak"] [project.scripts] decman = "decman.app:main" [dependency-groups] dev = [ "ruff>=0.14.9", "pytest>=8.4.2", ] [build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [tool.uv.workspace] members = [ "plugins/decman-pacman", "plugins/decman-systemd", "plugins/decman-flatpak", ] [tool.uv.sources] decman = { workspace = true } decman-pacman = { workspace = true } decman-systemd = { workspace = true } decman-flatpak = { workspace = true } [tool.pytest.ini_options] testpaths = ["tests"] [tool.ruff] line-length = 100 target-version = "py313" [tool.ruff.lint] select = [ "E", "F", "W", # base style/errors "I", # import sorting "B", # bugbear ] [tool.ruff.format] quote-style = "double" indent-style = "space" skip-magic-trailing-comma = false