reproducibly 0.0.10__tar.gz → 0.0.12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: reproducibly
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.12
|
4
4
|
Summary: Reproducibly build Python packages
|
5
5
|
Author-email: Keith Maxwell <keith.maxwell@gmail.com>
|
6
6
|
Requires-Python: >=3.11
|
@@ -8,7 +8,7 @@ Description-Content-Type: text/markdown
|
|
8
8
|
Classifier: Programming Language :: Python :: 3
|
9
9
|
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
|
10
10
|
Requires-Dist: build==1.2.1
|
11
|
-
Requires-Dist: cibuildwheel==2.
|
11
|
+
Requires-Dist: cibuildwheel==2.20.0
|
12
12
|
Requires-Dist: packaging==24.1
|
13
13
|
Requires-Dist: pyproject_hooks==1.1.0
|
14
14
|
Project-URL: Homepage, https://github.com/maxwell-k/reproducibly/
|
@@ -33,7 +33,6 @@ from build import ProjectBuilder
|
|
33
33
|
from build.env import DefaultIsolatedEnv
|
34
34
|
from cibuildwheel.__main__ import build_in_directory
|
35
35
|
from cibuildwheel.options import CommandLineArguments
|
36
|
-
from packaging.requirements import Requirement
|
37
36
|
from pyproject_hooks import default_subprocess_runner
|
38
37
|
|
39
38
|
# [[[cog import cog ; from pathlib import Path ]]]
|
@@ -55,7 +54,7 @@ from pyproject_hooks import default_subprocess_runner
|
|
55
54
|
# requires-python = ">=3.11"
|
56
55
|
# dependencies = [
|
57
56
|
# "build==1.2.1",
|
58
|
-
# "cibuildwheel==2.
|
57
|
+
# "cibuildwheel==2.20.0",
|
59
58
|
# "packaging==24.1",
|
60
59
|
# "pyproject_hooks==1.1.0",
|
61
60
|
# ]
|
@@ -72,16 +71,7 @@ from pyproject_hooks import default_subprocess_runner
|
|
72
71
|
EARLIEST = datetime(1980, 1, 1, 0, 0, 0).timestamp() # 315532800.0
|
73
72
|
|
74
73
|
|
75
|
-
|
76
|
-
# [[[cog
|
77
|
-
# for line in Path("constraints.txt").read_text().splitlines():
|
78
|
-
# cog.outl(f'"{line}",')
|
79
|
-
# ]]]
|
80
|
-
"wheel==0.43.0",
|
81
|
-
# [[[end]]]
|
82
|
-
}
|
83
|
-
|
84
|
-
__version__ = "0.0.10"
|
74
|
+
__version__ = "0.0.12"
|
85
75
|
|
86
76
|
|
87
77
|
def _build(
|
@@ -96,8 +86,8 @@ def _build(
|
|
96
86
|
srcdir,
|
97
87
|
runner=default_subprocess_runner,
|
98
88
|
)
|
99
|
-
env.install(
|
100
|
-
env.install(
|
89
|
+
env.install(builder.build_system_requires)
|
90
|
+
env.install(builder.get_requires_for_build(distribution))
|
101
91
|
built = builder.build(distribution, output)
|
102
92
|
return output / built
|
103
93
|
|
@@ -112,14 +102,12 @@ def _cibuildwheel(sdist: Path, output: Path) -> Path:
|
|
112
102
|
"""Call the cibuildwheel API
|
113
103
|
|
114
104
|
Returns the path to the built distribution"""
|
115
|
-
filename = Path("constraints.txt")
|
116
105
|
with (
|
117
106
|
ModifiedEnvironment(
|
118
|
-
CIBW_DEPENDENCY_VERSIONS=str(filename),
|
119
107
|
CIBW_BUILD_FRONTEND="build",
|
120
108
|
CIBW_CONTAINER_ENGINE="podman",
|
121
109
|
CIBW_ENVIRONMENT_PASS_LINUX="SOURCE_DATE_EPOCH",
|
122
|
-
CIBW_ENVIRONMENT=
|
110
|
+
CIBW_ENVIRONMENT="PIP_TIMEOUT=150",
|
123
111
|
),
|
124
112
|
TemporaryDirectory() as directory,
|
125
113
|
):
|
@@ -129,7 +117,6 @@ def _cibuildwheel(sdist: Path, output: Path) -> Path:
|
|
129
117
|
args.output_dir = Path(directory).resolve()
|
130
118
|
args.platform = None
|
131
119
|
with chdir(directory): # output maybe a relative path
|
132
|
-
filename.write_text("\n".join(CONSTRAINTS) + "\n")
|
133
120
|
build_in_directory(args)
|
134
121
|
wheel = next(args.output_dir.glob("*.whl"))
|
135
122
|
output.joinpath(wheel.name).unlink(missing_ok=True)
|
@@ -257,16 +244,6 @@ def key(input_: bytes | ZipInfo) -> tuple[int, list[str | list]]:
|
|
257
244
|
return (group, breadth_first_key(item))
|
258
245
|
|
259
246
|
|
260
|
-
def override(before: set[str], constraints: set[str] = CONSTRAINTS) -> set[str]:
|
261
|
-
"""Replace certain requirements from constraints"""
|
262
|
-
after = set()
|
263
|
-
for replacement in constraints:
|
264
|
-
name = Requirement(replacement).name
|
265
|
-
for i in before:
|
266
|
-
after.add(replacement if Requirement(i).name == name else i)
|
267
|
-
return after
|
268
|
-
|
269
|
-
|
270
247
|
def zipumask(path: Path, umask: int = 0o022) -> Path:
|
271
248
|
"""Apply a umask to a zip file at path
|
272
249
|
|
File without changes
|