Skip to content

DatabaseNamespace

pymoonraker.api.DatabaseNamespace

Moonraker key-value database.

Auto-generated from schema/moonraker_api.yaml.

Source code in src/pymoonraker/api/_generated.py
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
class DatabaseNamespace:
    """Moonraker key-value database.

    Auto-generated from schema/moonraker_api.yaml.
    """

    def __init__(self, client: MoonrakerClient) -> None:
        self._client = client

    async def list_namespaces(self) -> DatabaseListResponse:
        """List all database namespaces."""
        raw = await self._client.call("server.database.list")
        return DatabaseListResponse.model_validate(raw)

    async def get_item(self, namespace: str, key: str | None = None) -> DatabaseItemResponse:
        """Retrieve a value from the database.

        Args:
            namespace: Database namespace
            key: Key to retrieve (omit for full namespace)

        """
        params: dict[str, Any] = {}
        params["namespace"] = namespace
        if key is not None:
            params["key"] = key
        raw = await self._client.call("server.database.get_item", params)
        return DatabaseItemResponse.model_validate(raw)

    async def post_item(self, namespace: str, key: str, value: Any) -> DatabaseItemResponse:
        """Store or update a value in the database.

        Args:
            namespace: Database namespace
            key: Key to set
            value: Value to store

        """
        params: dict[str, Any] = {}
        params["namespace"] = namespace
        params["key"] = key
        params["value"] = value
        raw = await self._client.call("server.database.post_item", params)
        return DatabaseItemResponse.model_validate(raw)

    async def delete_item(self, namespace: str, key: str) -> DatabaseItemResponse:
        """Delete a value from the database.

        Args:
            namespace: Database namespace
            key: Key to delete

        """
        params: dict[str, Any] = {}
        params["namespace"] = namespace
        params["key"] = key
        raw = await self._client.call("server.database.delete_item", params)
        return DatabaseItemResponse.model_validate(raw)

delete_item async

delete_item(namespace: str, key: str) -> DatabaseItemResponse

Delete a value from the database.

Parameters:

Name Type Description Default
namespace str

Database namespace

required
key str

Key to delete

required
Source code in src/pymoonraker/api/_generated.py
710
711
712
713
714
715
716
717
718
719
720
721
722
async def delete_item(self, namespace: str, key: str) -> DatabaseItemResponse:
    """Delete a value from the database.

    Args:
        namespace: Database namespace
        key: Key to delete

    """
    params: dict[str, Any] = {}
    params["namespace"] = namespace
    params["key"] = key
    raw = await self._client.call("server.database.delete_item", params)
    return DatabaseItemResponse.model_validate(raw)

get_item async

get_item(namespace: str, key: str | None = None) -> DatabaseItemResponse

Retrieve a value from the database.

Parameters:

Name Type Description Default
namespace str

Database namespace

required
key str | None

Key to retrieve (omit for full namespace)

None
Source code in src/pymoonraker/api/_generated.py
679
680
681
682
683
684
685
686
687
688
689
690
691
692
async def get_item(self, namespace: str, key: str | None = None) -> DatabaseItemResponse:
    """Retrieve a value from the database.

    Args:
        namespace: Database namespace
        key: Key to retrieve (omit for full namespace)

    """
    params: dict[str, Any] = {}
    params["namespace"] = namespace
    if key is not None:
        params["key"] = key
    raw = await self._client.call("server.database.get_item", params)
    return DatabaseItemResponse.model_validate(raw)

list_namespaces async

list_namespaces() -> DatabaseListResponse

List all database namespaces.

Source code in src/pymoonraker/api/_generated.py
674
675
676
677
async def list_namespaces(self) -> DatabaseListResponse:
    """List all database namespaces."""
    raw = await self._client.call("server.database.list")
    return DatabaseListResponse.model_validate(raw)

post_item async

post_item(namespace: str, key: str, value: Any) -> DatabaseItemResponse

Store or update a value in the database.

Parameters:

Name Type Description Default
namespace str

Database namespace

required
key str

Key to set

required
value Any

Value to store

required
Source code in src/pymoonraker/api/_generated.py
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
async def post_item(self, namespace: str, key: str, value: Any) -> DatabaseItemResponse:
    """Store or update a value in the database.

    Args:
        namespace: Database namespace
        key: Key to set
        value: Value to store

    """
    params: dict[str, Any] = {}
    params["namespace"] = namespace
    params["key"] = key
    params["value"] = value
    raw = await self._client.call("server.database.post_item", params)
    return DatabaseItemResponse.model_validate(raw)