dimensionalOS / dimensionalOS/dimos
PY API - Return values that are dicts: instance methods unusable on the client
@paul-nechifor is already working on this.
Since May 3, 2026.
- Dominant language
- Python
- Stars
- 4.5k
- Forks
- 808
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 233
Description
Calling any RPC that returns a dict (e.g. publish_request returning the WebRTC response) and then doing r.get("data"), r.keys(), r.values() etc. from the client side fails with:
AttributeError: cannot access 'get'
Dunder methods (__getitem__, __repr__, __contains__, __iter__, ...) are exposed by RPyC's netref class even when allow_public_attrs=False.
resp.get('data') → AttributeError: cannot access 'get'
resp['data'] → KeyError: 'data' (server-side dict really had no 'data' key — this is normal Python)
repr(resp) → "{'status': 'ok', 'message': 'Fake publish'}"
for k, v in resp.items() and resp.get(k, default) style code is broken; bracket indexing, len(), in, iteration, and printing all work.
the dict is a netref, and the client-side VoidService doesn't allow public attribute reads. same issue as https://github.com/dimensionalOS/dimos/issues/1965
Synced from DIM-837 by summer
Contributor guide
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.
Assessment
This issue has not been assessed yet.