Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changes/next-release/enhancement-Python-47496.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"type": "enhancement",
"category": "Python",
"description": "Upgrade bundled Python interpreter to version 3.14.3"
}
2 changes: 1 addition & 1 deletion .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: "3.13"
python-version: "3.14"
- name: Create changelog
run: |
python scripts/new-change -t '${{ github.event.inputs.type }}' -c '${{ github.event.inputs.category }}' -d '${{ github.event.inputs.description }}'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run-dep-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
os: [ubuntu-latest, macOS-latest, windows-latest]

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
os: [ubuntu-latest, macOS-latest, windows-latest]

steps:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/source-dist-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
os: [ubuntu-latest, macOS-latest, windows-latest]
steps:
- uses: actions/checkout@v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-lockfiles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.13"]
python-version: ["3.14"]
os: [macOS-latest, windows-latest]

steps:
Expand Down
1 change: 1 addition & 0 deletions awscli/customizations/eks/ordered_yaml.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ def ordered_yaml_dump(to_dump, stream=None):
"""
yaml = ruamel.yaml.YAML(typ="safe", pure=True)
yaml.default_flow_style = False
yaml.width = float('inf')
yaml.Representer.add_representer(OrderedDict, _ordered_representer)

if stream is None:
Expand Down
4 changes: 1 addition & 3 deletions awscli/customizations/s3/s3handler.py
Original file line number Diff line number Diff line change
Expand Up @@ -629,9 +629,7 @@ def _submit_transfer_request(self, fileinfo, extra_args, subscribers):
self._result_queue.put(SuccessResult(**result_kwargs))
except Exception as e:
self._result_queue.put(FailureResult(exception=e, **result_kwargs))
finally:
# Return True to indicate that the transfer was submitted
return True
return True

def _format_src_dest(self, fileinfo):
return self._format_local_path(fileinfo.src), None
7 changes: 4 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[build-system]
requires = [
"flit_core>=3.7.1,<3.9.1",
"flit_core>=3.7.1,<3.12.1",
]
build-backend = "pep517"
backend-path = ["backends"]
Expand Down Expand Up @@ -28,16 +28,17 @@ classifiers = [
"Programming Language :: Python :: 3.11",
'Programming Language :: Python :: 3.12',
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
dependencies = [
"colorama>=0.2.5,<0.4.7",
"docutils>=0.10,<0.20",
"ruamel.yaml>=0.15.0,<=0.17.21",
"ruamel.yaml>=0.15.0,<=0.19.1",
# ruamel.yaml only requires ruamel.yaml.clib for Python versions
# less than or equal to Python 3.10. In order to ensure we have
# a consistent dependency closure across all Python versions,
# we explicitly include ruamel.yaml.clib as a dependency.
"ruamel.yaml.clib>=0.2.0,<=0.2.12",
"ruamel.yaml.clib>=0.2.0,<=0.2.15",
"prompt-toolkit>=3.0.24,<3.0.52",
"distro>=1.5.0,<1.9.0",
"awscrt==0.31.2",
Expand Down
10 changes: 7 additions & 3 deletions requirements-base-lock.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,15 @@
#
# pip-compile --allow-unsafe --generate-hashes --output-file=requirements-base-lock.txt --unsafe-package=flit-core --unsafe-package=pip --unsafe-package=setuptools --unsafe-package=wheel requirements-base.txt
#
packaging==26.0 \
--hash=sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4 \
--hash=sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529
# via wheel

# The following packages are considered to be unsafe in a requirements file:
flit-core==3.9.0 \
--hash=sha256:72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba \
--hash=sha256:7aada352fb0c7f5538c4fafeddf314d3a6a92ee8e2b1de70482329e42de70301
flit-core==3.12.0 \
--hash=sha256:18f63100d6f94385c6ed57a72073443e1a71a4acb4339491615d0f16d6ff01b2 \
--hash=sha256:e7a0304069ea895172e3c7bb703292e992c5d1555dd1233ab7b5621b5b69e62c
# via -r requirements-base.txt
wheel==0.46.3 \
--hash=sha256:4b399d56c9d9338230118d705d9737a2a468ccca63d5e813e2a4fc7815d8bc4d \
Expand Down
2 changes: 1 addition & 1 deletion requirements-base.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
wheel==0.46.3
flit_core==3.9.0
flit_core==3.12.0
56 changes: 28 additions & 28 deletions requirements-build-lock.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
#
# pip-compile --allow-unsafe --generate-hashes --output-file=requirements-build-lock.txt --unsafe-package=flit-core --unsafe-package=pip --unsafe-package=setuptools --unsafe-package=wheel requirements-build-win.txt requirements-build.txt
#
altgraph==0.17.4 \
--hash=sha256:1b5afbb98f6c4dcadb2e2ae6ab9fa994bbb8c1d75f4fa96d340f9437ae454406 \
--hash=sha256:642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff
altgraph==0.17.5 \
--hash=sha256:c87b395dd12fabde9c99573a9749d67da8d29ef9de0125c7f536699b4a9bc9e7 \
--hash=sha256:f3a22400bce1b0c701683820ac4f3b159cd301acab067c51c653e06961600597
# via
# macholib
# pyinstaller
importlib-metadata==8.7.0 \
--hash=sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000 \
--hash=sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd
importlib-metadata==8.7.1 \
--hash=sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb \
--hash=sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151
# via
# pyinstaller
# pyinstaller-hooks-contrib
Expand All @@ -22,33 +22,33 @@ macholib==1.16.3 \
# via
# -r requirements-build.txt
# pyinstaller
packaging==25.0 \
--hash=sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484 \
--hash=sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f
packaging==26.0 \
--hash=sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4 \
--hash=sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529
# via
# pyinstaller
# pyinstaller-hooks-contrib
pefile==2023.2.7 \
--hash=sha256:82e6114004b3d6911c77c3953e3838654b04511b8b66e8583db70c65998017dc \
--hash=sha256:da185cd2af68c08a6cd4481f7325ed600a88f6a813bad9dea07ab3ef73d8d8d6
# via -r requirements-build-win.txt
pyinstaller==6.11.1 \
--hash=sha256:0d6475559c4939f0735122989611d7f739ed3bf02f666ce31022928f7a7e4fda \
--hash=sha256:208c0ef6dab0837a0a273ea32d1a3619a208e3d1fe3fec3785eea71a77fd00ce \
--hash=sha256:2e8365276c5131c9bef98e358fbc305e4022db8bedc9df479629d6414021956a \
--hash=sha256:32c742a24fe65d0702958fadf4040f76de85859c26bec0008766e5dbabc5b68f \
--hash=sha256:35e6b8077d240600bb309ed68bb0b1453fd2b7ab740b66d000db7abae6244423 \
--hash=sha256:44e36172de326af6d4e7663b12f71dbd34e2e3e02233e181e457394423daaf03 \
--hash=sha256:491dfb4d9d5d1d9650d9507daec1ff6829527a254d8e396badd60a0affcb72ef \
--hash=sha256:6d12c45a29add78039066a53fb05967afaa09a672426072b13816fe7676abfc4 \
--hash=sha256:7ac83c0dc0e04357dab98c487e74ad2adb30e7eb186b58157a8faf46f1fa796f \
--hash=sha256:ad84abf465bcda363c1d54eafa76745d77b6a8a713778348377dc98d12a452f7 \
--hash=sha256:ddc0fddd75f07f7e423da1f0822e389a42af011f9589e0269b87e0d89aa48c1f \
--hash=sha256:e21c7806e34f40181e7606926a14579f848bfb1dc52cbca7eea66eccccbfe977
pyinstaller==6.19.0 \
--hash=sha256:1ec54ef967996ca61dacba676227e2b23219878ccce5ee9d6f3aada7b8ed8abf \
--hash=sha256:3c5c251054fe4cfaa04c34a363dcfbf811545438cb7198304cd444756bc2edd2 \
--hash=sha256:4190e76b74f0c4b5c5f11ac360928cd2e36ec8e3194d437bf6b8648c7bc0c134 \
--hash=sha256:481a909c8e60c8692fc60fcb1344d984b44b943f8bc9682f2fcdae305ad297e6 \
--hash=sha256:4ab2bb52e58448e14ddf9450601bdedd66800465043501c1d8f1cab87b60b122 \
--hash=sha256:8bd68abd812d8a6ba33b9f1810e91fee0f325969733721b78151f0065319ca11 \
--hash=sha256:a0fc5f6b3c55aa54353f0c74ffa59b1115433c1850c6f655d62b461a2ed6cbbe \
--hash=sha256:b5bb6536c6560330d364d91522250f254b107cf69129d9cbcd0e6727c570be33 \
--hash=sha256:c2d5a539b0bfe6159d5522c8c70e1c0e487f22c2badae0f97d45246223b798ea \
--hash=sha256:da6d5c6391ccefe73554b9fa29b86001c8e378e0f20c2a4004f836ba537eff63 \
--hash=sha256:e649ba6bd1b0b89b210ad92adb5fbdc8a42dd2c5ca4f72ef3a0bfec83a424b83 \
--hash=sha256:ec73aeb8bd9b7f2f1240d328a4542e90b3c6e6fbc106014778431c616592a865
# via -r requirements-build.txt
pyinstaller-hooks-contrib==2025.9 \
--hash=sha256:56e972bdaad4e9af767ed47d132362d162112260cbe488c9da7fee01f228a5a6 \
--hash=sha256:ccbfaa49399ef6b18486a165810155e5a8d4c59b41f20dc5da81af7482aaf038
pyinstaller-hooks-contrib==2026.1 \
--hash=sha256:66ad4888ba67de6f3cfd7ef554f9dd1a4389e2eb19f84d7129a5a6818e3f2180 \
--hash=sha256:a5f0891a1e81e92406ab917d9e76adfd7a2b68415ee2e35c950a7b3910bc361b
# via pyinstaller
pywin32-ctypes==0.2.2 \
--hash=sha256:3426e063bdd5fd4df74a14fa3cf80a0b42845a87e1d1e81f6549f9daec593a60 \
Expand All @@ -60,9 +60,9 @@ zipp==3.23.0 \
# via importlib-metadata

# The following packages are considered to be unsafe in a requirements file:
setuptools==80.9.0 \
--hash=sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922 \
--hash=sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c
setuptools==82.0.0 \
--hash=sha256:22e0a2d69474c6ae4feb01951cb69d515ed23728cf96d05513d36e42b62b37cb \
--hash=sha256:70b18734b607bd1da571d097d236cfcfacaf01de45717d59e6e04b96877532e0
# via
# pyinstaller
# pyinstaller-hooks-contrib
2 changes: 1 addition & 1 deletion requirements-build.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Requirements we need to run our build jobs for the installers.
# We create the separation for cases where we're doing installation
# from a local dependency directory instead of requirements.txt.
PyInstaller==6.11.1
PyInstaller==6.19.0
macholib==1.16.3
Loading
Loading