from decimal import Decimal from faker import Faker from faker.providers import BaseProvider fake = Faker() class MyProvider(BaseProvider): def product(self) -> dict: return { "name": fake.text(max_nb_chars=10), "price": Decimal( fake.pyfloat(left_digits=2, right_digits=2, positive=True) ), "unit_of_measure": fake.random_element(elements=["kg", "g", "l", "piece"]), "vat_rate": fake.random_element(elements=[7, 19]), } def area(self) -> dict: return { "name": fake.text(max_nb_chars=10), "description": fake.text(max_nb_chars=100), } def order(self) -> dict: return {} # then add new provider to faker instance fake.add_provider(MyProvider)