/ pyproject.toml
pyproject.toml
1 [build-system] 2 requires = ["pdm-backend"] 3 build-backend = "pdm.backend" 4 5 [project] 6 name = "aria2p" 7 description = "Command-line tool and library to interact with an aria2c daemon process with JSON-RPC." 8 authors = [{name = "Timothée Mazzucotelli", email = "dev@pawamoy.fr"}] 9 license = {text = "ISC"} 10 readme = "README.md" 11 requires-python = ">=3.9" 12 keywords = ["aria2", "aria2c", "aria2-cli"] 13 dynamic = ["version"] 14 classifiers = [ 15 "Development Status :: 4 - Beta", 16 "Intended Audience :: Developers", 17 "Programming Language :: Python", 18 "Programming Language :: Python :: 3", 19 "Programming Language :: Python :: 3 :: Only", 20 "Programming Language :: Python :: 3.9", 21 "Programming Language :: Python :: 3.10", 22 "Programming Language :: Python :: 3.11", 23 "Programming Language :: Python :: 3.12", 24 "Programming Language :: Python :: 3.13", 25 "Programming Language :: Python :: 3.14", 26 "Topic :: Software Development", 27 "Topic :: Utilities", 28 "Typing :: Typed", 29 ] 30 dependencies = [ 31 "loguru>=0.5", 32 "platformdirs>=4.2", 33 "requests>=2.19", 34 "tomli>=2.0; python_version < '3.11'", 35 "websocket-client>=0.58", 36 ] 37 38 [project.optional-dependencies] 39 tui = [ 40 "asciimatics>=1.13", 41 "pyperclip>=1.8", 42 ] 43 44 [project.urls] 45 Homepage = "https://pawamoy.github.io/aria2p" 46 Documentation = "https://pawamoy.github.io/aria2p" 47 Changelog = "https://pawamoy.github.io/aria2p/changelog" 48 Repository = "https://github.com/pawamoy/aria2p" 49 Issues = "https://github.com/pawamoy/aria2p/issues" 50 Discussions = "https://github.com/pawamoy/aria2p/discussions" 51 Gitter = "https://gitter.im/aria2p/community" 52 Funding = "https://github.com/sponsors/pawamoy" 53 54 [project.scripts] 55 aria2p = "aria2p.cli.main:main" 56 57 [tool.pdm.version] 58 source = "call" 59 getter = "scripts.get_version:get_version" 60 61 [tool.pdm.build] 62 # Include as much as possible in the source distribution, to help redistributors. 63 excludes = ["**/.pytest_cache"] 64 source-includes = [ 65 "config", 66 "docs", 67 "scripts", 68 "share", 69 "tests", 70 "duties.py", 71 "mkdocs.yml", 72 "*.md", 73 "LICENSE", 74 ] 75 76 [tool.pdm.build.wheel-data] 77 # Manual pages can be included in the wheel. 78 # Depending on the installation tool, they will be accessible to users. 79 # pipx supports it, uv does not yet, see https://github.com/astral-sh/uv/issues/4731. 80 data = [ 81 {path = "share/**/*", relative-to = "."}, 82 ] 83 84 [dependency-groups] 85 dev = [ 86 # maintenance 87 "build>=1.2", 88 "git-changelog>=2.5", 89 "twine>=5.1", 90 91 # ci 92 "duty>=1.4", 93 "ruff>=0.4", 94 "pytest>=8.2", 95 "pytest-cov>=5.0", 96 "pytest-randomly>=3.15", 97 "pytest-rerunfailures>=11.1", 98 "pytest-xdist>=3.6", 99 "mypy>=1.10", 100 "types-markdown>=3.6", 101 "types-pyyaml>=6.0", 102 "types-requests>=2.32", 103 "fastapi>=0.100", 104 "psutil>=5.9.5", 105 "responses>=0.23", 106 "uvicorn>=0.23", 107 108 # docs 109 "black>=24.4", 110 "markdown-callouts>=0.4", 111 "markdown-exec>=1.8", 112 "mkdocs>=1.6", 113 "mkdocs-coverage>=1.0", 114 "mkdocs-gen-files>=0.5", 115 "mkdocs-git-revision-date-localized-plugin>=1.2", 116 "mkdocs-literate-nav>=0.6", 117 "mkdocs-material>=9.5", 118 "mkdocs-minify-plugin>=0.8", 119 "mkdocstrings[python]>=0.25", 120 # YORE: EOL 3.10: Remove line. 121 "tomli>=2.0; python_version < '3.11'", 122 ]