# tinker_cookbook.renderers

| Class | Description |
| --- | --- |
| [`Message`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/message/) | Container for a single turn in a multi-turn conversation. |
| [`RenderContext`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/rendercontext/) | Context passed to render_message for rendering a single message. |
| [`TrainOnWhat`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/trainonwhat/) | Enum controlling which parts of the sequence to compute loss on. |
| [`Renderer`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/renderer/) | Abstract base class for rendering message lists into training and sampling prompt. |

| Function | Description |
| --- | --- |
| [`register_renderer()`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/register_renderer/) | Register a custom renderer factory in the global registry. |
| [`get_registered_renderer_names()`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/get_registered_renderer_names/) | Return a list of all registered custom renderer names. |
| [`is_renderer_registered()`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/is_renderer_registered/) | Check if a renderer name is registered in the custom registry. |
| [`unregister_renderer()`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/unregister_renderer/) | Unregister a custom renderer factory. |
| [`get_renderer()`](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/renderers/get_renderer/) | Factory function to create renderers by name.
