-
-
Notifications
You must be signed in to change notification settings - Fork 261
/
pyproject.toml
112 lines (100 loc) · 3.82 KB
/
pyproject.toml
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
[build-system]
# N.B.: We use an in-tree backend just to get our hatchling in-tree plugins visible without having
# to publish a plugin distribution. The real backend is `hatchling.build` and the
# `pex_build.hatchling.build` backend is a very thin wrapper that just serves to expose our hook
# entry point metadata so the hook is discovered.
backend-path = ["build-backend"]
build-backend = "pex_build.hatchling.build"
# The hatchling 1.22.0 release breaks our build in several ways:
# + Our console scripts are no longer generated.
# + The `project.readme` pyproject.toml key now has its value hydrated before our metadata plugin
# runs, which foils our metadata expansion since our README.rst contains inadvertant expansion
# tokens.
# This pin low buys time to work through the issues.
requires = ["hatchling"]
[tool.hatch.metadata.hooks.pex-adjust-metadata]
expand = {"pex_version" = "version"}
[tool.hatch.metadata.hooks.pex-adjust-metadata.project]
requires-python = ">=2.7,<3.14,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*"
[tool.hatch.metadata.hooks.pex-adjust-metadata.project.urls]
Changelog = "https://github.com/pex-tool/pex/blob/v{pex_version}/CHANGES.md"
Documentation = "https://docs.pex-tool.org/"
Download = "https://github.com/pex-tool/pex/releases/download/v{pex_version}/pex"
Homepage = "https://github.com/pex-tool/pex"
Source = "https://github.com/pex-tool/pex/tree/v{pex_version}"
[tool.hatch.build.targets.wheel.hooks.pex-adjust-build]
# We need this empty table to enable our hook.
[project]
name = "pex"
dynamic = ["version", "requires-python", "urls"]
authors = [
{name = "The PEX developers", email="developers@pex-tool.org"}
]
description = "The PEX packaging toolchain."
readme = "README.rst"
license-files = { paths = ["LICENSE"] }
keywords = ["package", "executable", "virtualenv", "lock", "freeze"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Operating System :: Unix",
"Operating System :: POSIX :: Linux",
"Operating System :: MacOS :: MacOS X",
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"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 :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Software Development :: Build Tools",
"Topic :: System :: Archiving :: Packaging",
"Topic :: System :: Software Distribution",
"Topic :: Utilities",
]
[project.optional-dependencies]
subprocess = [
"subprocess32>=3.2.7; python_version < '3'"
]
management = [
# N.B.: Released on 2017-09-01 and added support for the `process_iter(attrs, ad_value)` API we
# use in `pex.cache.access`.
"psutil>=5.3"
]
[project.scripts]
pex = "pex.bin.pex:main"
pex3 = "pex.cli.pex:main"
pex-tools = "pex.tools.main:main"
[project.entry-points."distutils.commands"]
bdist_pex = "pex.distutils.commands.bdist_pex:bdist_pex"
[tool.hatch.version]
path = "pex/version.py"
pattern = '__version__ = "(?P<version>[^"]+)"'
[tool.black]
line-length = 100
target-version = ["py27"]
exclude = '''
/pex/(
vendor/_vendored/
|venv/virtualenv_16\.7\.12_py
)
'''
[tool.isort]
profile = "black"
line_length = 100
# The default skip list includes venv which causes pex/venv/** to be skipped; so we blank out the
# defaults here.
skip = []
skip_glob = [
"pex/vendor/_vendored/**",
"pex/venv/virtualenv_16.7.12_py"
]