[build-system] requires = ["flit_core"] build-backend = "flit_core.buildapi" [project] name = "ahriman" description = "ArcH linux ReposItory MANager" readme = "README.md" # Actually we are using features from the latest python, however, ubuntu, which is used for CI doesn't have it requires-python = ">=3" license = {file = "COPYING"} authors = [ {name = "ahriman team"}, ] dependencies = [ "bcrypt", "inflection", "pyelftools", "requests", ] dynamic = ["version"] [project.urls] Documentation = "https://ahriman.readthedocs.io/" Repository = "https://github.com/arcan1s/ahriman" Changelog = "https://github.com/arcan1s/ahriman/releases" [project.scripts] ahriman = "ahriman.application.ahriman:run" [project.optional-dependencies] check = [ "autopep8", "bandit", "mypy", "pylint", ] docs = [ "Sphinx", "argparse-manpage", "pydeps", "shtab", "sphinx-argparse", "sphinx-rtd-theme>=1.1.1", # https://stackoverflow.com/a/74355734 ] journald = [ "systemd-python", ] # FIXME technically this dependency is required, but in some cases we do not have access to # the libalpm which is required in order to install the package. Thus in case if we do not # really need to run the application we can move it to "optional" dependencies pacman = [ "pyalpm", ] s3 = [ "boto3", ] stats = [ "matplotlib", ] tests = [ "pytest", "pytest-aiohttp", "pytest-cov", "pytest-helpers-namespace", "pytest-mock", "pytest-resource-path", "pytest-spec", ] validator = [ "cerberus", ] web = [ "Jinja2", "aioauth-client", "aiohttp", "aiohttp-apispec", "aiohttp_cors", "aiohttp_jinja2", "aiohttp_session", "aiohttp_security", "cryptography", "requests-unixsocket2", # required by unix socket support "setuptools", # required by aiohttp-apispec ] [tool.flit.sdist] include = [ "AUTHORS", "CONTRIBUTING.md", "SECURITY.md", "package", "subpackages.py", "web.png", ] exclude = [ "package/archlinux", ] [tool.flit.external-data] directory = "package"