-
-
Notifications
You must be signed in to change notification settings - Fork 107
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
Migrate to Nunavut v2 #318
Migrate to Nunavut v2 #318
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please run Black to fix code formatting.
Also do not forget to bump the minor version when the PR is ready.
Fixes OpenCyphal#316 --------- Co-authored-by: Pavel Kirienko <[email protected]>
It looks like Yakut needs the |
Unrelated, should the package be marked as |
Maybe, but it would probably be a micro-optimization and this flag is obsolete either way, so I prefer not to touch it. See https://setuptools.pypa.io/en/latest/deprecated/zip_safe.html |
I have opened a ticket about this in the Yakut repo. Would you be available to submit the required changes there? For testing, you can replace the PyCyphal dependency specification as follows: install_requires =
- pycyphal[transport-udp,transport-serial,transport-can-pythoncan] ~= 1.8
+ pycyphal[transport-udp,transport-serial,transport-can-pythoncan] ~= git+https://github.com/Willmac16/pycyphal@Willmac16/issue277 You can temporarily replace the Yakut dependency in PyCyphal integration tests in a similar fashion. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like Yakut needs the pycyphal.dsdl.([a-z_]+) -> nunavut_support.$1 treatment.
I have opened a ticket about this in the Yakut repo.
Wait, I have a better idea. Can we please provide wrappers in pycyphal.dsdl
of the form:
def update_from_builtin(destination: T, source: Any) -> T:
"""
A wrapper over ``nunavut_support.update_from_builtin``.
The ``nunavut_support`` module will be generated automatically if it is not importable.
"""
from nunavut_support import update_from_builtin
return update_from_builtin(destination, source)
That should avoid the breakage of Yakut.
Also, could you please update the docs here:
- https://pycyphal--318.org.readthedocs.build/en/318/pages/architecture.html#dsdl-support
- https://pycyphal--318.org.readthedocs.build/en/318/api/pycyphal.dsdl.html#module-pycyphal.dsdl
CompositeObject
and ServiceObject
are simply gone now.
Once everything in this PR is good to go 🤞
Edit: Looks like squashed merges are a built in GitHub feature so I'll refrain from doing it manually. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it looks good aside from a few minor nits. Please request another review when done and we'll have it merged.
Addresses #277
I'm still a bit unsure about how I'm handling
nunavut_support.py
, so I'd appreciate feedback on that and anything else.