multiprocessing classes SimpleQueue and Queue don't support typing in 3.11.0 · Issue #99509 · python/cpython (original) (raw)
Bug report
SimpleQueue
and Queue
classes from multiprocessing
module in Python 3.11.0 do not support type [str]
annotation.
Minimal, reproducible example:
from multiprocessing import Queue multiprocessing_queue: Queue[str] = Queue()
or
from multiprocessing import SimpleQueue multiprocessing_queue: SimpleQueue[str] = SimpleQueue()
Result - error:
multiprocessing_queue: SimpleQueue[str] = SimpleQueue()
~~~~~~~~~~~^^^^^
TypeError: 'method' object is not subscriptable
How it should work:
It should work like Queue
from the queue
module:
from queue import Queue standard_queue: Queue[str] = Queue()
Result - no error.
Why do I need this?
I want my IDE to know that queue.get()
returns str
object.
Your environment
Python 3.11.0 arm64
Python 3.11.0 (main, Nov 4 2022, 17:22:54) [Clang 14.0.0 (clang-1400.0.29.202)] on darwin
MacBook M1 Pro macOS Ventura 13.0.1.