diff --git a/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md b/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md
index 921a9611b2e..0c4b9b8d901 100644
--- a/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md
+++ b/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md
@@ -19,5 +19,5 @@ The Azure Linux SPEC files originated from a variety of sources with varying lic
| OpenSUSE | Following [openSUSE guidelines](https://en.opensuse.org/openSUSE:Specfile_guidelines#Specfile_Licensing) | ant
ant-junit
antlr
aopalliance
apache-commons-beanutils
apache-commons-cli
apache-commons-codec
apache-commons-collections
apache-commons-collections4
apache-commons-compress
apache-commons-daemon
apache-commons-dbcp
apache-commons-digester
apache-commons-httpclient
apache-commons-io
apache-commons-jexl
apache-commons-lang3
apache-commons-logging
apache-commons-net
apache-commons-pool
apache-commons-pool2
apache-commons-validator
apache-commons-vfs2
apache-parent
args4j
atinject
base64coder
bcel
bea-stax
beust-jcommander
bsf
byaccj
cal10n
cdparanoia
cglib
cni
containerized-data-importer
cpulimit
cri-o
ecj
ed25519-java
fillup
flux
gd
geronimo-specs
glassfish-annotation-api
gnu-getopt
gnu-regexp
golang-packaging
guava
hamcrest
hawtjni-runtime
httpcomponents-core
influx-cli
influxdb
jakarta-taglibs-standard
jansi
jarjar
java-cup
java-cup-bootstrap
javacc
javacc-bootstrap
javassist
jbcrypt
jboss-interceptors-1.2-api
jdepend
jflex
jflex-bootstrap
jlex
jline
jna
jsch
jsoup
jsr-305
jtidy
junit
junitperf
jzlib
kubevirt
kured
libcontainers-common
libtheora
libva
libvdpau
lynx
multus
objectweb-anttask
objectweb-asm
objenesis
oro
osgi-annotation
osgi-compendium
osgi-core
patterns-ceph-containers
plexus-classworlds
plexus-interpolation
plexus-utils
proj
psl-make-dafsa
publicsuffix
qdox
regexp
relaxngDatatype
rhino
ripgrep
servletapi4
servletapi5
shapelib
slf4j
trilead-ssh2
virtiofsd
xalan-j2
xbean
xcursor-themes
xerces-j2
xml-commons-apis
xml-commons-resolver
xmldb-api
xmlrpc-c
xmlunit
xz-java |
| Photon | [Photon License](LICENSE-PHOTON.md) and [Photon Notice](NOTICE.APACHE2).
Also see [LICENSE-EXCEPTIONS.PHOTON](LICENSE-EXCEPTIONS.PHOTON). | acl
alsa-lib
alsa-utils
ansible
apparmor
apr
apr-util
asciidoc
atftp
audit
autoconf
autoconf-archive
autofs
autogen
automake
babel
bash
bc
bcc
bind
binutils
bison
blktrace
boost
btrfs-progs
bubblewrap
build-essential
bzip2
c-ares
cairo
cassandra
cassandra-driver
cdrkit
check
chkconfig
chrpath
cifs-utils
clang
cloud-init
cloud-utils-growpart
cmake
cni-plugins
core-packages
coreutils
cpio
cppunit
cqlsh
cracklib
crash
crash-gcore-command
createrepo_c
cri-tools
cronie
curl
cyrus-sasl
cyrus-sasl-bootstrap
dbus
dbus-glib
dejagnu
device-mapper-multipath
dialog
diffutils
dkms
dmidecode
dnsmasq
docbook-dtd-xml
docbook-style-xsl
dosfstools
dracut
dstat
e2fsprogs
ed
efibootmgr
efivar
elfutils
emacs
erlang
etcd
ethtool
expat
expect
fcgi
file
filesystem
findutils
flex
fontconfig
fping
freetype
fuse
gawk
gc
gcc
gdb
gdbm
gettext
git
git-lfs
glib
glib-networking
glibc
glibmm
gmp
gnome-common
gnupg2
gnuplot
gnutls
gobject-introspection
golang
golang-1.23
golang-1.24
golang-1.25
gperf
gperftools
gpgme
gptfdisk
grep
groff
grub2
gtest
gtk-doc
guile
gzip
haproxy
harfbuzz
haveged
hdparm
http-parser
httpd
i2c-tools
iana-etc
icu
initramfs
initscripts
inotify-tools
intltool
iotop
iperf3
iproute
ipset
iptables
iputils
ipvsadm
ipxe
irqbalance
itstool
jansson
jq
json-c
json-glib
kbd
keepalived
kernel
kernel-64k
kernel-headers
kernel-hwe
kernel-hwe-headers
kernel-ipe
kernel-lpg-innovate
kernel-mshv
kernel-rt
kernel-uvm
kernel-uvm-micro
keyutils
kmod
krb5
less
libaio
libarchive
libassuan
libatomic_ops
libcap
libcap-ng
libconfig
libdb
libdnet
libedit
libestr
libevent
libfastjson
libffi
libgcrypt
libgpg-error
libgssglue
libgudev
libjpeg-turbo
libksba
liblogging
libmbim
libmnl
libmodulemd
libmpc
libmspack
libndp
libnetfilter_conntrack
libnetfilter_cthelper
libnetfilter_cttimeout
libnetfilter_queue
libnfnetlink
libnftnl
libnl3
libnsl2
libpcap
libpipeline
libpng
libpsl
libqmi
librelp
librepo
librsync
libseccomp
libselinux
libsepol
libserf
libsigc++30
libsolv
libsoup
libssh2
libtalloc
libtar
libtasn1
libtiff
libtirpc
libtool
libunistring
libunwind
libusb
libvirt
libwebp
libxml2
libxslt
libyaml
linux-firmware
lldb
lldpad
llvm
lm-sensors
lmdb
log4cpp
logrotate
lshw
lsof
lsscsi
ltrace
lttng-tools
lttng-ust
lvm2
lz4
lzo
m2crypto
m4
make
man-db
man-pages
maven
mc
mercurial
meson
mlocate
ModemManager
mpfr
msr-tools
mysql
nano
nasm
ncurses
ndctl
net-snmp
net-tools
nettle
newt
nfs-utils
nghttp2
nginx
ninja-build
nodejs
nodejs24
npth
nspr
nss
nss-altfiles
ntp
numactl
nvme-cli
oniguruma
OpenIPMI
openldap
openscap
openssh
openvswitch
ostree
pam
pango
parted
patch
pciutils
perl-Canary-Stability
perl-CGI
perl-common-sense
perl-Crypt-SSLeay
perl-DBD-SQLite
perl-DBI
perl-DBIx-Simple
perl-Exporter-Tiny
perl-File-HomeDir
perl-File-Which
perl-IO-Socket-SSL
perl-JSON-Any
perl-JSON-XS
perl-libintl-perl
perl-List-MoreUtils
perl-Module-Build
perl-Module-Install
perl-Module-ScanDeps
perl-Net-SSLeay
perl-NetAddr-IP
perl-Object-Accessor
perl-Path-Class
perl-Try-Tiny
perl-Types-Serialiser
perl-WWW-Curl
perl-XML-Parser
perl-YAML
perl-YAML-Tiny
pgbouncer
pinentry
polkit
popt
postgresql
procps-ng
protobuf
protobuf-c
psmisc
pth
pyasn1-modules
pyOpenSSL
pyparsing
pytest
python-appdirs
python-asn1crypto
python-atomicwrites
python-attrs
python-bcrypt
python-certifi
python-cffi
python-chardet
python-configobj
python-constantly
python-coverage
python-cryptography
python-daemon
python-dateutil
python-defusedxml
python-distro
python-docopt
python-docutils
python-ecdsa
python-geomet
python-gevent
python-hyperlink
python-hypothesis
python-idna
python-imagesize
python-incremental
python-iniparse
python-ipaddr
python-jinja2
python-jmespath
python-jsonpatch
python-jsonpointer
python-jsonschema
python-lockfile
python-lxml
python-mako
python-markupsafe
python-mistune
python-msgpack
python-netaddr
python-netifaces
python-ntplib
python-oauthlib
python-packaging
python-pam
python-pbr
python-ply
python-prettytable
python-psutil
python-psycopg2
python-py
python-pyasn1
python-pycodestyle
python-pycparser
python-pycurl
python-pygments
python-pynacl
python-requests
python-setuptools_scm
python-simplejson
python-six
python-snowballstemmer
python-sphinx-theme-alabaster
python-twisted
python-urllib3
python-vcversioner
python-virtualenv
python-wcwidth
python-webob
python-websocket-client
python-werkzeug
python-zope-event
python-zope-interface
python3
pytz
PyYAML
rapidjson
readline
rng-tools
rpcbind
rpcsvc-proto
rpm
rpm-ostree
rrdtool
rsync
rsyslog
ruby
rust
rust-1.75
scons
sed
sg3_utils
shadow-utils
slang
snappy
socat
sqlite
sshpass
strace
subversion
sudo
swig
syslinux
syslog-ng
sysstat
systemd-bootstrap
systemtap
tar
tboot
tcl
tcpdump
tcsh
tdnf
telegraf
texinfo
tmux
tpm2-abrmd
tpm2-pkcs11
tpm2-pytss
tpm2-tools
tpm2-tss
traceroute
tree
tzdata
unbound
unixODBC
unzip
usbutils
userspace-rcu
utf8proc
util-linux
valgrind
vim
vsftpd
WALinuxAgent
which
wpa_supplicant
xfsprogs
xinetd
xmlsec1
xmlto
xz
zchunk
zeromq
zip
zlib
zsh |
| RPM software management source | [GPLv2+ License](https://github.com/rpm-software-management/dnf5/blob/main/COPYING.md) | dnf5 |
-| Source project | Same as the source project. | azure-vm-utils
bootengine
coreos-cloudinit
coreos-init
python-nocaselist
update-ssh-keys |
+| Source project | Same as the source project. | azure-vm-utils
bootengine
coreos-cloudinit
coreos-init
python-nocaselist
python3.14
update-ssh-keys |
| Sysbench source | [GPLv2+ License](https://github.com/akopytov/sysbench/blob/master/COPYING) | sysbench |
diff --git a/LICENSES-AND-NOTICES/SPECS/data/licenses.json b/LICENSES-AND-NOTICES/SPECS/data/licenses.json
index 180befe61c1..9d64db97c8d 100644
--- a/LICENSES-AND-NOTICES/SPECS/data/licenses.json
+++ b/LICENSES-AND-NOTICES/SPECS/data/licenses.json
@@ -3177,6 +3177,7 @@
"coreos-cloudinit",
"coreos-init",
"python-nocaselist",
+ "python3.14",
"update-ssh-keys"
]
},
diff --git a/SPECS/python3.14/python3.14.signatures.json b/SPECS/python3.14/python3.14.signatures.json
new file mode 100644
index 00000000000..208f0ae1b59
--- /dev/null
+++ b/SPECS/python3.14/python3.14.signatures.json
@@ -0,0 +1,5 @@
+{
+ "Signatures": {
+ "Python-3.14.4.tar.xz": "d923c51303e38e249136fc1bdf3568d56ecb03214efdef48516176d3d7faaef8"
+ }
+}
diff --git a/SPECS/python3.14/python3.14.spec b/SPECS/python3.14/python3.14.spec
new file mode 100644
index 00000000000..ab93f44e11e
--- /dev/null
+++ b/SPECS/python3.14/python3.14.spec
@@ -0,0 +1,214 @@
+%global openssl_flags -DOPENSSL_NO_SSL3 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_COMP
+%global __brp_python_bytecompile %{nil}
+%define majmin %(echo %{version} | cut -d. -f1-2)
+%define majmin_nodots %(echo %{majmin} | tr -d .)
+
+Summary: A high-level scripting language (version 3.14)
+Name: python3.14
+Version: 3.14.4
+Release: 1%{?dist}
+License: PSF
+Vendor: Microsoft Corporation
+Distribution: Azure Linux
+Group: System Environment/Programming
+URL: https://www.python.org/
+Source0: https://www.python.org/ftp/python/%{version}/Python-%{version}.tar.xz
+
+BuildRequires: bzip2-devel
+BuildRequires: expat-devel >= 2.1.0
+BuildRequires: libffi-devel >= 3.0.13
+BuildRequires: ncurses-devel
+BuildRequires: openssl-devel
+BuildRequires: pkg-config >= 0.28
+BuildRequires: readline-devel
+BuildRequires: sqlite-devel
+BuildRequires: xz-devel
+Requires: ncurses
+Requires: openssl
+Requires: %{name}-libs = %{version}-%{release}
+Requires: readline
+Requires: xz
+# Only versioned provides. The unversioned "python", "python3", "/bin/python",
+# "/bin/python3" names remain owned by the default "python3" package so that
+# python3.14 installs strictly side-by-side.
+Provides: python(abi) = %{majmin}
+Provides: %{name}-docs = %{version}-%{release}
+Provides: python%{majmin_nodots} = %{version}-%{release}
+
+%if 0%{?with_check}
+BuildRequires: iana-etc
+BuildRequires: tzdata
+%endif
+
+%description
+Python 3.14 installed side-by-side with the system python3. The interpreter
+is available as /usr/bin/python3.14 and the standard library lives under
+/usr/lib/python3.14/. This package does not change the system default python3.
+
+%package libs
+Summary: The libraries for python 3.14 runtime
+Group: Applications/System
+Requires: bzip2-libs
+Requires: expat >= 2.1.0
+Requires: libffi >= 3.0.13
+Requires: ncurses
+Requires: sqlite-libs
+Provides: %{name}-xml = %{version}-%{release}
+Provides: python%{majmin_nodots}-libs = %{version}-%{release}
+
+%description libs
+The python interpreter can be embedded into applications wanting to
+use python as an embedded scripting language. The python3.14-libs package
+provides the libraries needed for python 3.14 applications.
+
+%package curses
+Summary: Python 3.14 module interface for NCurses Library
+Group: Applications/System
+Requires: ncurses
+Requires: %{name}-libs = %{version}-%{release}
+Provides: python%{majmin_nodots}-curses = %{version}-%{release}
+
+%description curses
+The python3.14-curses package provides interface for ncurses library.
+
+%package devel
+Summary: The libraries and header files needed for Python 3.14 development.
+Group: Development/Libraries
+Requires: expat-devel >= 2.1.0
+Requires: %{name} = %{version}-%{release}
+Provides: python%{majmin_nodots}-devel = %{version}-%{release}
+
+%description devel
+The Python programming language's interpreter can be extended with
+dynamically loaded extensions and can be embedded in other programs.
+This package contains the header files and libraries needed to do
+these types of tasks against Python 3.14.
+
+%package test
+Summary: Regression tests package for Python 3.14.
+Group: Development/Tools
+Requires: %{name} = %{version}-%{release}
+Provides: python%{majmin_nodots}-test = %{version}-%{release}
+
+%description test
+The test package contains all regression tests for Python 3.14 as well as the
+modules test.support and test.regrtest. test.support is used to enhance your
+tests while test.regrtest drives the testing suite.
+
+%prep
+%autosetup -p1 -n Python-%{version}
+
+%build
+# Remove GCC specs and build environment linker scripts
+# from the flags used when compiling outside of an RPM environment
+# https://fedoraproject.org/wiki/Changes/Python_Extension_Flags
+export CFLAGS="%{extension_cflags} %{openssl_flags}"
+export CFLAGS_NODIST="%{build_cflags} %{openssl_flags}"
+export CXXFLAGS="%{extension_cxxflags} %{openssl_flags}"
+export LDFLAGS="%{extension_ldflags}"
+export LDFLAGS_NODIST="%{build_ldflags}"
+export OPT="%{extension_cflags} %{openssl_flags}"
+
+%configure \
+ --enable-shared \
+ --with-platlibdir=%{_lib} \
+ --with-system-expat \
+ --with-system-ffi \
+ --with-dbmliborder=gdbm:ndbm \
+ --with-ensurepip=no \
+ --enable-optimizations
+%make_build
+
+%install
+%make_install
+%{_fixperms} %{buildroot}/*
+
+# Windows executables get installed by pip - we don't need these.
+find %{buildroot}%{_libdir}/python%{majmin}/site-packages -name '*.exe' -delete -print
+
+# Remove unversioned filesystem entries that belong to the default python3
+# (3.12) package. Python 3.14 installs strictly side-by-side under versioned
+# paths, so these unversioned symlinks / stable-ABI files must not be shipped
+# by this package.
+rm -f %{buildroot}%{_bindir}/python3
+rm -f %{buildroot}%{_bindir}/python3-config
+rm -f %{buildroot}%{_bindir}/pydoc3
+rm -f %{buildroot}%{_bindir}/idle3
+rm -f %{buildroot}%{_libdir}/libpython3.so
+rm -f %{buildroot}%{_libdir}/pkgconfig/python3.pc
+rm -f %{buildroot}%{_libdir}/pkgconfig/python3-embed.pc
+rm -f %{buildroot}%{_mandir}/man1/python3.1*
+
+# Remove unused stuff
+find %{buildroot}%{_libdir} -name '*.pyc' -delete
+find %{buildroot}%{_libdir} -name '*.pyo' -delete
+find %{buildroot}%{_libdir} -name '*.o' -delete
+rm -rf %{buildroot}%{_bindir}/__pycache__
+
+%check
+# vsock_loopback module needed by `test_socket` is not loaded by default in AzureLinux.
+%{buildroot}%{_bindir}/python%{majmin} -m test --exclude test_socket
+
+%ldconfig_scriptlets
+
+%files
+%defattr(-, root, root)
+%license LICENSE
+%doc README.rst
+%{_bindir}/pydoc%{majmin}
+%{_bindir}/python%{majmin}
+%{_mandir}/man1/python%{majmin}.1*
+
+%dir %{_libdir}/python%{majmin}
+%dir %{_libdir}/python%{majmin}/site-packages
+
+%exclude %{_libdir}/python%{majmin}/test/test_ctypes
+%exclude %{_libdir}/python%{majmin}/test/test_sqlite3
+%exclude %{_libdir}/python%{majmin}/idlelib/idle_test
+%exclude %{_libdir}/python%{majmin}/test
+%exclude %{_libdir}/python%{majmin}/lib-dynload/_ctypes_test.*.so
+
+%files libs
+%defattr(-,root,root)
+%license LICENSE
+%doc README.rst
+%{_libdir}/libpython%{majmin}.so.1.0
+%{_libdir}/python%{majmin}
+%exclude %{_libdir}/python%{majmin}/site-packages/
+%exclude %{_libdir}/python%{majmin}/test/test_ctypes
+%exclude %{_libdir}/python%{majmin}/test/test_sqlite3
+%exclude %{_libdir}/python%{majmin}/idlelib/idle_test
+%exclude %{_libdir}/python%{majmin}/test
+%exclude %{_libdir}/python%{majmin}/lib-dynload/_ctypes_test.*.so
+%exclude %{_libdir}/python%{majmin}/curses
+%exclude %{_libdir}/python%{majmin}/lib-dynload/_curses*.so
+
+%files curses
+%{_libdir}/python%{majmin}/curses/*
+%{_libdir}/python%{majmin}/lib-dynload/_curses*.so
+
+%files devel
+%defattr(-,root,root)
+%{_includedir}/*
+%{_libdir}/pkgconfig/python-%{majmin}.pc
+%{_libdir}/pkgconfig/python-%{majmin}-embed.pc
+%{_libdir}/libpython%{majmin}.so
+%{_bindir}/python%{majmin}-config
+%doc Misc/README.valgrind Misc/valgrind-python.supp
+%exclude %{_bindir}/idle*
+
+%files test
+%{_libdir}/python%{majmin}/test/*
+
+%changelog
+* Thu Apr 23 2026 Ihar Voitka - 3.14.4-1
+- Initial Azure Linux import from the source project (license: same as "License" tag).
+- License verified.
+- Side-by-side with the default python3 (3.12). Ships only versioned paths
+ (/usr/bin/python3.14, /usr/lib/python3.14/, libpython3.14.so.1.0).
+- No CVE patches carried. All CVE patches on python3-3.12 (CVE-2025-4516,
+ -4517, -6069, -6075, -8194, -8291, -11468, -12084, -13836, -13837,
+ CVE-2026-0672, -0865, -1299, -4519) are present upstream in 3.14.4;
+ cgi3.patch is dropped because the cgi module was removed in 3.13 (PEP 594).
+- Drops the lib2to3-based tools subpackage since lib2to3 and /usr/bin/2to3
+ were removed in Python 3.13.
diff --git a/cgmanifest.json b/cgmanifest.json
index e0572d462b7..01000574585 100644
--- a/cgmanifest.json
+++ b/cgmanifest.json
@@ -25848,6 +25848,16 @@
}
}
},
+ {
+ "component": {
+ "type": "other",
+ "other": {
+ "name": "python3.14",
+ "version": "3.14.4",
+ "downloadUrl": "https://www.python.org/ftp/python/3.14.4/Python-3.14.4.tar.xz"
+ }
+ }
+ },
{
"component": {
"type": "other",