Skip to content

Conversation

@zsol
Copy link
Contributor

@zsol zsol commented Jan 6, 2026

Which issue(s) does this change fix?

Until aws/serverless-application-model#3831 gets resolved, this PR declares that aws-sam-cli doesn't support Python 3.14.

Why is this change necessary?

This change helps tools avoid trying to run aws-sam-cli using Python 3.14.

How does it address the issue?

For example when running uvx --from aws-sam-cli sam local --help, uv will read this metadata to determine the best version of Python to use. This PR will help uv understand to not try 3.14.

What side effects does this change have?

N/A

Mandatory Checklist

PRs will only be reviewed after checklist is complete

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@github-actions github-actions bot added pr/external stage/needs-triage Automatically applied to new issues and PRs, indicating they haven't been looked at. labels Jan 6, 2026
@zsol zsol marked this pull request as ready for review January 6, 2026 15:03
@zsol zsol requested a review from a team as a code owner January 6, 2026 15:03
@valerena
Copy link
Contributor

valerena commented Jan 9, 2026

Thanks for the contribution. We're working on some improvements to support it, but it makes sense to be explicit about the actual support in the meantime. Our next release should be next week.

@valerena valerena added this pull request to the merge queue Jan 9, 2026
Merged via the queue into aws:develop with commit fe2373d Jan 9, 2026
44 checks passed
zsol added a commit to zsol/aws-cli that referenced this pull request Jan 16, 2026
Similar to aws/aws-sam-cli#8545, tools like uv will try and run the aws cli using the latest Python version matching `requires-python`, but `aws` doesn't work with 3.14 yet:
```console
❯ uvx --from git+https://github.com/aws/aws-cli@v2 aws
  × Failed to build `ruamel-yaml-clib==0.2.12`
  ├─▶ The build backend returned an error
  ╰─▶ Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)

      [stderr]
      Traceback (most recent call last):
        File "<string>", line 14, in <module>
          requires = get_requires_for_build({})
        File "/Users/zsol/.cache/uv/builds-v0/.tmpMfFdkc/lib/python3.14/site-packages/setuptools/build_meta.py", line 331, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/Users/zsol/.cache/uv/builds-v0/.tmpMfFdkc/lib/python3.14/site-packages/setuptools/build_meta.py", line 301, in _get_build_requires
          self.run_setup()
          ~~~~~~~~~~~~~~^^
        File "/Users/zsol/.cache/uv/builds-v0/.tmpMfFdkc/lib/python3.14/site-packages/setuptools/build_meta.py", line 317, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^
        File "<string>", line 79, in <module>
      ImportError: cannot import name 'Str' from 'ast' (/Users/zsol/.local/share/uv/python/cpython-3.14.0-macos-aarch64-none/lib/python3.14/ast.py)

      hint: This usually indicates a problem with the package or the build environment.
  help: `ruamel-yaml-clib` (v0.2.12) was included because `awscli` (v2.33.1) depends on `ruamel-yaml-clib`
```

This is tracked in aws#9914, but until that's done, it's better to declare the supported Python versions correctly. This PR does that
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr/external stage/needs-triage Automatically applied to new issues and PRs, indicating they haven't been looked at.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants