Utils
Snailz utilities.
fail(msg)
Report failure and exit.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
msg
|
str
|
Error message to display |
required |
Source code in src/snailz/utils.py
31 32 33 34 35 36 37 38 |
|
json_dump(obj)
Dump as JSON with appropriate settings.
Source code in src/snailz/utils.py
41 42 43 |
|
report(verbose, msg)
Report if verbosity turned on.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
verbose
|
bool
|
Is display on or off? |
required |
msg
|
str
|
Message to display |
required |
Source code in src/snailz/utils.py
46 47 48 49 50 51 52 53 54 |
|
sigmoid(x)
Calculate sigmoid curve value for x in 0..1.
Sigmoid parameters are chosen so that s(0)=0, s(0.5)=0.5, and s(1)=1.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
x
|
float
|
input value |
required |
Returns:
Type | Description |
---|---|
float
|
Sigmoid curve value. |
Source code in src/snailz/utils.py
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
|
to_csv(rows, fields, f_make_row)
Generic converter from list of models to CSV string.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
rows
|
list
|
List of rows to convert. |
required |
fields
|
list
|
List of names of columns. |
required |
f_make_row
|
Callable
|
Function that converts a row to text. |
required |
Returns:
Type | Description |
---|---|
str
|
CSV representation of data. |
Source code in src/snailz/utils.py
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
|
unique_id(name, func, limit=UNIQUE_ID_LIMIT)
Generate unique IDs.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
name of this generator |
required |
func
|
Callable
|
function to generate next candidate |
required |
limit
|
int
|
how many tries per ID |
UNIQUE_ID_LIMIT
|
Returns:
Type | Description |
---|---|
None
|
Unique ID. |
Source code in src/snailz/utils.py
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
|
_make_unique_id_generator(name, func, limit)
Create and prime a unique ID generator.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
name
|
str
|
name of this generator |
required |
func
|
Callable
|
function to generate next candidate |
required |
limit
|
int
|
how many tries per ID |
required |
Returns:
Type | Description |
---|---|
None
|
Unique ID. |
Source code in src/snailz/utils.py
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
|
_serialize_json(obj)
Custom JSON serializer for JSON conversion.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
obj
|
object
|
The object to serialize |
required |
Returns:
Type | Description |
---|---|
str | dict
|
String representation of date objects or dict for Pydantic models |
Raises:
Type | Description |
---|---|
TypeError
|
If the object type is not supported for serialization |
Source code in src/snailz/utils.py
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
|