Skip to content

Update to 1.7.0 and rework metaprogramming#4

Merged
tkornack merged 26 commits intotwinleaf:mainfrom
rasen68:rework
Mar 28, 2026
Merged

Update to 1.7.0 and rework metaprogramming#4
tkornack merged 26 commits intotwinleaf:mainfrom
rasen68:rework

Conversation

@rasen68
Copy link
Copy Markdown
Contributor

@rasen68 rasen68 commented Mar 26, 2026

  • Add PyRpc and PyRegistry to lib.rs wrapping device::RpcDescriptor and device::RpcRegistry and exposing helpful methods
  • Add _rpc_list() and _rpc_registry() to PyDevice to return device::RpcList.vec and PyRegistry
  • Use PyRpc to not have to parse raw metadata in __init__.py
  • Consolidate Device._get_obj_*() metaprogramming methods into cleaner _RpcSurvey _Rpc, _SamplesDict, and _SamplesList classes
  • _Rpc subclasses for types of call methods
  • Use PyRegistry to recursively instantiate RPCs, fixing bug where an RPC would override its children if added after.
  • Add brief docstrings, type hinting, and __repr__s

rasen68 added 26 commits March 24, 2026 11:08
…istry) to interface with RpcDescriptor and RpcRegistry
@tkornack tkornack merged commit 3cd925d into twinleaf:main Mar 28, 2026
16 checks passed
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

Successfully merging this pull request may close these issues.

2 participants