|
| 1 | +[build-system] |
| 2 | +build-backend = "setuptools.build_meta" |
| 3 | +requires = ["setuptools"] |
| 4 | + |
| 5 | +[project] |
| 6 | +authors = [ |
| 7 | + { name = "ticdenis", email = "navarrodenis940503@outlook.com" }, |
| 8 | +] |
| 9 | +maintainers = [ |
| 10 | + { name = "ticdenis", email = "navarrodenis940503@outlook.com" } |
| 11 | +] |
| 12 | +classifiers = [ |
| 13 | + "Intended Audience :: Information Technology", |
| 14 | + "Intended Audience :: System Administrators", |
| 15 | + "Operating System :: OS Independent", |
| 16 | + "Programming Language :: Python :: 3", |
| 17 | + "Programming Language :: Python", |
| 18 | + "Topic :: Software Development :: Libraries :: Python Modules", |
| 19 | + "Topic :: Software Development :: Libraries", |
| 20 | + "Topic :: Software Development", |
| 21 | + "Typing :: Typed", |
| 22 | + "Development Status :: 4 - Beta", |
| 23 | + "Intended Audience :: Developers", |
| 24 | + "License :: OSI Approved :: MIT License", |
| 25 | + "Programming Language :: Python :: 3 :: Only", |
| 26 | + "Programming Language :: Python :: 3.13", |
| 27 | + "Programming Language :: Python :: 3.14", |
| 28 | +] |
| 29 | +dependencies = [] |
| 30 | +description = "uvtask is a modern, fast, and flexible Python task runner and test automation tool designed to simplify development workflows. It supports running, organizing, and managing tasks or tests in Python projects with an emphasis on ease of use and speed." |
| 31 | +dynamic = ["version"] |
| 32 | +keywords = [ |
| 33 | + "uv", |
| 34 | + "uvx", |
| 35 | + "scripts", |
| 36 | + "tool", |
| 37 | + "pyproject", |
| 38 | + "task", |
| 39 | + "runner", |
| 40 | +] |
| 41 | +license = { text = "MIT" } |
| 42 | +name = "uvtask" |
| 43 | +readme = "README.md" |
| 44 | +requires-python = ">=3.13" |
| 45 | + |
| 46 | +[dependency-groups] |
| 47 | +dev = [ |
| 48 | + "bandit>=1.9.2", |
| 49 | + "pip-licenses>=5.5.0", |
| 50 | + "ruff>=0.14.10", |
| 51 | + "setuptools>=80.9.0", |
| 52 | + "twine>=6.2.0", |
| 53 | + "ty>=0.0.4", |
| 54 | +] |
| 55 | + |
| 56 | +[project.urls] |
| 57 | +"documentation" = "https://aiopy.github.io/python-uvtask/" |
| 58 | +"repository" = "https://github.com/aiopy/python-uvtask" |
| 59 | + |
| 60 | +[tool.setuptools.dynamic] |
| 61 | +version = { attr = "uvtask.__version__" } |
| 62 | + |
| 63 | +[tool.setuptools.packages.find] |
| 64 | +include = ["uvtask*"] |
| 65 | + |
| 66 | +[tool.setuptools.package-data] |
| 67 | +"uvtask" = ["py.typed"] |
| 68 | + |
| 69 | +[[tool.uv.index]] |
| 70 | +url = "https://pypi.org/simple" |
| 71 | + |
| 72 | +[tool.bandit] |
| 73 | +exclude_dirs = ["tests"] |
| 74 | +skips = ["B404", "B602"] |
| 75 | + |
| 76 | +[tool.pip-licenses] |
| 77 | +allow-only = "Apache;BSD;MIT" |
| 78 | +ignore-packages = [ |
| 79 | +] |
| 80 | +partial-match = true |
| 81 | + |
| 82 | +[tool.ruff] |
| 83 | +cache-dir = "var/ruff" |
| 84 | +line-length = 140 |
| 85 | +target-version = "py313" |
| 86 | +respect-gitignore = true |
| 87 | +fix = true |
| 88 | +lint.select = [ |
| 89 | + "E", # pycodestyle errors |
| 90 | + "F", # pyflakes |
| 91 | + "W", # pycodestyle warnings |
| 92 | + "I", # isort |
| 93 | + "C90", # mccabe |
| 94 | + "N", # pep8-naming |
| 95 | + "PL", # pylint |
| 96 | + "RUF", # ruff-specific |
| 97 | +] |
| 98 | +lint.ignore = [ |
| 99 | +] |
| 100 | + |
| 101 | +[tool.ruff.format] |
| 102 | +quote-style = "preserve" |
| 103 | +indent-style = "space" |
| 104 | +skip-magic-trailing-comma = false |
| 105 | +line-ending = "auto" |
| 106 | + |
| 107 | +[tool.ruff.lint.isort] |
| 108 | +combine-as-imports = true |
| 109 | +force-single-line = false |
| 110 | +known-first-party = ["uvtask"] |
| 111 | + |
| 112 | +[tool.ruff.lint.mccabe] |
| 113 | +max-complexity = 15 |
| 114 | + |
| 115 | +[tool.ty.environment] |
| 116 | +python-version = "3.13" |
| 117 | + |
| 118 | +[tool.ty.src] |
| 119 | +exclude = [ |
| 120 | + "tests/fixtures/**", |
| 121 | + "var", |
| 122 | +] |
| 123 | + |
| 124 | +[tool.run-script] |
| 125 | +install = "uv sync --frozen --no-dev" |
| 126 | +upgrade-install = "uv sync --frozen --no-dev --upgrade --refresh" |
| 127 | +dev-install = "uv sync --dev --all-extras" |
| 128 | +upgrade-dev-install = "uv sync --dev --all-extras --upgrade --refresh" |
| 129 | +deploy = "uv build && uv publish" |
| 130 | +docs = "python3 -m mkdocs build -f docs_src/config/en/mkdocs.yml && python3 -m mkdocs build -f docs_src/config/es/mkdocs.yml" |
| 131 | +dev-docs = "python3 -m mkdocs serve -f docs_src/config/en/mkdocs.yml" |
| 132 | +code-formatter = "uv run ruff format uvtask tests $@" |
| 133 | +"security-analysis:licenses" = "uv run pip-licenses" |
| 134 | +"security-analysis:vulnerabilities" = "uv run bandit -r -c pyproject.toml uvtask tests" |
| 135 | +"static-analysis:linter" = "uv run ruff check uvtask tests" |
| 136 | +"static-analysis:types" = "uv run ty check uvtask tests" |
| 137 | +clean = """python3 -c \" |
| 138 | +from glob import iglob |
| 139 | +from shutil import rmtree |
| 140 | +
|
| 141 | +for pathname in ['./build', './*.egg-info', './dist', './var', '**/__pycache__']: |
| 142 | + for path in iglob(pathname, recursive=True): |
| 143 | + rmtree(path, ignore_errors=True) |
| 144 | +\"""" |
| 145 | + |
| 146 | +[project.scripts] |
| 147 | +uvtask = "uvtask.cli:main" |
| 148 | +run = "uvtask.cli:main" |
| 149 | +run-script = "uvtask.cli:main" |
0 commit comments