BiP-org / airnotifier

Push Notifications Server for Human Beings.
Other
0 stars 1 forks source link

airnotifier not compatible with Python 3.10 due to hyper dependency #10

Open GGeorggg opened 7 months ago

GGeorggg commented 7 months ago

https://github.com/python-hyper/hyper is no longer supported (EOL 2017 - an therefor not compatible with Python >=3.10)

Iterable abstract class was removed from collections in Python 3.10. See the deprecation note in the 3.9 collections docs. In the section Removed of the 3.10 docs, the item

Remove deprecated aliases to Collections Abstract Base Classes from the collections module. (Contributed by Victor Stinner in bpo-37324.) is what results in your error.

You can use Iterable from collections.abc instead, or use Python 3.9 if the problem is in a dependency that can't be updated.

airnotifier    | Installing AirNotifier ...
airnotifier    | Starting AirNotifier ...
airnotifier    | Traceback (most recent call last):
airnotifier    |   File "/airnotifier/./app.py", line 32, in <module>
airnotifier    |     from pushservices.bootstrap import init_messaging_agents
airnotifier    |   File "/airnotifier/pushservices/bootstrap.py", line 2, in <module>
airnotifier    |     from .apns import *
airnotifier    |   File "/airnotifier/pushservices/apns.py", line 7, in <module>
airnotifier    |     import hyper
airnotifier    |   File "/root/.local/share/virtualenvs/airnotifier-VNC5CTQn/lib/python3.10/site-packages/hyper/__init__.py", line 11, in <module>
airnotifier    |     from .common.connection import HTTPConnection
airnotifier    |   File "/root/.local/share/virtualenvs/airnotifier-VNC5CTQn/lib/python3.10/site-packages/hyper/common/connection.py", line 9, in <module>
airnotifier    |     from ..http11.connection import HTTP11Connection
airnotifier    |   File "/root/.local/share/virtualenvs/airnotifier-VNC5CTQn/lib/python3.10/site-packages/hyper/http11/connection.py", line 13, in <module>
airnotifier    |     from collections import Iterable, Mapping
airnotifier    | ImportError: cannot import name 'Iterable' from 'collections' (/usr/local/lib/python3.10/collections/__init__.py)
GGeorggg commented 7 months ago

Die letzte unterstützte Python Version für hyper ist Python 3.9 - das ist aber mit 2025-10 EOL

https://www.python.org/downloads/

see-also:

https://github.com/BiP-org/airnotifier/issues/11

ChristophKunerth commented 7 months ago

@GGeorggg Eventuell könnten wir in unserem Fork hyper mit HTTPX austauschen, welches aktiv maintained wird? Dann müssten wir nicht auf nächstes Jahr tote Versionen downgraden. Könnte man dann auch direkt im main repository als PR anlegen, mit dem Problem werden ja andere airnotifier Nutzer auch konfrontiert.

GGeorggg commented 7 months ago

Hallo @ChristophKunerth

ich bin kein Python Entwickler, kannst du das machen ?

lg Georg

ChristophKunerth commented 7 months ago

@GGeorggg Ja ich kanns mir ansehen, hast du das bis jetzt nur lokal installieren versucht oder kann ich einen install auch wo ausprobieren?

GGeorggg commented 7 months ago

Hallo @ChristophKunerth

ich würde Codespaces für dieses Docker Container Projekt empfehlen - da ihr vom Tooling auf Grund der IT-Policy stark eingeschränkt seid.

Was meinst du ?

https://notes.alexkehayias.com/running-docker-compose-in-codespaces/

lg Georg

ChristophKunerth commented 7 months ago

@GGeorggg Schaut theoretisch gut verwendbar aus, die Firewall im Haus blockt aber CodeSpaces... Ich hab fürs erste bei der IT Angefragt ob sie die Domain freischalten können. Funktioniert leider nichtmal auf der Development Maschine.

GGeorggg commented 7 months ago

Hallo @ChristophKunerth

Alternativ kannst du den selben Weg wie @rschrenk mit einer Entwicklungsumgrbung vorantreiben ?

Das wird vermutlich schneller ans Ziel führen da bereits auf vorhandene Struktur zurückgegriffen werden kann ?

LG Georg

rschrenk commented 7 months ago

Hallo @GGeorggg

Ich verstehe das Problem nicht. Können wir den Airnotifier nun in Betrieb nehmen oder nicht?

wenn es um eine Anpassung geht, für die wir noch Monate Zeit haben, dann soll uns das jetzt nicht aufhalten.

LG

GGeorggg commented 7 months ago

Hallo @rschrenk

siehe https://github.com/BiP-org/bip-infrastructure/issues/473 (erstes Kommentar)

ja können wir, aber mit Einschränkungen:

lg Georg

ChristophKunerth commented 7 months ago

Zwecks Anpassung für Python, das kann ich mir lokal zurzeit nur im Homeoffice am Privatrechner anschauen, das ist dann für Mittwoch vorgemerkt. Ich hab auch mal ein Issue erstellt, aber das Repository scheint generell nicht mehr sehr aktiv zu sein. Codespaces wird von der Infrastruktur geblockt und Freischaltung ist hier nicht geplant. Wir haben jetzt eine Anfrage gestellt wenigstens WSL2 mit Adminrechten am Devserver eingerichtet zu bekommen. Fingers crossed.