upstream is moving to python 3.12 #2926

Open
opened 2024-02-24 17:10:57 +01:00 by RayOfLight · 13 comments

hass upstream discontinues python3.11 starting on april 2024

hass upstream discontinues python3.11 starting on april 2024
onkelbeh added this to the 2024.2.3 milestone 2024-02-25 09:59:49 +01:00
onkelbeh self-assigned this 2024-02-25 09:59:53 +01:00
Owner

Just updated PYTHON_COMPAT in [master 4a3023514] homeassistant-2024.2.3, this is not fully tested yet.

I'll update here as soon as my production system is updated.

Just updated PYTHON_COMPAT in [master 4a3023514] homeassistant-2024.2.3, this is not fully tested yet. I'll update here as soon as my production system is updated.
onkelbeh modified the milestone from 2024.2.3 to 2024.4.0 2024-02-25 11:41:55 +01:00
Owner

Did a successfull (clean) install on a testbox with both 3.11.8_p1 & 3.12.2_p1 installed.
This box also runs samba & netatalk, so PYTHON_SINGLE_TARGET currently cannot be changed.

PYTHON_TARGETS="python3_12 python3_11"
PYTHON_SINGLE_TARGET="python3_11"

Had to 'enhance' some packages from the main repo.

Specials, to be installed manually, prior the big run:

  • dev-python/dtlssocket (with cython<3)
  • dev-python/cryptography-41.0.7
  • dev-python/chacha20poly1305-reuseable-0.12.0

I have not yet tested pysignalclirestapi, which will probably not work anymore because it still depends on dev-python/future, I requested bumping it.

Did a successfull (clean) install on a testbox with both `3.11.8_p1` & `3.12.2_p1` installed. This box also runs samba & netatalk, so PYTHON_SINGLE_TARGET currently cannot be changed. ``` PYTHON_TARGETS="python3_12 python3_11" PYTHON_SINGLE_TARGET="python3_11" ``` Had to 'enhance' some packages from the main repo. Specials, to be installed manually, prior the big run: - dev-python/dtlssocket (with cython<3) - dev-python/cryptography-41.0.7 - dev-python/chacha20poly1305-reuseable-0.12.0 I have not yet tested pysignalclirestapi, which will probably not work anymore because it still depends on dev-python/future, I requested bumping it.
Owner

[master 1eefb5c0d] homeassistant-2024.2.4 should now compile with 3.12 (after some fixes to the buildscript)

[master 1eefb5c0d] homeassistant-2024.2.4 should now compile with 3.12 (after some fixes to the buildscript)
Owner

will add 2024.2.5 soon. 2024.3 perhaps tomorrow.

will add 2024.2.5 soon. 2024.3 perhaps tomorrow.
Owner

'speedtestdotnet' has currently no support for Python 3.12:

grafik

I'm sure there are more.

'speedtestdotnet' has currently no support for Python 3.12: ![grafik](/attachments/9312f6ae-9ae4-4cb7-8a6b-c53a26d4387d) I'm sure there are more.
146 KiB
Owner

Here's some more fun for this 'issue', now with a changed PYTHON_SINGLE_TARGET:

[ebuild   R    ] media-video/ffmpeg-6.0.1-r3:0/58.60.60::gentoo  USE="alsa amr amrenc bluray bs2b bzip2 cdio chromaprint chromium codec2 cpudetection dav1d encode fdk flite fontconfig fribidi gcrypt gme gmp gnutls gpl gsm hardcoded-tables iconv iec61883 ieee1394 jpeg2k kvazaar ladspa libaom libaribb24 libass libcaca libdrm libilbc librtmp libsoxr libtesseract libv4l libxml2 lv2 lzma modplug mp3 network openh264 opus oss pic postproc rav1e rubberband sdl snappy sndio speex srt ssh static-libs svg svt-av1 theora threads truetype twolame v4l vaapi vdpau verify-sig vidstab vorbis vpx webp x264 x265 xvid zeromq zimg zlib zvbi -X (-amf) (-appkit) (-cuda) -debug -doc -frei0r -jack* -jpegxl -lcms -libplacebo (-mipsdspr1) (-mipsdspr2) (-mipsfpu) (-mmal) -nvenc -openal -opencl -opengl -openssl -pulseaudio (-qsv) -samba -test (-vmaf) -vulkan" CPU_FLAGS_X86="mmx mmxext sse sse2 -3dnow -3dnowext -aes -avx -avx2 -fma3 -fma4 -sse3 -sse4_1 -sse4_2 -ssse3 -xop" FFTOOLS="aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher" 0 KiB
[nomerge       ] net-fs/netatalk-3.1.18:0/18.0::gentoo  USE="(acl) pam shadow ssl -cracklib -dbus -debug -kerberos -ldap -pgp -quota -tcpd -tracker -zeroconf"
[ebuild   R    ] sys-apps/usbutils-017::gentoo  USE="-python" PYTHON_SINGLE_TARGET="-python3_10 -python3_11*" 165 KiB
[ebuild   R    ] app-misc/pax-utils-1.3.7::gentoo  USE="-caps -man -python (-seccomp) -test" PYTHON_SINGLE_TARGET="-python3_10 -python3_11*" 112 KiB
[ebuild   R    ] app-text/asciidoc-10.2.0::gentoo  PYTHON_SINGLE_TARGET="python3_12* (-pypy3) -python3_10 -python3_11*" 0 KiB
[ebuild   R    ] net-analyzer/net-snmp-5.9.3-r3:0/40::gentoo  USE="bzip2 ipv6 pcre perl ssl zlib -X -doc -elf -kmem -lm-sensors -mfd-rewrites -minimal -mysql -netlink -pcap -pci -python -rpm (-selinux) -smux -tcpd -ucd-compat -valgrind" PYTHON_SINGLE_TARGET="-python3_10 -python3_11*" 6495 KiB
[ebuild   R    ] media-libs/alsa-lib-1.2.10-r2::gentoo  USE="-alisp -debug -doc -python" PYTHON_SINGLE_TARGET="-python3_10 -python3_11*" 1082 KiB
[ebuild   R    ] net-misc/rsync-3.2.7-r4::gentoo  USE="acl iconv ssl xattr -examples -lz4 -rrsync -stunnel -system-zlib -verify-sig -xxhash -zstd" PYTHON_SINGLE_TARGET="-python3_10 -python3_11*" 1123 KiB

Here's some more fun for this 'issue', now with a changed PYTHON_SINGLE_TARGET: ``` [ebuild R ] media-video/ffmpeg-6.0.1-r3:0/58.60.60::gentoo USE="alsa amr amrenc bluray bs2b bzip2 cdio chromaprint chromium codec2 cpudetection dav1d encode fdk flite fontconfig fribidi gcrypt gme gmp gnutls gpl gsm hardcoded-tables iconv iec61883 ieee1394 jpeg2k kvazaar ladspa libaom libaribb24 libass libcaca libdrm libilbc librtmp libsoxr libtesseract libv4l libxml2 lv2 lzma modplug mp3 network openh264 opus oss pic postproc rav1e rubberband sdl snappy sndio speex srt ssh static-libs svg svt-av1 theora threads truetype twolame v4l vaapi vdpau verify-sig vidstab vorbis vpx webp x264 x265 xvid zeromq zimg zlib zvbi -X (-amf) (-appkit) (-cuda) -debug -doc -frei0r -jack* -jpegxl -lcms -libplacebo (-mipsdspr1) (-mipsdspr2) (-mipsfpu) (-mmal) -nvenc -openal -opencl -opengl -openssl -pulseaudio (-qsv) -samba -test (-vmaf) -vulkan" CPU_FLAGS_X86="mmx mmxext sse sse2 -3dnow -3dnowext -aes -avx -avx2 -fma3 -fma4 -sse3 -sse4_1 -sse4_2 -ssse3 -xop" FFTOOLS="aviocat cws2fws ffescape ffeval ffhash fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart sidxindex trasher" 0 KiB [nomerge ] net-fs/netatalk-3.1.18:0/18.0::gentoo USE="(acl) pam shadow ssl -cracklib -dbus -debug -kerberos -ldap -pgp -quota -tcpd -tracker -zeroconf" [ebuild R ] sys-apps/usbutils-017::gentoo USE="-python" PYTHON_SINGLE_TARGET="-python3_10 -python3_11*" 165 KiB [ebuild R ] app-misc/pax-utils-1.3.7::gentoo USE="-caps -man -python (-seccomp) -test" PYTHON_SINGLE_TARGET="-python3_10 -python3_11*" 112 KiB [ebuild R ] app-text/asciidoc-10.2.0::gentoo PYTHON_SINGLE_TARGET="python3_12* (-pypy3) -python3_10 -python3_11*" 0 KiB [ebuild R ] net-analyzer/net-snmp-5.9.3-r3:0/40::gentoo USE="bzip2 ipv6 pcre perl ssl zlib -X -doc -elf -kmem -lm-sensors -mfd-rewrites -minimal -mysql -netlink -pcap -pci -python -rpm (-selinux) -smux -tcpd -ucd-compat -valgrind" PYTHON_SINGLE_TARGET="-python3_10 -python3_11*" 6495 KiB [ebuild R ] media-libs/alsa-lib-1.2.10-r2::gentoo USE="-alisp -debug -doc -python" PYTHON_SINGLE_TARGET="-python3_10 -python3_11*" 1082 KiB [ebuild R ] net-misc/rsync-3.2.7-r4::gentoo USE="acl iconv ssl xattr -examples -lz4 -rrsync -stunnel -system-zlib -verify-sig -xxhash -zstd" PYTHON_SINGLE_TARGET="-python3_10 -python3_11*" 1123 KiB ```
Owner

and I had to remove net-analyzer/nmap from my core package.

and I had to remove `net-analyzer/nmap` from my core package.
onkelbeh modified the milestone from 2024.4.0 to 2024.4.1 2024-04-08 19:36:10 +02:00

Updated recently to 2024.4.2 and removed Python 3.11 from the system. Everything is working as expected with Python 3.12 only a few gentoo repo packages needed to be tweaked.

e.g. avahi

USE="-python"
PYTHON_COMPAT=( python3_{10..12} ) -> PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11"

Updated recently to 2024.4.2 and removed Python 3.11 from the system. Everything is working as expected with Python 3.12 only a few gentoo repo packages needed to be tweaked. e.g. avahi USE="-python" PYTHON_COMPAT=( python3_{10..12} ) -> PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11"

I tried to update but you are not providing ~dev-utils/pandas-2.1.4 and it is no longer in the tree. This blocks me from rebuilding with 3.12 target enabled.

For HA I would really like to know what 3.12 features they are using to justify this change.

I tried to update but you are not providing ~dev-utils/pandas-2.1.4 and it is no longer in the tree. This blocks me from rebuilding with 3.12 target enabled. For HA I would really like to know what 3.12 features they are using to justify this change.
Owner

Yep, this was dropped in 3b1c143561, re-added in 9d92431cd

Yep, this was dropped in https://github.com/gentoo/gentoo/commit/3b1c143561bbc880652245e99ea4d555a6a92f00, re-added in 9d92431cd

One more: dev-python/python-socketio. It is no longer in Portage but it is in GURU, however GURU does not have any version <5.0. This cannot be satisfied:

        >=dev-python/python-socketio-4.6.0[${PYTHON_USEDEP}]
       <dev-python/python-socketio-5.0[${PYTHON_USEDEP}]

>python-socketio-5.0 would block your =python-engineio-3.14.2 ebuild.

One more: `dev-python/python-socketio`. It is no longer in Portage but it is in GURU, however GURU does not have any version <5.0. This cannot be satisfied: ``` >=dev-python/python-socketio-4.6.0[${PYTHON_USEDEP}] <dev-python/python-socketio-5.0[${PYTHON_USEDEP}] ``` `>python-socketio-5.0` would block your `=python-engineio-3.14.2` ebuild.
Owner

OK. I'll look into that.
Yesterday I was (for the first time) able to update a box with

PYTHON_TARGETS="python3_12"
PYTHON_SINGLE_TARGET="python3_12"

I needed some betas to add Python 3.12 support:

=app-admin/restart-services-1.3 ~amd64
=app-admin/lib_users-0.15-r1 ~amd64

Had not time yet to investigate deeper.

OK. I'll look into that. Yesterday I was (for the first time) able to update a box with ```bash PYTHON_TARGETS="python3_12" PYTHON_SINGLE_TARGET="python3_12" ``` I needed some betas to add Python 3.12 support: ``` =app-admin/restart-services-1.3 ~amd64 =app-admin/lib_users-0.15-r1 ~amd64 ``` Had not time yet to investigate deeper.
Owner

cc9894459 dev-python/python-socketio: re-add 4.6.0-r2 from archive

cc9894459 dev-python/python-socketio: re-add 4.6.0-r2 from archive
Sign in to join this conversation.
No Label
Bug
Bump/Update
Cleanup
Dupe
Enhancement
File Collision
Forked
help wanted
Integration: accuweather
Integration: acmeda
Integration: acomax
Integration: adax
Integration: adguard
Integration: aemet
Integration: aep_ohio
Integration: aep_texas
Integration: airq
Integration: airthings
Integration: airthings_ble
Integration: airtouch5
Integration: airzone
Integration: airzone_cloud
Integration: amazon_polly
Integration: amberelectric
Integration: ambient_station
Integration: analytics_insights
Integration: anel_pwrctrl
Integration: aosmith
Integration: apache_kafka
Integration: apcupsd
Integration: appalachianpower
Integration: apprise
Integration: aprilaire
Integration: aranet
Integration: aseko_pool_live
Integration: asuswrt
Integration: august
Integration: aws
Integration: axis
Integration: backup
Integration: bang_olufsen
Integration: blebox
Integration: blink
Integration: bluetooth
Integration: blue_current
Integration: bmw_connected_drive
Integration: bosch_shc
Integration: bring
Integration: brother
Integration: brottsplatskartan
Integration: bsblan
Integration: bthome
Integration: caldav
Integration: cast
Integration: ccm15
Integration: cloud
Integration: cloudflare
Integration: co2signal
Integration: coautilities
Integration: comelit
Integration: conversation
Integration: debugpy
Integration: deconz
Integration: deluge
Integration: denonavr
Integration: devialet
Integration: devolo_home_control
Integration: dhcp
Integration: discord
Integration: discovergy
Integration: dlna_dmr
Integration: dlna_dms
Integration: doods
Integration: drop_connect
Integration: dsmr
Integration: duotecno
Integration: duquesne_light
Integration: dwd_weather_warnings
Integration: easyenergy
Integration: ecobee
Integration: ecoforest
Integration: ecovacs
Integration: ecowitt
Integration: elgato
Integration: elvia
Integration: energyzero
Integration: enigma2
Integration: enphase_envoy
Integration: epion
Integration: esphome
Integration: evohome
Integration: ffmpeg
Integration: fjaraskupan
Integration: flexit_bacnet
Integration: flipr
Integration: forecast_solar
Integration: foscam
Integration: fritzbox
Integration: fronius
Integration: frontend
Integration: fujitsu_anywair
Integration: fyta
Integration: garages_amsterdam
Integration: gardena_bluetooth
Integration: gdacs
Integration: generic
Integration: geonetnz_quakes
Integration: geonetnz_volcano
Integration: geo_json_events
Integration: geo_rss_events
Integration: gios
Integration: glances
Integration: goodwe
Integration: google
Integration: google_assistant_sdk
Integration: google_generative_ai_conversation
Integration: govee_ble
Integration: govee_light_local
Integration: hive
Integration: hko
Integration: holiday
Integration: homekit_controller
Integration: homematicip_cloud
Integration: homewizard
Integration: honeywell
Integration: hp_ilo
Integration: html5
Integration: http
Integration: hue
Integration: hunterdouglas_powerview
Integration: husqvarna_automower
Integration: huum
Integration: hydrawise
Integration: iammeter
Integration: ibeacon
Integration: idasen_desk
Integration: ign_sismologia
Integration: image_upload
Integration: indianamichiganpower
Integration: insteon
Integration: ipp
Integration: islamic_prayer_times
Integration: justnimbus
Integration: jvc_projector
Integration: kef
Integration: kentuckypower
Integration: keymitt_ble
Integration: knx
Integration: kostal_plenticore
Integration: krispol
Integration: lamarzocco
Integration: ld2410_ble
Integration: leaone
Integration: led_ble
Integration: life360
Integration: lifx
Integration: linear_garage_door
Integration: litejet
Integration: litterrobot
Integration: local_calendar
Integration: local_todo
Integration: loqed
Integration: luci
Integration: lupusec
Integration: lutron
Integration: lutron_caseta
Integration: madeco
Integration: mastodon
Integration: matrix
Integration: matter
Integration: media_extractor
Integration: melcloud
Integration: met
Integration: meteoclimatic
Integration: meteo_france
Integration: metoffice
Integration: microbees
Integration: mill
Integration: minecraft_server
Integration: modbus
Integration: mopeka
Integration: motionblinds_ble
Integration: motionmount
Integration: motion_blinds
Integration: myuplink
Integration: nam
Integration: neato
Integration: netatmo
Integration: nexia
Integration: nextbus
Integration: nextcloud
Integration: nextdns
Integration: nibe_heatpump
Integration: nmap_tracker
Integration: nobo_hub
Integration: norway_air
Integration: notion
Integration: nsw_rural_fire_service_feed
Integration: nuki
Integration: numato
Integration: nut
Integration: nws
Integration: ollama
Integration: oncue
Integration: ondilo_ico
Integration: openai_conversation
Integration: openerz
Integration: open_meteo
Integration: opower
Integration: orvibo
Integration: osoenergy
Integration: otbr
Integration: ourgroceries
Integration: overkiz
Integration: p1_monitor
Integration: pegel_online
Integration: permobil
Integration: plex
Integration: plugwise
Integration: powerwall
Integration: private_ble_device
Integration: proxy
Integration: prusalink
Integration: psoklahoma
Integration: pure_energie
Integration: pvoutput
Integration: qingping
Integration: qld_bushfire
Integration: qrcode
Integration: rabbitair
Integration: rachio
Integration: radio_browser
Integration: rainbird
Integration: rainforest_raven
Integration: rainmachine
Integration: rdw
Integration: recorder
Integration: refoss
Integration: renault
Integration: renson
Integration: reolink
Integration: rflink
Integration: rfxtrx
Integration: ridwell
Integration: ring
Integration: risco
Integration: roborock
Integration: roku
Integration: romy
Integration: roomba
Integration: roon
Integration: route53
Integration: rova
Integration: samsam
Integration: samsungtv
Integration: schlage
Integration: scl
Integration: screenlogic
Integration: sensibo
Integration: sensorpush
Integration: sentry
Integration: seven_segments
Integration: sfr_box
Integration: shelly
Integration: sighthound
Integration: signal_messenger
Integration: simplisafe
Integration: sleepiq
Integration: slimproto
Integration: smarttub
Integration: smud
Integration: snmp
Integration: songpal
Integration: sonos
Integration: sql
Integration: squeezebox
Integration: ssdp
Integration: subaru
Integration: suez_water
Integration: sunweg
Integration: surepetcare
Integration: swepco
Integration: swiss_public_transport
Integration: switchbot
Integration: switchbot_cloud
Integration: switcher_kis
Integration: system_bridge
Integration: tado
Integration: tailwind
Integration: tankerkoenig
Integration: tasmota
Integration: technove
Integration: tedee
Integration: telegram_bot
Integration: temper
Integration: tensorflow
Integration: teslemetry
Integration: tessie
Integration: thermobeacon
Integration: thermopro
Integration: thread
Integration: tile
Integration: tolo
Integration: tplink
Integration: tplink_omada
Integration: tplink_tapo
Integration: traccar
Integration: traccar_server
Integration: trafikverket_camera
Integration: trafikverket_ferry
Integration: trafikverket_train
Integration: trafikverket_weatherstation
Integration: transmission
Integration: tuya
Integration: twentemilieu
Integration: unifi
Integration: unifiprotect
Integration: unifi_direct
Integration: upnp
Integration: usgs_earthquakes_feed
Integration: utility_meter
Integration: v2c
Integration: vallox
Integration: valve
Integration: velbus
Integration: velux
Integration: vicare
Integration: vilfo
Integration: vodafone_station
Integration: vulcan
Integration: wallbox
Integration: waqi
Integration: waze_travel_time
Integration: weatherflow_cloud
Integration: weatherkit
Integration: webmin
Integration: webostv
Integration: wemo
Integration: whirlpool
Integration: withings
Integration: wolflink
Integration: workday
Integration: wyoming
Integration: xiaomi_ble
Integration: yalexs_ble
Integration: yeelight
Integration: yolink
Integration: zamg
Integration: zeroconf
Integration: zha
Integration: zhong_hong
Integration: zondergas
Integration: zoneminder
Integration: zwave_js
invalid
New Integration
Python 3.10
Python 3.11
question
requirement
Requirement vanished
slot-conflict
Source Incomplete
SrcDir ${S} mismatch
TopLevelViolation
Update required
virtual
wontfix
No Milestone
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: onkelbeh/HomeAssistantRepository#2926
No description provided.