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

Change tango to support 3.12: AttributeProxy::_event_processor to be coroutine #681

Open
evalott100 opened this issue Nov 27, 2024 · 0 comments

Comments

@evalott100
Copy link
Contributor

evalott100 commented Nov 27, 2024

Using python 3.12, we get the following deprecation warning:

--------------------------------------------------------- Captured stdout setup ---------------------------------------------------------
Ready to accept request
--------------------------------------------------------- Captured stderr setup ---------------------------------------------------------
Can't create notifd event supplier. Notifd event not available
--------------------------------------------------------- Captured stderr call ----------------------------------------------------------
push_event generated the following python exception:
Traceback (most recent call last):
  File "/scratch/twj43146/Programming/ophyd-async/.venv/lib/python3.12/site-packages/tango/green.py", line 249, in greener
    return executor.submit(fn, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/scratch/twj43146/Programming/ophyd-async/.venv/lib/python3.12/site-packages/tango/asyncio_executor.py", line 214, in submit
    warnings.warn(
DeprecationWarning: Sync AttributeProxy._event_processor function called: support of sync functions in PyTango's Asyncio mode is deprecated. Use 'async def' instead of 'def'.

This was causing test failures. We ignored them in #655, but we should alter this method to be a coroutine and we should remove the test skipping. The tests may also be faulty on 3.12 for other reasons.

Callback methods on AttributeProxy cannot easily be made into coroutines since SignalBackend does not currently support async callbacks.

evalott100 added a commit that referenced this issue Nov 27, 2024
This will be handled seperately in #681.
evalott100 added a commit that referenced this issue Nov 27, 2024
This will be handled seperately in
#681.
evalott100 added a commit that referenced this issue Nov 27, 2024
This will be handled seperately in
#681.
evalott100 added a commit that referenced this issue Nov 28, 2024
This will be handled seperately in
#681.
evalott100 added a commit that referenced this issue Dec 4, 2024
This will go in a seperate issue #681
evalott100 added a commit that referenced this issue Dec 4, 2024
This will go in a seperate issue #681
@evalott100 evalott100 changed the title Change tango AttributeProxy::_event_processor to be coroutine Change tango to support 3.12: AttributeProxy::_event_processor to be coroutine Dec 4, 2024
evalott100 added a commit that referenced this issue Dec 4, 2024
This will go in a seperate issue #681
evalott100 added a commit that referenced this issue Dec 4, 2024
* Add Python 3.12 to CI and pyproject.toml now that p4p is updated

* skipped tango tests on 3.12 - this will go in a seperate issue #681

---------

Co-authored-by: Eva Lott <eva.lott@diamond.ac.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant