aws-lambda-builders 1.34.0__tar.gz → 1.36.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.
Files changed (105) hide show
  1. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/PKG-INFO +2 -1
  2. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/__init__.py +1 -1
  3. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/validator.py +1 -1
  4. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/dotnet_clipackage/DESIGN.md +1 -1
  5. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/dotnet_clipackage/dotnetcli.py +1 -1
  6. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/python_pip/DESIGN.md +1 -1
  7. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/python_pip/packager.py +93 -7
  8. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders.egg-info/PKG-INFO +2 -1
  9. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders.egg-info/requires.txt +1 -1
  10. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/requirements/dev.txt +1 -1
  11. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/setup.py +1 -0
  12. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/LICENSE +0 -0
  13. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/MANIFEST.in +0 -0
  14. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/NOTICE +0 -0
  15. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/README.md +0 -0
  16. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/__main__.py +0 -0
  17. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/actions.py +0 -0
  18. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/architecture.py +0 -0
  19. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/binary_path.py +0 -0
  20. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/builder.py +0 -0
  21. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/exceptions.py +0 -0
  22. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/path_resolver.py +0 -0
  23. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/registry.py +0 -0
  24. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/utils.py +0 -0
  25. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflow.py +0 -0
  26. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/__init__.py +0 -0
  27. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/custom_make/DESIGN.md +0 -0
  28. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/custom_make/__init__.py +0 -0
  29. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/custom_make/actions.py +0 -0
  30. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/custom_make/exceptions.py +0 -0
  31. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/custom_make/make.py +0 -0
  32. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/custom_make/utils.py +0 -0
  33. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/custom_make/validator.py +0 -0
  34. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/custom_make/workflow.py +0 -0
  35. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/dotnet_clipackage/__init__.py +0 -0
  36. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/dotnet_clipackage/actions.py +0 -0
  37. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/dotnet_clipackage/dotnetcli_resolver.py +0 -0
  38. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/dotnet_clipackage/utils.py +0 -0
  39. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/dotnet_clipackage/workflow.py +0 -0
  40. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/go_modules/DESIGN.md +0 -0
  41. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/go_modules/__init__.py +0 -0
  42. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/go_modules/actions.py +0 -0
  43. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/go_modules/builder.py +0 -0
  44. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/go_modules/utils.py +0 -0
  45. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/go_modules/validator.py +0 -0
  46. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/go_modules/workflow.py +0 -0
  47. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java/__init__.py +0 -0
  48. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java/actions.py +0 -0
  49. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java/utils.py +0 -0
  50. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_gradle/DESIGN.md +0 -0
  51. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_gradle/__init__.py +0 -0
  52. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_gradle/actions.py +0 -0
  53. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_gradle/gradle.py +0 -0
  54. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_gradle/gradle_resolver.py +0 -0
  55. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_gradle/gradle_validator.py +0 -0
  56. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_gradle/resources/lambda-build-init.gradle +0 -0
  57. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_gradle/workflow.py +0 -0
  58. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_maven/DESIGN.md +0 -0
  59. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_maven/__init__.py +0 -0
  60. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_maven/actions.py +0 -0
  61. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_maven/maven.py +0 -0
  62. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_maven/maven_resolver.py +0 -0
  63. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_maven/maven_validator.py +0 -0
  64. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/java_maven/workflow.py +0 -0
  65. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/nodejs_npm/DESIGN.md +0 -0
  66. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/nodejs_npm/__init__.py +0 -0
  67. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/nodejs_npm/actions.py +0 -0
  68. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/nodejs_npm/npm.py +0 -0
  69. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/nodejs_npm/utils.py +0 -0
  70. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/nodejs_npm/workflow.py +0 -0
  71. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/nodejs_npm_esbuild/DESIGN.md +0 -0
  72. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/nodejs_npm_esbuild/__init__.py +0 -0
  73. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/nodejs_npm_esbuild/actions.py +0 -0
  74. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/nodejs_npm_esbuild/esbuild.py +0 -0
  75. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/nodejs_npm_esbuild/exceptions.py +0 -0
  76. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/nodejs_npm_esbuild/workflow.py +0 -0
  77. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/python_pip/__init__.py +0 -0
  78. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/python_pip/actions.py +0 -0
  79. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/python_pip/compat.py +0 -0
  80. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/python_pip/exceptions.py +0 -0
  81. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/python_pip/utils.py +0 -0
  82. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/python_pip/validator.py +0 -0
  83. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/python_pip/workflow.py +0 -0
  84. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/ruby_bundler/DESIGN.md +0 -0
  85. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/ruby_bundler/__init__.py +0 -0
  86. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/ruby_bundler/actions.py +0 -0
  87. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/ruby_bundler/bundler.py +0 -0
  88. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/ruby_bundler/utils.py +0 -0
  89. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/ruby_bundler/workflow.py +0 -0
  90. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/rust_cargo/DESIGN.md +0 -0
  91. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/rust_cargo/__init__.py +0 -0
  92. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/rust_cargo/actions.py +0 -0
  93. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/rust_cargo/cargo_lambda.py +0 -0
  94. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/rust_cargo/exceptions.py +0 -0
  95. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/rust_cargo/feature_flag.py +0 -0
  96. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/rust_cargo/utils.py +0 -0
  97. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders/workflows/rust_cargo/workflow.py +0 -0
  98. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders.egg-info/SOURCES.txt +0 -0
  99. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders.egg-info/dependency_links.txt +0 -0
  100. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders.egg-info/entry_points.txt +0 -0
  101. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/aws_lambda_builders.egg-info/top_level.txt +0 -0
  102. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/pyproject.toml +0 -0
  103. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/requirements/base.txt +0 -0
  104. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/requirements/python_pip.txt +0 -0
  105. {aws_lambda_builders-1.34.0 → aws_lambda_builders-1.36.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aws_lambda_builders
3
- Version: 1.34.0
3
+ Version: 1.36.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
@@ -19,6 +19,7 @@ Classifier: Programming Language :: Python :: 3.7
19
19
  Classifier: Programming Language :: Python :: 3.8
20
20
  Classifier: Programming Language :: Python :: 3.9
21
21
  Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
22
23
  Classifier: Topic :: Internet
23
24
  Classifier: Topic :: Software Development :: Build Tools
24
25
  Classifier: Topic :: Utilities
@@ -4,5 +4,5 @@ AWS Lambda Builder Library
4
4
 
5
5
  # Changing version will trigger a new release!
6
6
  # Please make the version change as the last step of your development.
7
- __version__ = "1.34.0"
7
+ __version__ = "1.36.0"
8
8
  RPC_PROTOCOL_VERSION = "0.3"
@@ -18,13 +18,13 @@ SUPPORTED_RUNTIMES = {
18
18
  "python3.8": [ARM64, X86_64],
19
19
  "python3.9": [ARM64, X86_64],
20
20
  "python3.10": [ARM64, X86_64],
21
+ "python3.11": [ARM64, X86_64],
21
22
  "ruby2.7": [ARM64, X86_64],
22
23
  "ruby3.2": [ARM64, X86_64],
23
24
  "java8": [ARM64, X86_64],
24
25
  "java11": [ARM64, X86_64],
25
26
  "java17": [ARM64, X86_64],
26
27
  "go1.x": [ARM64, X86_64],
27
- "dotnetcore3.1": [ARM64, X86_64],
28
28
  "dotnet6": [ARM64, X86_64],
29
29
  "provided": [ARM64, X86_64],
30
30
  }
@@ -41,7 +41,7 @@ package:
41
41
  <ZIP-FILE> The name of the zip file to package the project into
42
42
  Options:
43
43
  -c | --configuration Configuration to build with, for example Release or Debug.
44
- -f | --framework Target framework to compile, for example netcoreapp2.1.
44
+ -f | --framework Target framework to compile, for example net6.0.
45
45
  --msbuild-parameters Additional msbuild parameters passed to the 'dotnet publish' command. Add quotes around the value if the value contains spaces.
46
46
  -pl | --project-location The location of the project, if not set the current directory will be assumed.
47
47
  -cfg | --config-file Configuration file storing default values for command line arguments.
@@ -50,7 +50,7 @@ class SubprocessDotnetCLI(object):
50
50
  LOG.debug("executing dotnet: %s", invoke_dotnet)
51
51
 
52
52
  # DotNet output is in system locale dependent encoding
53
- # https://docs.microsoft.com/en-us/dotnet/api/system.console.outputencoding?view=netcore-3.1#remarks
53
+ # https://learn.microsoft.com/en-us/dotnet/api/system.console.outputencoding?view=net-6.0#remarks
54
54
  # "The default code page that the console uses is determined by the system locale."
55
55
  encoding = locale.getpreferredencoding()
56
56
  p = self.os_utils.popen(invoke_dotnet, stdout=self.os_utils.pipe, stderr=self.os_utils.pipe, cwd=cwd)
@@ -49,7 +49,7 @@ def build_dependencies(artifacts_dir_path,
49
49
 
50
50
  :type runtime: str
51
51
  :param runtime: Python version to build dependencies for. This can
52
- either be python3.7, python3.8, python3.9 or python3.10. These are
52
+ either be python3.7, python3.8, python3.9, python3.10 or python3.11. These are
53
53
  currently the only supported values.
54
54
 
55
55
  :type ui: :class:`lambda_builders.actions.python_pip.utils.UI`
@@ -7,6 +7,7 @@ import re
7
7
  import subprocess
8
8
  import sys
9
9
  from email.parser import FeedParser
10
+ from typing import Tuple
10
11
 
11
12
  from aws_lambda_builders.architecture import ARM64, X86_64
12
13
  from aws_lambda_builders.utils import extract_tarfile
@@ -85,6 +86,7 @@ def get_lambda_abi(runtime):
85
86
  "python3.8": "cp38",
86
87
  "python3.9": "cp39",
87
88
  "python3.10": "cp310",
89
+ "python3.11": "cp311",
88
90
  }
89
91
 
90
92
  if runtime not in supported:
@@ -99,7 +101,7 @@ class PythonPipDependencyBuilder(object):
99
101
 
100
102
  :type runtime: str
101
103
  :param runtime: Python version to build dependencies for. This can
102
- either be python3.7, python3.8, python3.9 or python3.10. These are currently the
104
+ either be python3.7, python3.8, python3.9, python3.10 or python3.11. These are currently the
103
105
  only supported values.
104
106
 
105
107
  :type osutils: :class:`lambda_builders.utils.OSUtils`
@@ -602,12 +604,30 @@ class SDistMetadataFetcher(object):
602
604
  # This might be a pep 517 package in which case this PKG-INFO file
603
605
  # should be available right in the top level directory of the sdist
604
606
  # in the case where the egg_info command fails.
605
- LOG.debug("Using fallback location for PKG-INFO file in package directory: %s", package_dir)
606
- pkg_info_path = self._osutils.joinpath(package_dir, "PKG-INFO")
607
+ pkg_info_path = self._get_fallback_pkg_info_filepath(package_dir)
607
608
  if not self._osutils.file_exists(pkg_info_path):
608
609
  raise UnsupportedPackageError(self._osutils.basename(package_dir))
609
610
  return pkg_info_path
610
611
 
612
+ def _get_fallback_pkg_info_filepath(self, package_dir: str) -> str:
613
+ """
614
+ Gets the string path of the fallback PKG-INFO that is generated by pip
615
+
616
+ Parameters
617
+ ----------
618
+ package_dir: str
619
+ The path of the current working directory that has the package
620
+
621
+ Returns
622
+ -------
623
+ str
624
+ Path to a potential PKG-INFO
625
+ """
626
+ LOG.debug("Using fallback location for PKG-INFO file in package directory: %s", package_dir)
627
+ pkg_info_path = self._osutils.joinpath(package_dir, "PKG-INFO")
628
+
629
+ return pkg_info_path
630
+
611
631
  def _unpack_sdist_into_dir(self, sdist_path, unpack_dir):
612
632
  if sdist_path.endswith(".zip"):
613
633
  self._osutils.extract_zipfile(sdist_path, unpack_dir)
@@ -619,13 +639,79 @@ class SDistMetadataFetcher(object):
619
639
  contents = self._osutils.get_directory_contents(unpack_dir)
620
640
  return self._osutils.joinpath(unpack_dir, contents[0])
621
641
 
622
- def get_package_name_and_version(self, sdist_path):
642
+ def _get_name_version(self, pkg_info_filepath: str) -> Tuple[str, str]:
643
+ """
644
+ Extracts the name and the version from the PKG-INFO metadata file
645
+
646
+ Parameters
647
+ ----------
648
+ pkg_info_filepath: str
649
+ The path to the PKG-INFO file to get data from
650
+
651
+ Returns
652
+ -------
653
+ Tuple[str, str]
654
+ A tuple containing the name and version
655
+ """
656
+ metadata = self._parse_pkg_info_file(pkg_info_filepath)
657
+ return (metadata["Name"], metadata["Version"])
658
+
659
+ def _is_default_setuptools_values(self, name: str, version: str) -> bool:
660
+ """
661
+ Checks if the name or the version are the default values that are assigned by setuptools
662
+
663
+ Parameters
664
+ ----------
665
+ name: str
666
+ The name of the package
667
+ version: str
668
+ The version of the package as a string
669
+
670
+ Returns
671
+ -------
672
+ bool
673
+ True if either name or version are the default values
674
+ """
675
+ # default values logic:
676
+ # https://github.com/pypa/setuptools/blob/6083e18f4afc40316c0112134c205c336afbcdfd/setuptools/_distutils/dist.py#L1185-L1189
677
+ return name.lower() == "unknown" or version == "0.0.0"
678
+
679
+ def get_package_name_and_version(self, sdist_path: str) -> Tuple[str, str]:
680
+ """
681
+ Gets the package's name and version from the metadata file
682
+
683
+ Parameters
684
+ ----------
685
+ sdist_path: str
686
+ The string path of the downloaded source distribution artifact
687
+
688
+ Returns
689
+ -------
690
+ Tuple[str, str]
691
+ A tuple of the name and version of the package
692
+ """
623
693
  with self._osutils.tempdir() as tempdir:
624
694
  package_dir = self._unpack_sdist_into_dir(sdist_path, tempdir)
695
+
696
+ # get the name and version from the result setup.py
625
697
  pkg_info_filepath = self._get_pkg_info_filepath(package_dir)
626
- metadata = self._parse_pkg_info_file(pkg_info_filepath)
627
- name = metadata["Name"]
628
- version = metadata["Version"]
698
+ name, version = self._get_name_version(pkg_info_filepath)
699
+
700
+ # return values if it is not the default values
701
+ if not self._is_default_setuptools_values(name, version):
702
+ return name, version
703
+
704
+ # see if we can get the fallback PKG_INFO file from the sdist
705
+ fallback_pkg_info_fp = self._get_fallback_pkg_info_filepath(package_dir)
706
+
707
+ if self._osutils.file_exists(fallback_pkg_info_fp):
708
+ # use the fallback values instead of the ones we generated
709
+ fallback_name, fallback_version = self._get_name_version(fallback_pkg_info_fp)
710
+
711
+ if not self._is_default_setuptools_values(fallback_name, fallback_version):
712
+ name = fallback_name
713
+ version = fallback_version
714
+
629
715
  return name, version
630
716
 
631
717
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aws-lambda-builders
3
- Version: 1.34.0
3
+ Version: 1.36.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
@@ -19,6 +19,7 @@ Classifier: Programming Language :: Python :: 3.7
19
19
  Classifier: Programming Language :: Python :: 3.8
20
20
  Classifier: Programming Language :: Python :: 3.9
21
21
  Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
22
23
  Classifier: Topic :: Internet
23
24
  Classifier: Topic :: Software Development :: Build Tools
24
25
  Classifier: Topic :: Utilities
@@ -8,7 +8,7 @@ pytest>=6.1.1
8
8
  parameterized==0.9.0
9
9
  pyelftools~=0.29
10
10
  black==23.3.0
11
- ruff==0.0.270
11
+ ruff==0.0.278
12
12
 
13
13
  [dev:python_version < "3.8"]
14
14
  flake8==3.3.0
@@ -12,4 +12,4 @@ pyelftools~=0.29 # Used to verify the generated Go binary architecture in integr
12
12
 
13
13
  # formatter
14
14
  black==23.3.0
15
- ruff==0.0.270
15
+ ruff==0.0.278
@@ -62,6 +62,7 @@ setup(
62
62
  "Programming Language :: Python :: 3.8",
63
63
  "Programming Language :: Python :: 3.9",
64
64
  "Programming Language :: Python :: 3.10",
65
+ "Programming Language :: Python :: 3.11",
65
66
  "Topic :: Internet",
66
67
  "Topic :: Software Development :: Build Tools",
67
68
  "Topic :: Utilities",