typesense-python icon indicating copy to clipboard operation
typesense-python copied to clipboard

[bug] typesense.configuration.ConfigDict is missing parameter connection_timeout_seconds

Open rchui opened this issue 9 months ago • 0 comments

connection_timeout_seconds is listed in the Configuration class docstring:

    """
    Class for managing the configuration settings for the Typesense client.

    Attributes:
        nodes (list[Node]): A list of Node objects representing the nodes in the cluster.
        nearest_node (Node | None): The nearest node to the client.
        api_key (str): The API key to use for authentication.
        connection_timeout_seconds (float): The connection timeout in seconds.
        num_retries (int): The number of retries to attempt before failing.
        retry_interval_seconds (float): The interval in seconds between retries.
        healthcheck_interval_seconds (int): The interval in seconds between health checks.
        verify (bool): Whether to verify the SSL certificate.
    """

And is referenced in the init:

        self.connection_timeout_seconds = config_dict.get(
            "connection_timeout_seconds",
            3.0,
        )

But ConfigDict does not define the field:

    nodes: typing.List[typing.Union[str, NodeConfigDict]]
    nearest_node: typing.NotRequired[typing.Union[str, NodeConfigDict]]
    api_key: str
    num_retries: typing.NotRequired[int]
    interval_seconds: typing.NotRequired[int]
    healthcheck_interval_seconds: typing.NotRequired[int]
    verify: typing.NotRequired[bool]
    timeout_seconds: typing.NotRequired[int]  # deprecated
    master_node: typing.NotRequired[typing.Union[str, NodeConfigDict]]  # deprecated
    additional_headers: typing.NotRequired[typing.Dict[str, str]]
    read_replica_nodes: typing.NotRequired[
        typing.List[typing.Union[str, NodeConfigDict]]
    ]  # deprecated

https://typesense.org/docs/28.0/api/authentication.html

rchui avatar Mar 29 '25 00:03 rchui