1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
[build-system]
requires = ["flit_core >=3.8,<4"]
build-backend = "flit_core.buildapi"
[project]
name = "wheel"
description = "Command line tool for manipulating wheel files"
readme = "README.rst"
license = "MIT"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Topic :: System :: Archiving :: Packaging",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
authors = [{name = "Daniel Holth", email = "dholth@fastmail.fm"}]
maintainers = [{name = "Alex Grönholm", email = "alex.gronholm@nextday.fi"}]
keywords = ["wheel", "packaging"]
requires-python = ">=3.9"
dependencies = [
"packaging >= 24.0"
]
dynamic = ["version"]
[project.urls]
Documentation = "https://wheel.readthedocs.io/"
Changelog = "https://wheel.readthedocs.io/en/stable/news.html"
"Issue Tracker" = "https://github.com/pypa/wheel/issues"
Source = "https://github.com/pypa/wheel"
[project.scripts]
wheel = "wheel._commands:main"
[project.optional-dependencies]
test = [
"pytest >= 6.0.0",
"setuptools >= 77",
]
[tool.flit.sdist]
include = [
"LICENSE*",
"docs/**/*.py",
"docs/**/*.rst",
"docs/Makefile",
"docs/make.bat",
"manpages/*.rst",
"tests/**/*.py",
"tests/**/*.txt",
"tests/**/*.c",
"tests/**/*.h",
"tests/**/*.cfg",
"tests/testdata/macosx_minimal_system_version/*.dylib",
"tests/testdata/test-1.0-py2.py3-none-any.whl",
]
exclude = [
".github/**",
".gitignore",
".pre-commit-config.yaml",
".readthedocs.yml",
"**/__pycache__",
]
[tool.pytest.ini_options]
minversion = "6.0"
addopts = ["-rsfE", "--tb=short", "--strict-markers", "--strict-config"]
xfail_strict = true
filterwarnings = [
"error",
"ignore::Warning:_pytest.*",
]
log_cli_level = "info"
testpaths = ["test"]
[tool.coverage.run]
source = ["wheel"]
[tool.coverage.report]
show_missing = true
exclude_also = [
"@abstractmethod",
"@overload",
"if TYPE_CHECKING:",
]
[tool.ruff.lint]
extend-select = [
"ANN", # flake8-annotations
"B", # flake8-bugbear
"G", # flake8-logging-format
"I", # isort
"ISC", # flake8-implicit-str-concat
"PGH", # pygrep-hooks
"RUF100", # unused noqa (yesqa)
"UP", # pyupgrade
"W", # pycodestyle warnings
]
[tool.ruff.lint.extend-per-file-ignores]
"tests/commands/test_convert.py" = ["W293"]
"src/wheel/macosx_libfile.py" = ["ANN201"]
[tool.ruff.lint.flake8-annotations]
mypy-init-return = true
# Tox (https://tox.wiki/) is a tool for running tests in multiple virtualenvs.
# This configuration file will run the test suite on all supported python
# versions. To use it, "pipx install tox" and then run "tox" from this
# directory.
[tool.tox]
env_list = ["py39", "py310", "py311", "py312", "py313", "py314", "pypy3", "lint", "pkg"]
skip_missing_interpreters = true
[tool.tox.env_run_base]
depends = ["lint"]
package = "wheel"
commands = [["{envpython}", "-m", "pytest", { replace = "posargs", extend = true }]]
extras = ["test"]
set_env = { PYTHONWARNDEFAULTENCODING = "1" }
[tool.tox.env.lint]
depends = []
deps = ["pre-commit"]
package = "skip"
commands = [["{envpython}", "-m", "pre_commit", "run", "-a"]]
[tool.tox.env.pkg]
deps = ["build", "flit >= 3.8"]
commands = [["{envpython}", "-m", "pytest", "tests/test_sdist.py", { replace = "posargs", extend = true }]]
|