Core Library0.xAPI Reference

Choose documentation 3

latest

Current version

latest
English

Early release libtmux is released, and its APIs may still change between releases. This site's structure and URLs may change too.

function libtmux latest

keygetter

Fetch values in objects and keys, supported nested data.

Source and package
Qualified name
libtmux._internal.query_list.keygetter
Module
libtmux._internal.query_list
Package
libtmux
Source
src/libtmux/_internal/query_list.py
keygetter ( obj: Mapping[str, t.Any], path: str ) → t.Any | str | list[str] | Mapping[str, str] | None

Description#

With dictionaries:

>>> keygetter({ "food": { "breakfast": "cereal" } }, "food")
{'breakfast': 'cereal'}
>>> keygetter({ "food": { "breakfast": "cereal" } }, "food__breakfast")
'cereal'

With objects:

>>> from typing import List, Optional
>>> from dataclasses import dataclass, field
>>> @dataclass()
... class Food:
... fruit: List[str] = field(default_factory=list)
... breakfast: Optional[str] = None
>>> @dataclass()
... class Restaurant:
... place: str
... city: str
... state: str
... food: Food = field(default_factory=Food)
>>> restaurant = Restaurant(
... place="Largo",
... city="Tampa",
... state="Florida",
... food=Food(
... fruit=["banana", "orange"], breakfast="cereal"
... )
... )
>>> restaurant
Restaurant(place='Largo',
city='Tampa',
state='Florida',
food=Food(fruit=['banana', 'orange'], breakfast='cereal'))
>>> keygetter(restaurant, "food")
Food(fruit=['banana', 'orange'], breakfast='cereal')
>>> keygetter(restaurant, "food__breakfast")
'cereal'
Parameters
Esc

Type to search.

Reference previewOpen reference