aws-lambda-builders 1.54.0__tar.gz → 1.56.0__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.
- {aws_lambda_builders-1.54.0/aws_lambda_builders.egg-info → aws_lambda_builders-1.56.0}/PKG-INFO +4 -4
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/__init__.py +1 -1
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/nodejs_npm/actions.py +30 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/nodejs_npm/workflow.py +8 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/python_pip/packager.py +79 -12
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0/aws_lambda_builders.egg-info}/PKG-INFO +4 -4
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders.egg-info/requires.txt +3 -3
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/requirements/dev.txt +3 -3
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/LICENSE +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/MANIFEST.in +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/NOTICE +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/README.md +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/__main__.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/actions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/architecture.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/binary_path.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/builder.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/exceptions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/path_resolver.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/registry.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/utils.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/validator.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflow.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/__init__.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/custom_make/DESIGN.md +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/custom_make/__init__.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/custom_make/actions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/custom_make/exceptions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/custom_make/make.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/custom_make/utils.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/custom_make/validator.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/custom_make/workflow.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/dotnet_clipackage/DESIGN.md +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/dotnet_clipackage/__init__.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/dotnet_clipackage/actions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/dotnet_clipackage/dotnetcli.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/dotnet_clipackage/dotnetcli_resolver.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/dotnet_clipackage/utils.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/dotnet_clipackage/workflow.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/go_modules/DESIGN.md +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/go_modules/__init__.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/go_modules/actions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/go_modules/builder.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/go_modules/utils.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/go_modules/validator.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/go_modules/workflow.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java/__init__.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java/actions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java/utils.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_gradle/DESIGN.md +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_gradle/__init__.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_gradle/actions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_gradle/gradle.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_gradle/gradle_resolver.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_gradle/gradle_validator.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_gradle/resources/lambda-build-init.gradle +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_gradle/workflow.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_maven/DESIGN.md +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_maven/__init__.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_maven/actions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_maven/maven.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_maven/maven_resolver.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_maven/maven_validator.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/java_maven/workflow.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/nodejs_npm/DESIGN.md +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/nodejs_npm/__init__.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/nodejs_npm/exceptions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/nodejs_npm/npm.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/nodejs_npm/utils.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/nodejs_npm_esbuild/DESIGN.md +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/nodejs_npm_esbuild/__init__.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/nodejs_npm_esbuild/actions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/nodejs_npm_esbuild/esbuild.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/nodejs_npm_esbuild/exceptions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/nodejs_npm_esbuild/workflow.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/python_pip/DESIGN.md +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/python_pip/__init__.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/python_pip/actions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/python_pip/compat.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/python_pip/exceptions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/python_pip/utils.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/python_pip/validator.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/python_pip/workflow.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/ruby_bundler/DESIGN.md +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/ruby_bundler/__init__.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/ruby_bundler/actions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/ruby_bundler/bundler.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/ruby_bundler/utils.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/ruby_bundler/workflow.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/rust_cargo/DESIGN.md +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/rust_cargo/__init__.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/rust_cargo/actions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/rust_cargo/cargo_lambda.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/rust_cargo/exceptions.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/rust_cargo/feature_flag.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/rust_cargo/utils.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/rust_cargo/workflow.py +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders.egg-info/SOURCES.txt +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders.egg-info/dependency_links.txt +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders.egg-info/entry_points.txt +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders.egg-info/top_level.txt +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/pyproject.toml +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/requirements/base.txt +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/requirements/python_pip.txt +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/setup.cfg +0 -0
- {aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/setup.py +0 -0
{aws_lambda_builders-1.54.0/aws_lambda_builders.egg-info → aws_lambda_builders-1.56.0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aws_lambda_builders
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.56.0
|
|
4
4
|
Summary: Python library to compile, build & package AWS Lambda functions for several runtimes & frameworks.
|
|
5
5
|
Home-page: https://github.com/awslabs/aws-lambda-builders
|
|
6
6
|
Author: Amazon Web Services
|
|
@@ -30,17 +30,17 @@ License-File: NOTICE
|
|
|
30
30
|
Requires-Dist: setuptools
|
|
31
31
|
Requires-Dist: wheel
|
|
32
32
|
Provides-Extra: dev
|
|
33
|
-
Requires-Dist: coverage==7.
|
|
33
|
+
Requires-Dist: coverage==7.9.2; python_version >= "3.9" and extra == "dev"
|
|
34
34
|
Requires-Dist: coverage==7.6.1; python_version < "3.9" and extra == "dev"
|
|
35
35
|
Requires-Dist: flake8==3.8.4; extra == "dev"
|
|
36
|
-
Requires-Dist: pytest-cov==6.
|
|
36
|
+
Requires-Dist: pytest-cov==6.1.1; python_version >= "3.9" and extra == "dev"
|
|
37
37
|
Requires-Dist: pytest-cov==5.0.0; python_version < "3.9" and extra == "dev"
|
|
38
38
|
Requires-Dist: pytest>=6.1.1; extra == "dev"
|
|
39
39
|
Requires-Dist: parameterized==0.9.0; extra == "dev"
|
|
40
40
|
Requires-Dist: pyelftools~=0.32; extra == "dev"
|
|
41
41
|
Requires-Dist: black==25.1.0; python_version >= "3.9" and extra == "dev"
|
|
42
42
|
Requires-Dist: black==24.8.0; python_version < "3.9" and extra == "dev"
|
|
43
|
-
Requires-Dist: ruff==0.11.
|
|
43
|
+
Requires-Dist: ruff==0.11.13; extra == "dev"
|
|
44
44
|
Dynamic: author
|
|
45
45
|
Dynamic: author-email
|
|
46
46
|
Dynamic: classifier
|
|
@@ -3,6 +3,7 @@ Action to resolve NodeJS dependencies using NPM
|
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
5
|
import logging
|
|
6
|
+
import os
|
|
6
7
|
from typing import Optional
|
|
7
8
|
|
|
8
9
|
from aws_lambda_builders.actions import ActionFailedError, BaseAction, Purpose
|
|
@@ -321,3 +322,32 @@ class NodejsNpmLockFileCleanUpAction(BaseAction):
|
|
|
321
322
|
|
|
322
323
|
except OSError as ex:
|
|
323
324
|
raise ActionFailedError(str(ex))
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
class NodejsNpmTestAction(NodejsNpmInstallOrUpdateBaseAction):
|
|
328
|
+
"""
|
|
329
|
+
A Lambda Builder Action that runs tests in NPM project
|
|
330
|
+
"""
|
|
331
|
+
|
|
332
|
+
NAME = "NpmTest"
|
|
333
|
+
DESCRIPTION = "Running tests from NPM"
|
|
334
|
+
|
|
335
|
+
def execute(self):
|
|
336
|
+
"""
|
|
337
|
+
Runs the action if environment variable `SAM_NPM_RUN_TEST_WITH_BUILD` is `true`.
|
|
338
|
+
|
|
339
|
+
:raises lambda_builders.actions.ActionFailedError: when NPM execution fails
|
|
340
|
+
"""
|
|
341
|
+
try:
|
|
342
|
+
is_run_test_with_build = os.getenv("SAM_NPM_RUN_TEST_WITH_BUILD", "False")
|
|
343
|
+
if is_run_test_with_build == "true":
|
|
344
|
+
LOG.debug("NODEJS running tests in: %s", self.install_dir)
|
|
345
|
+
|
|
346
|
+
command = ["test", "--if-present"]
|
|
347
|
+
self.subprocess_npm.run(command, cwd=self.install_dir)
|
|
348
|
+
else:
|
|
349
|
+
LOG.debug("NODEJS skipping tests")
|
|
350
|
+
LOG.debug("Add env variable 'SAM_NPM_RUN_TEST_WITH_BUILD=true' to run tests with build")
|
|
351
|
+
|
|
352
|
+
except NpmExecutionError as ex:
|
|
353
|
+
raise ActionFailedError(str(ex))
|
|
@@ -22,6 +22,7 @@ from aws_lambda_builders.workflows.nodejs_npm.actions import (
|
|
|
22
22
|
NodejsNpmPackAction,
|
|
23
23
|
NodejsNpmrcAndLockfileCopyAction,
|
|
24
24
|
NodejsNpmrcCleanUpAction,
|
|
25
|
+
NodejsNpmTestAction,
|
|
25
26
|
NodejsNpmUpdateAction,
|
|
26
27
|
)
|
|
27
28
|
from aws_lambda_builders.workflows.nodejs_npm.npm import SubprocessNpm
|
|
@@ -123,6 +124,13 @@ class NodejsNpmWorkflow(BaseWorkflow):
|
|
|
123
124
|
)
|
|
124
125
|
)
|
|
125
126
|
|
|
127
|
+
self.actions.append(
|
|
128
|
+
NodejsNpmTestAction(
|
|
129
|
+
install_dir=self.manifest_dir if is_building_in_source and is_external_manifest else self.build_dir,
|
|
130
|
+
subprocess_npm=subprocess_npm,
|
|
131
|
+
)
|
|
132
|
+
)
|
|
133
|
+
|
|
126
134
|
if is_building_in_source and is_external_manifest:
|
|
127
135
|
# Since we run `npm install` in the manifest directory, so we need to link the node_modules directory in
|
|
128
136
|
# the source directory.
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Installs packages using PIP
|
|
3
3
|
"""
|
|
4
4
|
|
|
5
|
+
import itertools
|
|
5
6
|
import logging
|
|
6
7
|
import re
|
|
7
8
|
import subprocess
|
|
8
9
|
from email.parser import FeedParser
|
|
9
|
-
from typing import Tuple
|
|
10
|
+
from typing import List, Tuple
|
|
10
11
|
|
|
11
12
|
from aws_lambda_builders.architecture import ARM64, X86_64
|
|
12
13
|
from aws_lambda_builders.utils import extract_tarfile
|
|
@@ -171,19 +172,25 @@ class DependencyBuilder(object):
|
|
|
171
172
|
packager.
|
|
172
173
|
"""
|
|
173
174
|
|
|
174
|
-
_COMPATIBLE_PLATFORM_ARM64 =
|
|
175
|
+
_COMPATIBLE_PLATFORM_ARM64 = [
|
|
175
176
|
"any",
|
|
176
177
|
"linux_aarch64",
|
|
177
178
|
"manylinux2014_aarch64",
|
|
178
|
-
|
|
179
|
+
"manylinux_2_17_aarch64",
|
|
180
|
+
"manylinux_2_28_aarch64",
|
|
181
|
+
"manylinux_2_34_aarch64",
|
|
182
|
+
]
|
|
179
183
|
|
|
180
|
-
_COMPATIBLE_PLATFORM_X86_64 =
|
|
184
|
+
_COMPATIBLE_PLATFORM_X86_64 = [
|
|
181
185
|
"any",
|
|
182
186
|
"linux_x86_64",
|
|
183
187
|
"manylinux1_x86_64",
|
|
184
188
|
"manylinux2010_x86_64",
|
|
185
189
|
"manylinux2014_x86_64",
|
|
186
|
-
|
|
190
|
+
"manylinux_2_17_x86_64",
|
|
191
|
+
"manylinux_2_28_x86_64",
|
|
192
|
+
"manylinux_2_34_x86_64",
|
|
193
|
+
]
|
|
187
194
|
|
|
188
195
|
_COMPATIBLE_PLATFORMS = {
|
|
189
196
|
ARM64: _COMPATIBLE_PLATFORM_ARM64,
|
|
@@ -206,13 +213,22 @@ class DependencyBuilder(object):
|
|
|
206
213
|
"cp39": (2, 26),
|
|
207
214
|
"cp310": (2, 26),
|
|
208
215
|
"cp311": (2, 26),
|
|
209
|
-
"cp312": (2,
|
|
216
|
+
"cp312": (2, 34),
|
|
217
|
+
"cp313": (2, 34),
|
|
210
218
|
}
|
|
211
219
|
# Fallback version if we're on an unknown python version
|
|
212
220
|
# not in _RUNTIME_GLIBC.
|
|
213
221
|
# Unlikely to hit this case.
|
|
214
222
|
_DEFAULT_GLIBC = (2, 17)
|
|
215
223
|
|
|
224
|
+
# Mapping of glibc version to the most recent manylinux version compatible.
|
|
225
|
+
# The offically supported manylinux versions are 2_17, 2_28 and 2_34 as per https://github.com/pypa/manylinux
|
|
226
|
+
_GLIBC_TO_LATEST_MANYLINUX = {
|
|
227
|
+
(2, 17): "manylinux_2_17",
|
|
228
|
+
(2, 26): "manylinux_2_17",
|
|
229
|
+
(2, 34): "manylinux_2_34",
|
|
230
|
+
}
|
|
231
|
+
|
|
216
232
|
def __init__(self, osutils, runtime, python_exe, pip_runner=None, architecture=X86_64):
|
|
217
233
|
"""Initialize a DependencyBuilder.
|
|
218
234
|
|
|
@@ -378,8 +394,60 @@ class DependencyBuilder(object):
|
|
|
378
394
|
# Try to get binary wheels for each package that isn't compatible.
|
|
379
395
|
LOG.debug("Downloading missing wheels: %s", packages)
|
|
380
396
|
lambda_abi = get_lambda_abi(self.runtime)
|
|
381
|
-
|
|
382
|
-
|
|
397
|
+
self._pip.download_manylinux_wheels(
|
|
398
|
+
[pkg.identifier for pkg in packages], directory, lambda_abi, self.compatible_platforms
|
|
399
|
+
)
|
|
400
|
+
|
|
401
|
+
@property
|
|
402
|
+
def compatible_platforms(self) -> List[str]:
|
|
403
|
+
"""Get the list of all compatible platforms for the current architecture.
|
|
404
|
+
|
|
405
|
+
Examples:
|
|
406
|
+
```python
|
|
407
|
+
# Return value with python 3.11 on x86_64
|
|
408
|
+
[
|
|
409
|
+
'any',
|
|
410
|
+
'linux_x86_64',
|
|
411
|
+
'manylinux1_x86_64',
|
|
412
|
+
'manylinux2010_x86_64',
|
|
413
|
+
'manylinux2014_x86_64',
|
|
414
|
+
'manylinux_2_17_x86_64'
|
|
415
|
+
]
|
|
416
|
+
|
|
417
|
+
# Return value with python 3.12 on x86_64
|
|
418
|
+
[
|
|
419
|
+
'any',
|
|
420
|
+
'linux_x86_64',
|
|
421
|
+
'manylinux1_x86_64',
|
|
422
|
+
'manylinux2010_x86_64',
|
|
423
|
+
'manylinux2014_x86_64',
|
|
424
|
+
'manylinux_2_17_x86_64',
|
|
425
|
+
'manylinux_2_28_x86_64',
|
|
426
|
+
'manylinux_2_34_x86_64'
|
|
427
|
+
]
|
|
428
|
+
|
|
429
|
+
# Return value with python 3.13 on ARM64
|
|
430
|
+
[
|
|
431
|
+
'any',
|
|
432
|
+
'linux_aarch64',
|
|
433
|
+
'manylinux2014_aarch64',
|
|
434
|
+
'manylinux_2_17_aarch64',
|
|
435
|
+
'manylinux_2_28_aarch64',
|
|
436
|
+
'manylinux_2_34_aarch64'
|
|
437
|
+
]
|
|
438
|
+
```
|
|
439
|
+
"""
|
|
440
|
+
lambda_abi = get_lambda_abi(self.runtime)
|
|
441
|
+
manylinux_prefix = self._GLIBC_TO_LATEST_MANYLINUX.get(self._RUNTIME_GLIBC.get(lambda_abi, self._DEFAULT_GLIBC))
|
|
442
|
+
architecture = "aarch64" if self.architecture == ARM64 else "x86_64"
|
|
443
|
+
|
|
444
|
+
# Get the latest compatible platform tag for the current architecture,
|
|
445
|
+
# all the previous ones are also compatible.
|
|
446
|
+
latest_compatible_platform = f"{manylinux_prefix}_{architecture}"
|
|
447
|
+
|
|
448
|
+
all_platforms = self._COMPATIBLE_PLATFORMS[self.architecture]
|
|
449
|
+
max_index = all_platforms.index(latest_compatible_platform)
|
|
450
|
+
return all_platforms[: max_index + 1]
|
|
383
451
|
|
|
384
452
|
def _build_sdists(self, sdists, directory, compile_c=True):
|
|
385
453
|
LOG.debug("Build missing wheels from sdists " "(C compiling %s): %s", compile_c, sdists)
|
|
@@ -431,7 +499,7 @@ class DependencyBuilder(object):
|
|
|
431
499
|
|
|
432
500
|
In addition to checking the tag pattern, we also need to verify the glibc version
|
|
433
501
|
"""
|
|
434
|
-
if platform in self.
|
|
502
|
+
if platform in self.compatible_platforms:
|
|
435
503
|
return True
|
|
436
504
|
|
|
437
505
|
arch = "aarch64" if self.architecture == ARM64 else "x86_64"
|
|
@@ -831,7 +899,7 @@ class PipRunner(object):
|
|
|
831
899
|
# complain at deployment time.
|
|
832
900
|
self.build_wheel(wheel_package_path, directory)
|
|
833
901
|
|
|
834
|
-
def download_manylinux_wheels(self, packages, directory, lambda_abi,
|
|
902
|
+
def download_manylinux_wheels(self, packages, directory, lambda_abi, platforms):
|
|
835
903
|
"""Download wheel files for manylinux for all the given packages."""
|
|
836
904
|
# If any one of these dependencies fails pip will bail out. Since we
|
|
837
905
|
# are only interested in all the ones we can download, we need to feed
|
|
@@ -845,8 +913,7 @@ class PipRunner(object):
|
|
|
845
913
|
arguments = [
|
|
846
914
|
"--only-binary=:all:",
|
|
847
915
|
"--no-deps",
|
|
848
|
-
"--platform",
|
|
849
|
-
platform,
|
|
916
|
+
*list(itertools.chain.from_iterable(["--platform", element] for element in platforms)),
|
|
850
917
|
"--implementation",
|
|
851
918
|
"cp",
|
|
852
919
|
"--abi",
|
{aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0/aws_lambda_builders.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aws_lambda_builders
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.56.0
|
|
4
4
|
Summary: Python library to compile, build & package AWS Lambda functions for several runtimes & frameworks.
|
|
5
5
|
Home-page: https://github.com/awslabs/aws-lambda-builders
|
|
6
6
|
Author: Amazon Web Services
|
|
@@ -30,17 +30,17 @@ License-File: NOTICE
|
|
|
30
30
|
Requires-Dist: setuptools
|
|
31
31
|
Requires-Dist: wheel
|
|
32
32
|
Provides-Extra: dev
|
|
33
|
-
Requires-Dist: coverage==7.
|
|
33
|
+
Requires-Dist: coverage==7.9.2; python_version >= "3.9" and extra == "dev"
|
|
34
34
|
Requires-Dist: coverage==7.6.1; python_version < "3.9" and extra == "dev"
|
|
35
35
|
Requires-Dist: flake8==3.8.4; extra == "dev"
|
|
36
|
-
Requires-Dist: pytest-cov==6.
|
|
36
|
+
Requires-Dist: pytest-cov==6.1.1; python_version >= "3.9" and extra == "dev"
|
|
37
37
|
Requires-Dist: pytest-cov==5.0.0; python_version < "3.9" and extra == "dev"
|
|
38
38
|
Requires-Dist: pytest>=6.1.1; extra == "dev"
|
|
39
39
|
Requires-Dist: parameterized==0.9.0; extra == "dev"
|
|
40
40
|
Requires-Dist: pyelftools~=0.32; extra == "dev"
|
|
41
41
|
Requires-Dist: black==25.1.0; python_version >= "3.9" and extra == "dev"
|
|
42
42
|
Requires-Dist: black==24.8.0; python_version < "3.9" and extra == "dev"
|
|
43
|
-
Requires-Dist: ruff==0.11.
|
|
43
|
+
Requires-Dist: ruff==0.11.13; extra == "dev"
|
|
44
44
|
Dynamic: author
|
|
45
45
|
Dynamic: author-email
|
|
46
46
|
Dynamic: classifier
|
{aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders.egg-info/requires.txt
RENAMED
|
@@ -6,7 +6,7 @@ flake8==3.8.4
|
|
|
6
6
|
pytest>=6.1.1
|
|
7
7
|
parameterized==0.9.0
|
|
8
8
|
pyelftools~=0.32
|
|
9
|
-
ruff==0.11.
|
|
9
|
+
ruff==0.11.13
|
|
10
10
|
|
|
11
11
|
[dev:python_version < "3.9"]
|
|
12
12
|
coverage==7.6.1
|
|
@@ -14,6 +14,6 @@ pytest-cov==5.0.0
|
|
|
14
14
|
black==24.8.0
|
|
15
15
|
|
|
16
16
|
[dev:python_version >= "3.9"]
|
|
17
|
-
coverage==7.
|
|
18
|
-
pytest-cov==6.
|
|
17
|
+
coverage==7.9.2
|
|
18
|
+
pytest-cov==6.1.1
|
|
19
19
|
black==25.1.0
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
coverage==7.
|
|
1
|
+
coverage==7.9.2; python_version>="3.9"
|
|
2
2
|
coverage==7.6.1; python_version<"3.9"
|
|
3
3
|
flake8==3.8.4
|
|
4
|
-
pytest-cov==6.
|
|
4
|
+
pytest-cov==6.1.1; python_version>="3.9"
|
|
5
5
|
pytest-cov==5.0.0; python_version<"3.9"
|
|
6
6
|
|
|
7
7
|
# Test requirements
|
|
@@ -12,4 +12,4 @@ pyelftools~=0.32 # Used to verify the generated Go binary architecture in integr
|
|
|
12
12
|
# formatter
|
|
13
13
|
black==25.1.0; python_version>="3.9"
|
|
14
14
|
black==24.8.0; python_version<"3.9"
|
|
15
|
-
ruff==0.11.
|
|
15
|
+
ruff==0.11.13
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/architecture.py
RENAMED
|
File without changes
|
{aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/binary_path.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/path_resolver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders/workflows/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aws_lambda_builders-1.54.0 → aws_lambda_builders-1.56.0}/aws_lambda_builders.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|