tiqi-group / pydase

A flexible and robust Python library for creating, managing, and interacting with data services, with built-in support for web and RPC servers, and customizable features for diverse use cases.
MIT License
0 stars 1 forks source link

Tab completion on list / dict entries does not work properly #125

Open mosmuell opened 2 months ago

mosmuell commented 2 months ago

Describe the bug

When connecting with pydase.Client to a pydase.Server, tab completion does not work on elements of a list or dictionary.

To Reproduce

Server:

import enum
import logging

import pydase
import pydase.components

logger = logging.getLogger(__name__)

class Subservice(pydase.DataService):
    def __init__(self) -> None:
        super().__init__()
        self.slider = pydase.components.NumberSlider()

class SimpleService(pydase.DataService):
    def __init__(self) -> None:
        super().__init__()
        self.subservices = [Subservice()]

Client:

import pydase

proxy = pydase.Client("<hostname>", <port>).proxy
proxy.subservices[0]. #pressing tab here
proxy.subservices[0].slider.  #pressing tab here

Expected behaviour

Pressing tab when having typed proxy.subservices[0]. should show slider as possible option. With proxy.subservices[0].slider. I expect value, min, max and step_size.