sematic icon indicating copy to clipboard operation
sematic copied to clipboard

Add python 3.10 support

Open augray opened this issue 2 years ago • 2 comments

It would be nice to have support for the latest stable python version. We currently have some libraries that aren't playing well on 3.10 (I think eventlet, perhaps?).

augray avatar Aug 27 '22 01:08 augray

That would be awesome. Currently it crashes with

  File "/tmp/virtualenv/bin/sematic", line 5, in <module>
    from sematic.cli.main import cli
  File "/tmp/virtualenv/lib/python3.10/site-packages/sematic/cli/main.py", line 3, in <module>
    import sematic.cli.start  # noqa: F401
  File "/tmp/virtualenv/lib/python3.10/site-packages/sematic/cli/start.py", line 16, in <module>
    from sematic.api.server import run_wsgi
  File "/tmp/virtualenv/lib/python3.10/site-packages/sematic/api/server.py", line 8, in <module>
    from flask_socketio import SocketIO, Namespace  # type: ignore
  File "/tmp/virtualenv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 9, in <module>
    from socketio import socketio_manage  # noqa: F401
  File "/tmp/virtualenv/lib/python3.10/site-packages/socketio/__init__.py", line 9, in <module>
    from .zmq_manager import ZmqManager
  File "/tmp/virtualenv/lib/python3.10/site-packages/socketio/zmq_manager.py", line 5, in <module>
    import eventlet.green.zmq as zmq
  File "/tmp/virtualenv/lib/python3.10/site-packages/eventlet/__init__.py", line 17, in <module>
    from eventlet import convenience
  File "/tmp/virtualenv/lib/python3.10/site-packages/eventlet/convenience.py", line 7, in <module>
    from eventlet.green import socket
  File "/tmp/virtualenv/lib/python3.10/site-packages/eventlet/green/socket.py", line 4, in <module>
    __import__('eventlet.green._socket_nodns')
  File "/tmp/virtualenv/lib/python3.10/site-packages/eventlet/green/_socket_nodns.py", line 11, in <module>
    from eventlet import greenio
  File "/tmp/virtualenv/lib/python3.10/site-packages/eventlet/greenio/__init__.py", line 3, in <module>
    from eventlet.greenio.base import *  # noqa
  File "/tmp/virtualenv/lib/python3.10/site-packages/eventlet/greenio/base.py", line 32, in <module>
    socket_timeout = eventlet.timeout.wrap_is_timeout(socket.timeout)
  File "/tmp/virtualenv/lib/python3.10/site-packages/eventlet/timeout.py", line 166, in wrap_is_timeout
    base.is_timeout = property(lambda _: True)
TypeError: cannot set 'is_timeout' attribute of immutable type 'TimeoutError'

bobek avatar Aug 30 '22 06:08 bobek

Great, thanks for capturing the trace here!

augray avatar Sep 02 '22 21:09 augray