Utilities
Config-driven keyboard creation, introspection, and validation helpers.
Config-Driven Keyboards
Create keyboards from dictionaries or JSON — useful for dynamic UIs stored in databases or config files.
from pykeyboard.utils import create_keyboard_from_config
config = {
"type": "inline",
"row_width": 2,
"buttons": [
{"text": "Option A", "callback_data": "a"},
{"text": "Option B", "callback_data": "b"},
{"text": "🔗 Link", "url": "https://example.com"},
]
}
kb = create_keyboard_from_config(config)
await message.reply("Dynamic:", reply_markup=kb)Introspection
from pykeyboard.utils import get_keyboard_info
info = get_keyboard_info(kb)
print(info)
# {'type': 'inline', 'rows': 2, 'buttons': 3, 'row_width': 2}Validation
from pykeyboard.utils import validate_keyboard_config
errors = validate_keyboard_config(config)
if errors:
print("Config errors:", errors)
else:
print("Config is valid!")Functions
| Function | Returns | Description |
|---|---|---|
create_keyboard_from_config(config) | Keyboard | Build keyboard from dict/JSON config |
get_keyboard_info(keyboard) | dict | Get metadata about a keyboard instance |
validate_keyboard_config(config) | list | Validate config dict, returns error list |