from pathlib import Path from polyfactory.factories.pydantic_factory import ModelFactory from polyfactory import Use from benchmark.pydantic_benchmark.models import ( ColumnsInput, PlanogramInput, PlanogramsBulkInputPayload, ) COLUMNS_COUNT = 1000 PLANOGRAMS_COUNT = 1000 class ColumnsInputFactory(ModelFactory): __model__ = ColumnsInput class PlanogramInputFactory(ModelFactory): __model__ = PlanogramInput columns = Use(ColumnsInputFactory.batch, size=COLUMNS_COUNT) class PlanogramsBulkInputPayloadFactory(ModelFactory): __model__ = PlanogramsBulkInputPayload planograms = Use(PlanogramInputFactory.batch, size=PLANOGRAMS_COUNT) def create_test_file(filename: Path): bulk = PlanogramsBulkInputPayloadFactory.build() out_data = bulk.model_dump_json(by_alias=True) with open(filename, "w") as f: f.write(out_data) print(f"{len(out_data)} bytes of test data written to {filename}.")