Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
GGeorggg opened this issue Apr 3, 2024 · 10 comments
Open
Assignees
Labels
bug Something isn't working

Comments

@GGeorggg
Copy link
Collaborator

GGeorggg commented Apr 3, 2024

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 GGeorggg added the bug Something isn't working label Apr 3, 2024
@GGeorggg
Copy link
Collaborator Author

GGeorggg commented Apr 3, 2024

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:

#11

@GGeorggg GGeorggg changed the title airnotifier not compatible with Python 3.11 / not compatible with hyper airnotifier not compatible with Python 3.10 / not compatible with hyper Apr 3, 2024
@GGeorggg GGeorggg changed the title airnotifier not compatible with Python 3.10 / not compatible with hyper airnotifier not compatible with Python 3.10 due to hyper depedency Apr 3, 2024
@GGeorggg GGeorggg changed the title airnotifier not compatible with Python 3.10 due to hyper depedency airnotifier not compatible with Python 3.10 due to hyper dependency Apr 3, 2024
@ChristophKunerth
Copy link

ChristophKunerth commented Apr 4, 2024

@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
Copy link
Collaborator Author

GGeorggg commented Apr 4, 2024

Hallo @ChristophKunerth

ich bin kein Python Entwickler, kannst du das machen ?

lg
Georg

@ChristophKunerth
Copy link

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

@GGeorggg
Copy link
Collaborator Author

GGeorggg commented Apr 4, 2024

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
Copy link

@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
Copy link
Collaborator Author

GGeorggg commented Apr 4, 2024

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
Copy link

rschrenk commented Apr 4, 2024

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
Copy link
Collaborator Author

GGeorggg commented Apr 5, 2024

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
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants