[build-system] requires = [ "hatchling", ] build-backend = "hatchling.build" [project] name = "ahriman" description = "ArcH linux ReposItory MANager" readme = "README.md" requires-python = ">=3.13" license = { file = "COPYING" } authors = [ { name = "ahriman team" }, ] dependencies = [ "ahriman-core", "ahriman-triggers", "ahriman-web", ] dynamic = [ "version", ] [project.urls] Documentation = "https://ahriman.readthedocs.io/" Repository = "https://github.com/arcan1s/ahriman" Changelog = "https://github.com/arcan1s/ahriman/releases" [dependency-groups] check = [ "autopep8", "bandit", "mypy", "pylint", ] docs = [ "ahriman-core[s3,validator]", "Sphinx", "argparse-manpage", "pydeps", "shtab", "sphinx-argparse", "sphinx-rtd-theme>=1.1.1", # https://stackoverflow.com/a/74355734 ] tests = [ "pytest", "pytest-aiohttp", "pytest-cov", "pytest-helpers-namespace", "pytest-mock", "pytest-resource-path", "pytest-spec", ] [tool.hatch.build.targets.sdist] exclude = [ "/.github", "/archlinux", "/docker", "/docs", "/recipes", "/tools", "tests", "/.bandit.yml", "/.dockerignore", "/.pylint.toml", "/.readthedocs.yml", "/conftest.py", "/github-logo.png", "/tox.toml", "/toxfile.py", "/web.png", ] [tool.hatch.build.targets.wheel] bypass-selection = true [tool.hatch.envs.default] workspace.members = [ { path = "ahriman-core" }, { path = "ahriman-triggers" }, { path = "ahriman-web" }, ] [tool.hatch.version] path = "ahriman-core/src/ahriman/__init__.py" [tool.uv.sources] ahriman-core = { workspace = true } ahriman-triggers = { workspace = true } ahriman-web = { workspace = true } [tool.uv.workspace] members = [ "ahriman-core", "ahriman-triggers", "ahriman-web", ]