Mock data generation for pydantic based models
Project description
Pydantic-Factories
This library offers powerful mock data generation capabilities for pydantic
based models and dataclasses
. It can also be used with other libraries that use pydantic as a foundation.
Check out the documentation 📚.
Installation
pip install pydantic-factories
Example
from datetime import date, datetime
from typing import List, Union
from pydantic import BaseModel, UUID4
from pydantic_factories import ModelFactory
class Person(BaseModel):
id: UUID4
name: str
hobbies: List[str]
age: Union[float, int]
birthday: Union[datetime, date]
class PersonFactory(ModelFactory):
__model__ = Person
result = PersonFactory.build()
That's it - with almost no work, we are able to create a mock data object fitting the Person
class model definition.
This is possible because of the typing information available on the pydantic model and model-fields, which are used as a source of truth for data generation.
The factory parses the information stored in the pydantic model and generates a dictionary of kwargs that are passed to
the Person
class' init method.
Features
- ✅ supports both built-in and pydantic types
- ✅ supports pydantic field constraints
- ✅ supports complex field types
- ✅ supports custom model fields
- ✅ supports dataclasses
Why This Library?
- 💯 powerful
- 💯 extensible
- 💯 simple
- 💯 rigorously tested
Contributing
This library is open to contributions - in fact we welcome it. Please see the contribution guide!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pydantic-factories-1.9.0.tar.gz
.
File metadata
- Download URL: pydantic-factories-1.9.0.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.1 CPython/3.9.14 Linux/5.15.0-1020-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9344a570764ba1110f80d62f52c9c010cec5025577988c861cf64da1c1011658 |
|
MD5 | 696149bc5076cd9ad3c8967d6747ff62 |
|
BLAKE2b-256 | 19e225b5777b68702a365b5a527408939969843e345504d9a08b1454dd8aa694 |
File details
Details for the file pydantic_factories-1.9.0-py3-none-any.whl
.
File metadata
- Download URL: pydantic_factories-1.9.0-py3-none-any.whl
- Upload date:
- Size: 26.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.1 CPython/3.9.14 Linux/5.15.0-1020-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9b9a2d250ddac9e120b603f42ba0b90ee904d73d699499bd9381f3dcc291dd5 |
|
MD5 | 024af7373cf1d4e88b537eed107c9753 |
|
BLAKE2b-256 | 6ed80459da6cfe2c6c36bb8a47b672e4eb94a533f38114fde5d5a42752908ffe |