RuntimeError: generator didn't yield in telemetry wrapper with Python 3.12.10+ (getstream 2.5.x)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 42/100
Research direction
Start with getstream/common/telemetry.py at span_request and the wrapper, then trace the call from getstream/base.py::_request_sync shown in the traceback. Reproduce the failure on Python 3.12.11 with getstream 2.5.3 and compare behavior with 2.4.1. Done means the video get_or_create operation no longer raises RuntimeError: generator didn't yield.
Written by the indexing model from the issue text.
Description
Description
Summary
The getstream SDK (versions 2.5.x) throws a RuntimeError: generator didn't yield error when using Python 3.12.10 or later. The error occurs in the telemetry context manager wrapper during video call operations.
Environment
Python Version: 3.12.11 (also affects 3.12.10+)
getstream Version: 2.5.3, 2.5.2 (confirmed broken)
Working Version: 2.4.1 (confirmed working)
Operating System: macOS (also reproduced in Docker with Python 3.12.11-bookworm)
Framework: FastAPI
Error Traceback
File "/usr/local/lib/python3.12/site-packages/getstream/common/telemetry.py", line 238, in wrapper
return func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/getstream/video/call.py", line 54, in get_or_create
response = self.client.get_or_create_call(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/getstream/common/telemetry.py", line 435, in wrapper
return func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/getstream/video/rest_client.py", line 176, in get_or_create_call
return self.post(
^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/getstream/base.py", line 248, in post
return self._request_sync(
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/getstream/base.py", line 174, in _request_sync
with span_request(
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/contextlib.py", line 139, in __enter__
raise RuntimeError("generator didn't yield") from None
RuntimeError: generator didn't yield
- Dominant language
- Python
- Stars
- 25
- Forks
- 14
- Avg merge
- 18h 23m
- Merged PRs (30d)
- 12
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from GetStream/stream-py
-
List query parameters are percent-encoded twicePossibly taken @RaphaelFakhri claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
GetStream/stream-py#293 · 10 comments ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
Maintainers usually reply within 1 day
All issues in GetStream/stream-py
Similar issues
-
docs pydanty:is-working
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
pydantic/pydantic-ai#10113 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
GreedyBear-Project/GreedyBear#1727 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
ARM-software/CMSIS-DSP#354 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
kiat/codeAssist#391 ·
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
darnitdevorg/darnit#587 ·
Maintainers usually reply within 1 day