Skip to main content

Generate randomized instances of pydantic classes for testing

Project description

pydantic-rng

A simple library for generating random, valid Pydantic models.

This tool helps you quickly create mock data for testing, prototyping, and demonstration purposes by generating random values that conform to your Pydantic model schemas. It supports a wide range of types and validation constraints.

✨ Features

  • Type-aware Generation: Generates appropriate data for common Python types (str, int, float, bool, list, dict, set, etc.).
  • pydantic Integration: Works seamlessly with Pydantic's BaseModel for recursive data generation.
  • Constraint Support: Respects a wide variety of Pydantic validation constraints from the annotated_types library, including MinLen, MaxLen, Ge, Gt, Le, Lt, and MultipleOf.
  • Configurable: Customize the behavior of the random generator with global settings for things like numeric and string ranges, and the probability of generating None for optional fields.

🚀 Installation

Install the package (usually as a dev dependency):

uv add --dev pydantic-random-data

Generate Basic Class RNG

from pydantic import BaseModel
from pydantic_random_data import generate

class User(BaseModel):
    user_id: int
    name: str
    is_active: bool
    email: str | None

random_user = generate(User)
print(random_user.model_dump_json(indent=2))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydantic_rng-0.1.3.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydantic_rng-0.1.3-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file pydantic_rng-0.1.3.tar.gz.

File metadata

  • Download URL: pydantic_rng-0.1.3.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.8.14

File hashes

Hashes for pydantic_rng-0.1.3.tar.gz
Algorithm Hash digest
SHA256 68b52d9e702514879a3199b405072e7083779177cd8296ad653ceb50e0e9ed35
MD5 0635146b1c169677c7963812092ddbf2
BLAKE2b-256 e2d240e6f761e967303885e9bc77321ba2d95aa02596e14263c41afced5aa848

See more details on using hashes here.

File details

Details for the file pydantic_rng-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for pydantic_rng-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6478d1e3ced58acfca661cee61157eaf09fcb50a314ad816bc2088387f7cf301
MD5 84518a2463af1adfae5567e013c58c64
BLAKE2b-256 5e91d0ed3fbf2c8a6a202a3bb5d9c06bd9e4fcf23de727a4d8323fc04fc3f86d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page