# Polyfactory
Polyfactory is a simple and powerful mock data generation library, based around type
hints and supporting dataclasses, typed-dicts, pydantic models, msgspec structs and more.
Polyfactory part of the Litestar project and as such actively maintained by a community of maintainers and contributors.
## Example
```python
from dataclasses import dataclass
from polyfactory.factories import DataclassFactory
@dataclass
class Person:
name: str
age: float
height: float
weight: float
class PersonFactory(DataclassFactory[Person]):
...
def test_is_person() -> None:
person_instance = PersonFactory.build()
assert isinstance(person_instance, Person)
```
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 dataclass, which are used as a
source of truth for data generation.
The factory parses the information stored in the dataclass and generates a dictionary of kwargs that are passed to
`Person`.
## Documentation
Usage and API reference documentation is available on https://polyfactory.litestar.dev/.
## Installation
```shell
pip install polyfactory
```
## Relation to Pydantic-Factories
Prior to version 2, this library was known as [pydantic-factories](https://pypi.org/project/pydantic-factories/), a name
under which it gained quite a bit of popularity.
A main motivator for the 2.0 release was that we wanted to support more than just Pydantic models, something which also
required a change to its core architecture. As this library would no longer be directly tied to Pydantic, `polyfactory`
was chosen as its new name to reflect its capabilities; It can generate mock data for dataclasses, typed-dicts,
Pydantic, odmantic, and beanie ODM models, as well as custom factories.
## Contributing
This library is a community driven open source project. We welcome and encourage contributions. Please check out the
GitHub issues, read the contribution guide (at the repository's root), and you're always welcome
to [join our discord server](https://discord.gg/F4jPQzHpBU).
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
# Polyfactory
Polyfactory is a simple and powerful mock data generation library, based around type
hints and supporting dataclasses, typed-dicts, pydantic models, msgspec structs and more.
Polyfactory part of the Litestar project and as such actively maintained by a community of maintainers and contributors.
## Example
```python
from dataclasses import dataclass
from polyfactory.factories import DataclassFactory
@dataclass
class Person:
name: str
age: float
height: float
weight: float
class PersonFactory(DataclassFactory[Person]):
...
def test_is_person() -> None:
person_instance = PersonFactory.build()
assert isinstance(person_instance, Person)
```
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 dataclass, which are used as a
source of truth for data generation.
The factory parses the information stored in the dataclass and generates a dictionary of kwargs that are passed to
`Person`.
## Documentation
Usage and API reference documentation is available on https://polyfactory.litestar.dev/.
## Installation
```shell
pip install polyfactory
```
## Relation to Pydantic-Factories
Prior to version 2, this library was known as [pydantic-factories](https://pypi.org/project/pydantic-factories/), a name
under which it gained quite a bit of popularity.
A main motivator for the 2.0 release was that we wanted to support more than just Pydantic models, something which also
required a change to its core architecture. As this library would no longer be directly tied to Pydantic, `polyfactory`
was chosen as its new name to reflect its capabilities; It can generate mock data for dataclasses, typed-dicts,
Pydantic, odmantic, and beanie ODM models, as well as custom factories.
## Contributing
This library is a community driven open source project. We welcome and encourage contributions. Please checkout the
GitHub issues, read the contribution guide (at the repository's root), and you're always welcome
to [join our discord server](https://discord.gg/F4jPQzHpBU).
## Contributors ✨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification.
Contributions of any kind welcome!
python-polyfactory-2.21.0/docs/__init__.py 0000664 0000000 0000000 00000000000 15000423051 0020503 0 ustar 00root root 0000000 0000000 python-polyfactory-2.21.0/docs/_static/ 0000775 0000000 0000000 00000000000 15000423051 0020032 5 ustar 00root root 0000000 0000000 python-polyfactory-2.21.0/docs/_static/logo.svg 0000664 0000000 0000000 00000007640 15000423051 0021522 0 ustar 00root root 0000000 0000000
python-polyfactory-2.21.0/docs/changelog.rst 0000664 0000000 0000000 00000364354 15000423051 0021104 0 ustar 00root root 0000000 0000000 =========
Changelog
=========
All commits to this project will be documented in this file.
`Release [v2.21.0] - 2025-04-18 `_
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `See All commits in v2.21.0 `_
`0facd26 `_ ... `02fed72 `_ | `See diff for 2.21.0 `_
Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`4ae69c8 `_) - Handle pydantic v1 URL and email correctly (#685) by `@Xdynix `_ in `#685 `_
* (`18d8579 `_) - Make type alias detection work with typing_extensions 4.13 (#684) by `@airwoodix `_ in `#684 `_
Features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`9940230 `_) - Document overriding SQLA column mapping (#671) by `@adhtruong `_ in `#671 `_
* (`cc789b5 `_) - Support new type and annotated mapping (#680) by `@adhtruong `_ in `#680 `_
* (`36395d9 `_) - Issue 678 use pydantic field examples (#679) by `@stardust85 `_ in `#679 `_
* (`02fed72 `_) - Add release command (#687) by `@adhtruong `_ in `#687 `_
Miscellaneous Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`e0c6941 `_) - Remove sonar (#672) by `@adhtruong `_ in `#672 `_
Refactor
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`00aa862 `_) - Deprecate FieldMeta.random (#663) by `@adhtruong `_ in `#663 `_
* (`ade1115 `_) - Migrate to typos (#675) by `@adhtruong `_ in `#675 `_
Ci
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`c42bf6d `_) - Add toml formatter (#682) by `@adhtruong `_ in `#682 `_
`Release [v2.20.0] - 2025-03-21 `_
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `See All commits in v2.20.0 `_
`de78949 `_ ... `0facd26 `_ | `See diff for 2.20.0 `_
Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`64fa119 `_) - Allow non-hashable type args (#643) by `@adhtruong `_ in `#643 `_
* (`703aa2e `_) - Dont allow faker version less then 5.0.0 (#646) by `@T0nd0Tara `_ in `#646 `_
* (`e4a27ca `_) - Added a generate function to support SQL Numeric field (#636) by `@nisemenov `_ in `#636 `_
* (`da6ad4d `_) - Ignore dataclass types in pydantic field parsing (#660) by `@adhtruong `_ in `#660 `_
Documentation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`3c1e68f `_) - Add nisemenov as a contributor for code, and doc (#633) by `@allcontributors[bot] `_ in `#633 `_
* (`beab66c `_) - Add iloveitaly as a contributor for code, and doc (#662) by `@allcontributors[bot] `_ in `#662 `_
Features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`8c1fe02 `_) - Described an ability to use async data in factory fields; refactored factories/base and some tests (#641) by `@nisemenov `_ in `#641 `_
* (`ba7cd3f `_) - Simplify pytest plugin (#652) by `@adhtruong `_ in `#652 `_
* (`b98ae5d `_) - Improve create factory typing (#657) by `@adhtruong `_ in `#657 `_
* (`33c72e7 `_) - Add_providers to easily add new type provider (#659) by `@iloveitaly `_ in `#659 `_
* (`0b5df15 `_) - Improve random range (#653) by `@adhtruong `_ in `#653 `_
Miscellaneous Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`f5cb818 `_) - Bump dawidd6/action-download-artifact from 7 to 9 (#651) by `@dependabot[bot] `_ in `#651 `_
* (`1c56f09 `_) - Bump codecov/codecov-action from 4 to 5 (#620) by `@dependabot[bot] `_ in `#620 `_
* (`516dd6d `_) - Improve test imports (#661) by `@adhtruong `_ in `#661 `_
* (`0facd26 `_) - Prep 2.20.0 release (#669) by `@adhtruong `_ in `#669 `_
Build
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`34182d4 `_) - Update dependencies and ignores (#648) by `@adhtruong `_ in `#648 `_
* (`396b555 `_) - Update pyright (#665) by `@adhtruong `_ in `#665 `_
`Release [v2.19.0] - 2025-01-29 `_
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `See All commits in v2.19.0 `_
`0290580 `_ ... `de78949 `_ | `See diff for 2.19.0 `_
Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`e1c5b8c `_) - Lock PDM version to support 3.8 (#609) by `@adhtruong `_ in `#609 `_
* (`f526601 `_) - Pydantic 2.10 compatibility (#613) by `@adhtruong `_ in `#613 `_
* (`1e0c847 `_) - Update security alert (#615) by `@adhtruong `_ in `#615 `_
* (`135bbc0 `_) - Ensure ABC are not considered a factory type (#628) by `@adhtruong `_ in `#628 `_
* (`137bfb9 `_) - Added an async context manager in SQLAASyncPersistence (#630) by `@nisemenov `_ in `#630 `_
Features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`42999fa `_) - Added __set_association_proxy__ attribute (#629) by `@nisemenov `_ in `#629 `_
Miscellaneous Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`d6a886a `_) - Bump astral-sh/setup-uv from 4 to 5 (#622) by `@dependabot[bot] `_ in `#622 `_
* (`9db2ee7 `_) - Bump dawidd6/action-download-artifact from 3 to 7 (#619) by `@dependabot[bot] `_ in `#619 `_
* (`de78949 `_) - Prep 2.19.0 release (#637) by `@adhtruong `_ in `#637 `_
Refactor
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`a7dda85 `_) - Update Pydantic imports (#625) by `@adhtruong `_ in `#625 `_
Build
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`9ee5852 `_) - Update pre-commit dependencies (#614) by `@adhtruong `_ in `#614 `_
* (`9fa4ad9 `_) - Migrate to uv (#612) by `@adhtruong `_ in `#612 `_
* (`d374de5 `_) - Support 3.13 (#599) by `@adhtruong `_ in `#599 `_
* (`d2ef554 `_) - Change deprecated action (#626) by `@adhtruong `_ in `#626 `_
`Release [v2.18.1] - 2024-11-26 `_
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `See All commits in v2.18.1 `_
`f7b5d8b `_ ... `0290580 `_ | `See diff for 2.18.1 `_
Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`660183b `_) - Handle nullable SQLA constraints (#602) by `@adhtruong `_ in `#602 `_
Miscellaneous Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`0290580 `_) - Bump release version (#608) by `@adhtruong `_ in `#608 `_
`Release [v2.18.0] - 2024-11-06 `_
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `See All commits in v2.18.0 `_
`37a9894 `_ ... `f7b5d8b `_ | `See diff for 2.18.0 `_
Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`c027bbd `_) - Update docs preview upload (#597) by `@adhtruong `_ in `#597 `_
* (`8d8f6a9 `_) - Add SQLA async to test dependencies (#595) by `@adhtruong `_ in `#595 `_
Features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`6abb845 `_) - Handle SQLA column constraints (#594) by `@adhtruong `_ in `#594 `_
Miscellaneous Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`f7b5d8b `_) - Bump minor version by `@guacs `_
`Release [v2.17.0] - 2024-09-22 `_
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `See All commits in v2.17.0 `_
`67c5720 `_ ... `37a9894 `_ | `See diff for 2.17.0 `_
Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`24701eb `_) - Constrained 0 length lists (#570) by `@marcozzxx810 `_ in `#570 `_
* (`6f5b78c `_) - Use provider map for any in coverage (#574) by `@adhtruong `_ in `#574 `_
* (`4aaf656 `_) - Tuple randomized length (#573) by `@adhtruong `_ in `#573 `_
* (`9a83ad6 `_) - Adjust min/max items to valid lengths for Set[Enum] fields (#567) by `@adrianeboyd `_ in `#567 `_
* (`135d7fe `_) - Handle Optional type recursive models (#584) by `@adhtruong `_ in `#584 `_
* (`6440faa `_) - Handle recursive collections (#587) by `@adhtruong `_ in `#587 `_
Documentation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`841831d `_) - Swap word with its antonym to match the context (#575) by `@UncleGoogle `_ in `#575 `_
Features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`c0c2704 `_) - Enhance register_fixture return type annotation (#581) by `@giulioindev `_ in `#581 `_
Miscellaneous Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`37a9894 `_) - Bump release version (#588) by `@adhtruong `_ in `#588 `_
Build
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`d75b1d2 `_) - Update pre-commit dependencies (#571) by `@adhtruong `_ in `#571 `_
`Release [v2.16.2] - 2024-07-09 `_
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `See All commits in v2.16.2 `_
`23281ee `_ ... `67c5720 `_ | `See diff for 2.16.2 `_
Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`3bb97e0 `_) - Nested model in collection build context (#564) by `@sam-or `_ in `#564 `_
Miscellaneous Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`67c5720 `_) - Bump patch version by `@guacs `_
`Release [v2.16.1] - 2024-07-08 `_
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `See All commits in v2.16.1 `_
`4928f07 `_ ... `23281ee `_ | `See diff for 2.16.1 `_
Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`86869c2 `_) - Use provider map for generating value for 'Any' (#522) by `@guacs `_ in `#522 `_
* (`cbe6dfc `_) - Pydantic factory_use_construct is not propagated to the nested (#549) by `@Reskov `_ in `#549 `_
* (`b09bf64 `_) - Send correct field_meta to avoid over nesting (#527) by `@Vegemash `_ in `#527 `_
Documentation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`740fd34 `_) - Link to GitHub repo (#547) by `@Alc-Alc `_ in `#547 `_
* (`c34e72e `_) - Add Reskov as a contributor for code (#556) by `@allcontributors[bot] `_ in `#556 `_
* (`3320989 `_) - Add Vegemash as a contributor for code (#562) by `@allcontributors[bot] `_ in `#562 `_
Miscellaneous Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`f8e9318 `_) - Migrate formatting to ruff (#554) by `@adhtruong `_ in `#554 `_
* (`36a9cc1 `_) - Bump pydantic (#561) by `@Vegemash `_ in `#561