mirror of
https://github.com/pypa/pip
synced 2023-12-13 21:30:23 +01:00
127 lines
3.5 KiB
TOML
127 lines
3.5 KiB
TOML
[build-system]
|
|
requires = ["setuptools", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[tool.towncrier]
|
|
# For finding the __version__
|
|
package = "pip"
|
|
package_dir = "src"
|
|
# For writing into the correct file
|
|
filename = "NEWS.rst"
|
|
# For finding the news fragments
|
|
directory = "news/"
|
|
|
|
# For rendering properly for this project
|
|
issue_format = "`#{issue} <https://github.com/pypa/pip/issues/{issue}>`_"
|
|
template = "tools/news/template.rst"
|
|
|
|
# Grouping of entries, within our changelog
|
|
type = [
|
|
{ name = "Process", directory = "process", showcontent = true },
|
|
{ name = "Deprecations and Removals", directory = "removal", showcontent = true },
|
|
{ name = "Features", directory = "feature", showcontent = true },
|
|
{ name = "Bug Fixes", directory = "bugfix", showcontent = true },
|
|
{ name = "Vendored Libraries", directory = "vendor", showcontent = true },
|
|
{ name = "Improved Documentation", directory = "doc", showcontent = true },
|
|
{ name = "Trivial Changes", directory = "trivial", showcontent = false },
|
|
]
|
|
|
|
[tool.vendoring]
|
|
destination = "src/pip/_vendor/"
|
|
requirements = "src/pip/_vendor/vendor.txt"
|
|
namespace = "pip._vendor"
|
|
|
|
protected-files = ["__init__.py", "README.rst", "vendor.txt"]
|
|
patches-dir = "tools/vendoring/patches"
|
|
|
|
[tool.vendoring.transformations]
|
|
substitute = [
|
|
# pkg_resource's vendored packages are directly vendored in pip.
|
|
{ match='pkg_resources\.extern', replace="pip._vendor" },
|
|
{ match='from \.extern', replace="from pip._vendor" },
|
|
{ match='''\('pygments\.lexers\.''', replace="('pip._vendor.pygments.lexers." },
|
|
]
|
|
drop = [
|
|
# contains unnecessary scripts
|
|
"bin/",
|
|
# interpreter and OS specific msgpack libs
|
|
"msgpack/*.so",
|
|
# unneeded parts of setuptools
|
|
"easy_install.py",
|
|
"setuptools",
|
|
"pkg_resources/_vendor/",
|
|
"_distutils_hack",
|
|
"distutils-precedence.pth",
|
|
"pkg_resources/extern/",
|
|
# trim vendored pygments styles and lexers
|
|
"pygments/styles/[!_]*.py",
|
|
'^pygments/lexers/(?!python|__init__|_mapping).*\.py$',
|
|
# trim rich's markdown support
|
|
"rich/markdown.py",
|
|
]
|
|
|
|
[tool.vendoring.typing-stubs]
|
|
six = ["six.__init__", "six.moves.__init__", "six.moves.configparser"]
|
|
distro = []
|
|
|
|
[tool.vendoring.license.directories]
|
|
setuptools = "pkg_resources"
|
|
|
|
[tool.vendoring.license.fallback-urls]
|
|
CacheControl = "https://raw.githubusercontent.com/ionrock/cachecontrol/v0.12.6/LICENSE.txt"
|
|
distlib = "https://bitbucket.org/pypa/distlib/raw/master/LICENSE.txt"
|
|
webencodings = "https://github.com/SimonSapin/python-webencodings/raw/master/LICENSE"
|
|
|
|
[tool.ruff]
|
|
extend-exclude = [
|
|
"_vendor",
|
|
"./build",
|
|
".scratch",
|
|
"data",
|
|
]
|
|
ignore = [
|
|
"B019",
|
|
"B020",
|
|
"B904", # Ruff enables opinionated warnings by default
|
|
"B905", # Ruff enables opinionated warnings by default
|
|
]
|
|
target-version = "py37"
|
|
line-length = 88
|
|
select = [
|
|
"ASYNC",
|
|
"B",
|
|
"C4",
|
|
"C90",
|
|
"E",
|
|
"F",
|
|
"G",
|
|
"I",
|
|
"ISC",
|
|
"PERF",
|
|
"PLE",
|
|
"PLR0",
|
|
"W",
|
|
"RUF100",
|
|
"UP032",
|
|
]
|
|
|
|
[tool.ruff.isort]
|
|
# We need to explicitly make pip "first party" as it's imported by code in
|
|
# the docs and tests directories.
|
|
known-first-party = ["pip"]
|
|
known-third-party = ["pip._vendor"]
|
|
|
|
[tool.ruff.mccabe]
|
|
max-complexity = 33 # default is 10
|
|
|
|
[tool.ruff.per-file-ignores]
|
|
"noxfile.py" = ["G"]
|
|
"src/pip/_internal/*" = ["PERF203"]
|
|
"tests/*" = ["B011"]
|
|
"tests/unit/test_finder.py" = ["C414"]
|
|
|
|
[tool.ruff.pylint]
|
|
max-args = 15 # default is 5
|
|
max-branches = 28 # default is 12
|
|
max-returns = 13 # default is 6
|
|
max-statements = 134 # default is 50
|