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

# EnvLike

## Overview

Base class for protocol classes.

Protocol classes are defined as::

    class Proto(Protocol):
        def meth(self) -> int:
            ...

Such classes are primarily used with static type checkers that recognize
structural subtyping (static duck-typing).

For example::

    class C:
        def meth(self) -> int:
            return 0

    def func(x: Proto) -> int:
        return x.meth()

    func(C())  # Passes static type check

See PEP 544 for details. Protocol classes decorated with
@typing.runtime_checkable act as simple-minded runtime protocols that check
only the presence of given attributes, ignoring their type signatures.
Protocol classes can be generic, they are defined as::

    class GenProto[T](Protocol):
        def meth(self) -> T:
            ...

## `__init__` {#--init--}

### Signature {#--init---signature}

`__init__(args, kwargs)`

#### Parameters {#--init---parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| <span id="--init---param-args">args</span> |  | no |  |  |
| <span id="--init---param-kwargs">kwargs</span> |  | no |  |  |

## `bool` {#bool}

### Signature {#bool-signature}

`bool(self, key, default)`

#### Parameters {#bool-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="bool-param-key">key</span> | `str` | yes |  |  |
| <span id="bool-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#bool-returns}

`bool`

### Source {#bool-source}

`server/vueda/core/default_settings.py:40`

## `date` {#date}

### Signature {#date-signature}

`date(self, key, default)`

#### Parameters {#date-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="date-param-key">key</span> | `str` | yes |  |  |
| <span id="date-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#date-returns}

`Any`

### Source {#date-source}

`server/vueda/core/default_settings.py:66`

## `datetime` {#datetime}

### Signature {#datetime-signature}

`datetime(self, key, default)`

#### Parameters {#datetime-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="datetime-param-key">key</span> | `str` | yes |  |  |
| <span id="datetime-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#datetime-returns}

`Any`

### Source {#datetime-source}

`server/vueda/core/default_settings.py:65`

## `decimal` {#decimal}

### Signature {#decimal-signature}

`decimal(self, key, default)`

#### Parameters {#decimal-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="decimal-param-key">key</span> | `str` | yes |  |  |
| <span id="decimal-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#decimal-returns}

`Any`

### Source {#decimal-source}

`server/vueda/core/default_settings.py:44`

## `dict` {#dict}

### Signature {#dict-signature}

`dict(self, key, default, delimiter, key_value_delimiter, subcast_keys, subcast_key, subcast_values)`

#### Parameters {#dict-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="dict-param-key">key</span> | `str` | yes |  |  |
| <span id="dict-param-default">default</span> | `Any` | no | `Ellipsis` |  |
| <span id="dict-param-delimiter">delimiter</span> | `str` | no | `Ellipsis` |  |
| <span id="dict-param-key_value_delimiter">key_value_delimiter</span> | `str` | no | `Ellipsis` |  |
| <span id="dict-param-subcast_keys">subcast_keys</span> | `Callable[[Any], Any] \| None` | no | `Ellipsis` |  |
| <span id="dict-param-subcast_key">subcast_key</span> | `Callable[[Any], Any] \| None` | no | `Ellipsis` |  |
| <span id="dict-param-subcast_values">subcast_values</span> | `Callable[[Any], Any] \| None` | no | `Ellipsis` |  |

#### Returns {#dict-returns}

`dict[Any, Any]`

### Source {#dict-source}

`server/vueda/core/default_settings.py:45`

## `dj_cache_url` {#dj_cache_url}

### Signature {#dj_cache_url-signature}

`dj_cache_url(self, key, default, kwargs)`

#### Parameters {#dj_cache_url-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="dj_cache_url-param-key">key</span> | `str` | yes |  |  |
| <span id="dj_cache_url-param-default">default</span> | `Any` | no | `Ellipsis` |  |
| <span id="dj_cache_url-param-kwargs">kwargs</span> | `Any` | no |  |  |

#### Returns {#dj_cache_url-returns}

`dict[str, Any]`

### Source {#dj_cache_url-source}

`server/vueda/core/default_settings.py:92`

## `dj_db_url` {#dj_db_url}

### Signature {#dj_db_url-signature}

`dj_db_url(self, key, default, kwargs)`

#### Parameters {#dj_db_url-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="dj_db_url-param-key">key</span> | `str` | yes |  |  |
| <span id="dj_db_url-param-default">default</span> | `Any` | no | `Ellipsis` |  |
| <span id="dj_db_url-param-kwargs">kwargs</span> | `Any` | no |  |  |

#### Returns {#dj_db_url-returns}

`dict[str, Any]`

### Source {#dj_db_url-source}

`server/vueda/core/default_settings.py:90`

## `dj_email_url` {#dj_email_url}

### Signature {#dj_email_url-signature}

`dj_email_url(self, key, default, kwargs)`

#### Parameters {#dj_email_url-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="dj_email_url-param-key">key</span> | `str` | yes |  |  |
| <span id="dj_email_url-param-default">default</span> | `Any` | no | `Ellipsis` |  |
| <span id="dj_email_url-param-kwargs">kwargs</span> | `Any` | no |  |  |

#### Returns {#dj_email_url-returns}

`dict[str, Any]`

### Source {#dj_email_url-source}

`server/vueda/core/default_settings.py:91`

## `enum` {#enum}

### Signature {#enum-signature}

`enum(self, key, enum_cls, default, by_value, case_sensitive)`

#### Parameters {#enum-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="enum-param-key">key</span> | `str` | yes |  |  |
| <span id="enum-param-enum_cls">enum_cls</span> | `type[_T]` | yes |  |  |
| <span id="enum-param-default">default</span> | `Any` | no | `Ellipsis` |  |
| <span id="enum-param-by_value">by_value</span> | `bool` | no | `Ellipsis` |  |
| <span id="enum-param-case_sensitive">case_sensitive</span> | `bool` | no | `Ellipsis` |  |

#### Returns {#enum-returns}

`_T`

### Source {#enum-source}

`server/vueda/core/default_settings.py:73`

## `float` {#float}

### Signature {#float-signature}

`float(self, key, default)`

#### Parameters {#float-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="float-param-key">key</span> | `str` | yes |  |  |
| <span id="float-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#float-returns}

`float`

### Source {#float-source}

`server/vueda/core/default_settings.py:43`

## `int` {#int}

### Signature {#int-signature}

`int(self, key, default)`

#### Parameters {#int-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="int-param-key">key</span> | `str` | yes |  |  |
| <span id="int-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#int-returns}

`int`

### Source {#int-source}

`server/vueda/core/default_settings.py:42`

## `json` {#json}

### Signature {#json-signature}

`json(self, key, default)`

#### Parameters {#json-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="json-param-key">key</span> | `str` | yes |  |  |
| <span id="json-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#json-returns}

`Any`

### Source {#json-source}

`server/vueda/core/default_settings.py:64`

## `list` {#list}

### Signature {#list-signature}

`list(self, key, default, delimiter, subcast)`

#### Parameters {#list-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="list-param-key">key</span> | `str` | yes |  |  |
| <span id="list-param-default">default</span> | `Any` | no | `Ellipsis` |  |
| <span id="list-param-delimiter">delimiter</span> | `str` | no | `Ellipsis` |  |
| <span id="list-param-subcast">subcast</span> | `Callable[[Any], Any] \| None` | no | `Ellipsis` |  |

#### Returns {#list-returns}

`list[Any]`

### Source {#list-source}

`server/vueda/core/default_settings.py:82`

## `log_level` {#log_level}

### Signature {#log_level-signature}

`log_level(self, key, default)`

#### Parameters {#log_level-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="log_level-param-key">key</span> | `str` | yes |  |  |
| <span id="log_level-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#log_level-returns}

`int`

### Source {#log_level-source}

`server/vueda/core/default_settings.py:72`

## `path` {#path}

### Signature {#path-signature}

`path(self, key, default)`

#### Parameters {#path-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="path-param-key">key</span> | `str` | yes |  |  |
| <span id="path-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#path-returns}

`Any`

### Source {#path-source}

`server/vueda/core/default_settings.py:69`

## `str` {#str}

### Signature {#str-signature}

`str(self, key, default)`

#### Parameters {#str-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="str-param-key">key</span> | `str` | yes |  |  |
| <span id="str-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#str-returns}

`str`

### Source {#str-source}

`server/vueda/core/default_settings.py:41`

## `time` {#time}

### Signature {#time-signature}

`time(self, key, default)`

#### Parameters {#time-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="time-param-key">key</span> | `str` | yes |  |  |
| <span id="time-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#time-returns}

`Any`

### Source {#time-source}

`server/vueda/core/default_settings.py:67`

## `timedelta` {#timedelta}

### Signature {#timedelta-signature}

`timedelta(self, key, default)`

#### Parameters {#timedelta-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="timedelta-param-key">key</span> | `str` | yes |  |  |
| <span id="timedelta-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#timedelta-returns}

`Any`

### Source {#timedelta-source}

`server/vueda/core/default_settings.py:68`

## `tuple` {#tuple}

### Signature {#tuple-signature}

`tuple(self, key, default, delimiter, subcast)`

#### Parameters {#tuple-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="tuple-param-key">key</span> | `str` | yes |  |  |
| <span id="tuple-param-default">default</span> | `Any` | no | `Ellipsis` |  |
| <span id="tuple-param-delimiter">delimiter</span> | `str` | no | `Ellipsis` |  |
| <span id="tuple-param-subcast">subcast</span> | `Callable[[Any], Any] \| None` | no | `Ellipsis` |  |

#### Returns {#tuple-returns}

`tuple[Any, ...]`

### Source {#tuple-source}

`server/vueda/core/default_settings.py:56`

## `url` {#url}

### Signature {#url-signature}

`url(self, key, default)`

#### Parameters {#url-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="url-param-key">key</span> | `str` | yes |  |  |
| <span id="url-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#url-returns}

`Any`

### Source {#url-source}

`server/vueda/core/default_settings.py:70`

## `uuid` {#uuid}

### Signature {#uuid-signature}

`uuid(self, key, default)`

#### Parameters {#uuid-parameters}

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| self |  | yes |  |  |
| <span id="uuid-param-key">key</span> | `str` | yes |  |  |
| <span id="uuid-param-default">default</span> | `Any` | no | `Ellipsis` |  |

#### Returns {#uuid-returns}

`Any`

### Source {#uuid-source}

`server/vueda/core/default_settings.py:71`

## Source

`server/vueda/core/default_settings.py:38`
