---
url: "https://vueda.dev/v3/reference/api/py/vueda.core.utils.md"
title: "core.utils"
---

# core.utils

## Overview

Shared utilities for template rendering, system user lookup, and fake requests and views.

## Classes

- [ActionView](/v3/reference/api/py/vueda.core.utils/ActionView.md)
- [AvailableActionsRequest](/v3/reference/api/py/vueda.core.utils/AvailableActionsRequest.md)

## `get_system_user` {#get_system_user}

Return the user with ``is_system=True``. Workflow transitions fall back to this user when no acting
user is known.

Raises ``DoesNotExist`` when no system user exists.

### Signature {#get_system_user-signature}

`get_system_user()`

#### Returns {#get_system_user-returns}

`User`

### Source {#get_system_user-source}

`server/vueda/core/utils.py:23`

## `implemented_builtin_actions` {#implemented_builtin_actions}

The built-in CRUD actions ``viewset`` (a class or an instance) implements, in
``BUILTIN_ACTIONS`` order.

Uses the test DRF's router applies when it routes a viewset (``hasattr(viewset, action)``),
so action discovery offers exactly the built-in actions that have a route. A
``VuedaReadOnlyViewSet`` yields ``list`` and ``retrieve`` only.

### Signature {#implemented_builtin_actions-signature}

`implemented_builtin_actions(viewset)`

#### Parameters {#implemented_builtin_actions-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="implemented_builtin_actions-param-viewset">viewset</span> |  | yes |  |  |

#### Returns {#implemented_builtin_actions-returns}

`tuple[str, ...]`

### Source {#implemented_builtin_actions-source}

`server/vueda/core/utils.py:39`

## `render_template` {#render_template}

Replace tags in the body with their corresponding values from the tags dictionary.

### Signature {#render_template-signature}

`render_template(text, tags)`

#### Parameters {#render_template-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="render_template-param-text">text</span> | `str` | yes |  |  |
| <span id="render_template-param-tags">tags</span> | `dict` | yes |  |  |

#### Returns {#render_template-returns}

`str`

### Source {#render_template-source}

`server/vueda/core/utils.py:51`

## Source

`server/vueda/core/utils.py`
