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