Generators¶
Dataclass Bakery has different generators to generate data depending on the dataclass attributes typing, we are working to develop more generators, but now we have these:
Bool Generator¶
from dataclass_bakery.generators.random_bool_generator import RandomBoolGenerator
Generator for random bool, for example:
Attribute example:
is_safe: bool
The bool generator generate: True
Defaults: Does not have
Complex Generator¶
from dataclass_bakery.generators.random_complex_generator import RandomComplexGenerator
Generator for a random complex number, for example:
Attribute example:
price: complex
The complex generator generate: (1.3+5.2j)
Defaults:
_min_limit_ = 0 (Minimun limit of the real and imaginary part)
_max_limit_ = 100 (Maximun limit of the real and imaginary part)
_decimals_ = 2 (Maximum figures of the decimal part)
Decimal Generator¶
from dataclass_bakery.generators.random_decimal_generator import RandomDecimalGenerator
Generator for a Decimal number (from decimal import Decimal), for example:
Attribute example:
price: Decimal
The Decimal generator generate: Decimal(‘1.2’)
Defaults:
_min_limit_ = 0 (Minimun limit of the number)
_max_limit_ = 100 (Maximun limit of the number)
_decimals_ = 2 (Maximum figures of the decimal part)
Dict Generator¶
from dataclass_bakery.generators.random_dict_generator import RandomDictGenerator
Generator for a dict or a Dict (from typing import Dict), for example:
Attributes example:
first_dict: dict
second_dict: Dict[str, int]
The dict generator generate in both cases: {“key1”: 1, “key2”: 2}
Defaults:
_max_length_ = 2 (Length of the generated dict)
_default_key_type_ = str (Typing of the keys in the generated dict, if you don’t specify with Dict[])
_default_value_type_ = int (Typing of the values in the generated dict, if you don’t specify with Dict[])
Float Generator¶
from dataclass_bakery.generators.random_float_generator import RandomFloatGenerator
Generator for a float number, for example:
Attribute example:
price: float
The float generator generate: 1.2
Defaults:
_min_limit_ = 0 (Minimun limit of the number)
_max_limit_ = 100 (Maximun limit of the number)
_decimals_ = 2 (Maximum figures of the decimal part)
Integer Generator¶
from dataclass_bakery.generators.random_int_generator import RandomIntGenerator
Generator for an int number, for example:
Attribute example:
age: int
The integer generator generate: 1
Defaults:
_min_limit_ = 0 (Minimun limit of the number)
_max_limit_ = 100 (Maximun limit of the number)
List Generator¶
from dataclass_bakery.generators.random_list_generator import RandomListGenerator
Generator for a list or a List (from typing import List), for example:
Attributes example:
first_list: list
second_list: List[int]
The list generator generate in both cases: [1, 2]
Default values:
_max_length_ = 2 (Length of the generated list)
_default_value_type_ = int (Typing of the values in the generated list, if you don’t specify with List[])
Option Generator¶
from dataclass_bakery.generators.random_option_generator import RandomOptionGenerator
Generator for a Literal (from typing import Literal), for example:
Attribute example:
stuff: Literal["a", "b", "c"]
The option generator generate: “b”
Defaults: Does not have
Range Generator¶
from dataclass_bakery.generators.random_range_generator import RandomRangeGenerator
Generator for a range, for example:
Attribute example:
price_range: range
The range generator generate: range(20, 38)
Defaults:
_min_limit_ = 0 (Minimun limit of the range)
_max_limit_ = 100 (Maximun limit of the range)
Set Generator¶
from dataclass_bakery.generators.random_set_generator import RandomSetGenerator
Generator for a set, for example:
Attributes:
first_set: set
The set generator generate in both cases: {1, 2}
Default values:
_max_length_ = 2 (Length of the generated set)
_default_value_type_ = int (Typing of the values in the generated set)
String Generator¶
from dataclass_bakery.generators.random_str_generator import RandomStrGenerator
Generator for an str, for example:
Attribute example:
name: str
The string generator generate: ``
Defaults:
_max_length_ = 2 (Length of the generated string)
Tuple Generator¶
from dataclass_bakery.generators.random_tuple_generator import RandomTupleGenerator
Generator for a tuple or a Tuple (from typing import Tuple), for example:
Attributes example:
first_tuple: tuple
second_tuple: Tuple[int]
The tuple generator generate: (1, 2)
Default values:
_max_length_ = 2 (Length of the generated tuple)
_default_value_type_ = int (Typing of the values in the generated tuple if you don’t specify with Tuple[])
UUID Generator¶
from dataclass_bakery.generators.random_uuid_generator import RandomUuidGenerator
Generator for an UUID
Attribute example:
id: UUID
The uuid generator generate: UUID(‘18f04f72-a563-495c-af5c-f5286c649fc9’)
Defaults: Does not have