11[project ]
22dynamic = [" version" ]
3-
43name = " pip"
54description = " The PyPA recommended tool for installing Python packages."
65readme = " README.rst"
@@ -46,12 +45,13 @@ Source = "https://github.com/pypa/pip"
4645Changelog = " https://pip.pypa.io/en/stable/news/"
4746
4847[build-system ]
49- requires = [" setuptools>=77 " ]
50- build-backend = " setuptools.build_meta "
48+ requires = [" flit-core >=3.11,<4 " ]
49+ build-backend = " flit_core.buildapi "
5150
5251[dependency-groups ]
5352test = [
5453 " cryptography" ,
54+ " flit-core >= 3.11, < 4" ,
5555 " freezegun" ,
5656 " installer" ,
5757 # pytest-subket requires 7.0+
@@ -73,6 +73,7 @@ test = [
7373]
7474
7575test-common-wheels = [
76+ " flit-core >= 3.11, < 4" ,
7677 # We pin setuptools<80 because our test suite currently
7778 # depends on setup.py develop to generate egg-link files.
7879 " setuptools >= 40.8.0, != 60.6.0, <80" ,
@@ -82,28 +83,24 @@ test-common-wheels = [
8283 " pytest-subket >= 0.8.1" ,
8384]
8485
85- [tool .setuptools ]
86- package-dir = {"" = " src" }
87- include-package-data = false
88-
89- [tool .setuptools .dynamic ]
90- version = {attr = " pip.__version__" }
91-
92- [tool .setuptools .packages .find ]
93- where = [" src" ]
94- exclude = [" contrib" , " docs" , " tests*" , " tasks" ]
95-
96- [tool .setuptools .package-data ]
97- "pip" = [" py.typed" ]
98- "pip._vendor" = [" vendor.txt" ]
99- "pip._vendor.certifi" = [" *.pem" ]
100- "pip._vendor.distlib" = [
101- " t32.exe" ,
102- " t64.exe" ,
103- " t64-arm.exe" ,
104- " w32.exe" ,
105- " w64.exe" ,
106- " w64-arm.exe" ,
86+ [tool .flit .sdist ]
87+ include = [
88+ " NEWS.rst" ,
89+ " SECURITY.md" ,
90+ " build-project/.python-version" ,
91+ " build-project/build-project.py" ,
92+ " build-project/build-requirements.in" ,
93+ " build-project/build-requirements.txt" ,
94+ " docs/requirements.txt" ,
95+ " docs/**/*.css" ,
96+ " docs/**/*.dot" ,
97+ " docs/**/*.md" ,
98+ " docs/**/*.png" ,
99+ " docs/**/*.py" ,
100+ " docs/**/*.rst" ,
101+ ]
102+ exclude = [
103+ " src/pip/_vendor/**/*.pyi" ,
107104]
108105
109106# #####################################################################################
@@ -362,3 +359,15 @@ exclude_also = [
362359 # This excludes typing-specific code, which will be validated by mypy anyway.
363360 " if TYPE_CHECKING" ,
364361]
362+
363+ [tool .check-sdist ]
364+ git-only = [
365+ " tests/**" ,
366+ " tools/**" ,
367+ " news/.gitignore" ,
368+ " .gitattributes" ,
369+ " .gitignore" ,
370+ " .git-blame-ignore-revs" ,
371+ " .mailmap" ,
372+ " .readthedocs-custom-redirects.yml"
373+ ]
0 commit comments