# 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.18.1/docs/__init__.py 0000664 0000000 0000000 00000000000 14721310225 0020521 0 ustar 00root root 0000000 0000000 python-polyfactory-2.18.1/docs/_static/ 0000775 0000000 0000000 00000000000 14721310225 0020050 5 ustar 00root root 0000000 0000000 python-polyfactory-2.18.1/docs/_static/logo.svg 0000664 0000000 0000000 00000007640 14721310225 0021540 0 ustar 00root root 0000000 0000000
python-polyfactory-2.18.1/docs/changelog.rst 0000664 0000000 0000000 00000310376 14721310225 0021115 0 ustar 00root root 0000000 0000000 =========
Changelog
=========
All commits to this project will be documented in this file.
[unreleased]
------------
`67c5720 `_ is the last commit in the changelog before unreleased changes.
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 `_
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 `_
* (`23281ee `_) - Bump patch version by `@guacs `_
`Release [v2.16.0] - 2024-05-13 `_
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `See All commits in v2.16.0 `_
`1d1c7f9 `_ ... `4928f07 `_ | `See diff for 2.16.0 `_
Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`719495e `_) - Ignore non-columns types (#510) by `@adhtruong `_ in `#510 `_
* (`bb04b4e `_) - Favour SA mapped type over impl type (#513) by `@adhtruong `_ in `#513 `_
* (`0032b5e `_) - Add footer to changelog generation by `@JacobCoffee `_
* (`5fd7d6c `_) - Resolve mypy issues (#540) by `@adhtruong `_ in `#540 `_
* (`9e6edab `_) - Fix json type error and pg dialect default value e… (#542) by `@wangxin688 `_ in `#542 `_
Documentation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`01d1dbe `_) - Apply organization theme (#533) by `@JacobCoffee `_ in `#533 `_
* (`5a0a5be `_) - Polyfactory landing page (#535) by `@JacobCoffee `_ in `#535 `_
* (`2f781ee `_) - Add wangxin688 as a contributor for code (#544) by `@allcontributors[bot] `_ in `#544 `_
Features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`1792c19 `_) - Support nested type in pg.array types and others (#530) by `@wangxin688 `_ in `#530 `_
* (`013135c `_) - Refresh object in async_session after commit to db (#541) by `@wangxin688 `_ in `#541 `_
* (`e4695a7 `_) - Copy mutable args (#529) by `@adhtruong `_ in `#529 `_
Miscellaneous Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`fac9fba `_) - Upgrade dependencies (#517) by `@adhtruong `_ in `#517 `_
* (`3da64f6 `_) - Update changelog.rst (#537) by `@impaktor `_ in `#537 `_
* (`3e2d22c `_) - Update maintainer emails (#545) by `@guacs `_ in `#545 `_
Ci
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`6507c6d `_) - Add codecov coverage, fix badges (#536) by `@JacobCoffee `_ in `#536 `_
`Release [v2.15.0] - 2024-03-02 `_
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `See All commits in v2.15.0 `_
`b44c68b `_ ... `1d1c7f9 `_ | `See diff for 2.15.0 `_
Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`c4e3d91 `_) - Prefer ``sqlalchemy.type.impl`` if it exists (#502) by `@cofin `_ in `#502 `_
* (`0f8f9e8 `_) - Handle constrained unions properly (#499) by `@guacs `_ in `#499 `_
Documentation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`61c8892 `_) - Fix typo on use_defaults (#497) by `@TimDumol `_ in `#497 `_
* (`9e34fa7 `_) - Add TimDumol as a contributor for doc (#498) by `@allcontributors[bot] `_ in `#498 `_
Features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`46ecdc6 `_) - Support Pydantic v1 and v2 simultaneously (#492) by `@guacs `_ in `#492 `_
Miscellaneous Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`1078230 `_) - Bump pdm-project/setup-pdm from 3 to 4 (#496) by `@dependabot[bot] `_ in `#496 `_
* (`1d1c7f9 `_) - Release v2.15.0 by `@guacs `_
Refactor
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`2acfdc6 `_) - Change order of imports for pydantic v1 (#509) by `@guacs `_ in `#509 `_
Testing
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`1ae2d52 `_) - Refactor the tests to move tests to correct places (#495) by `@guacs `_ in `#495 `_
`Release [v2.14.1] - 2024-01-20 `_
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `See All commits in v2.14.1 `_
`83f2992 `_ ... `b44c68b `_ | `See diff for 2.14.1 `_
Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`fa50e20 `_) - Handle unions properly (#491) by `@guacs `_ in `#491 `_
Miscellaneous Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`b44c68b `_) - Bump patch version by `@guacs `_
`Release [v2.14.0] - 2024-01-19 `_
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `See All commits in v2.14.0 `_
`8dc8e1a `_ ... `83f2992 `_ | `See diff for 2.14.0 `_
Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`fb4e50a `_) - Add min version to typing-extensions (#471) by `@hsorsky `_ in `#471 `_
* (`40538c9 `_) - Set as default type for factory only if model is defined (#479) by `@guacs `_ in `#479 `_
Documentation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`c22633c `_) - Add hsorsky as a contributor for infra (#477) by `@allcontributors[bot] `_ in `#477 `_
* (`b9c2127 `_) - Fix broken uri (#485) by `@wer153 `_ in `#485 `_
* (`8f96365 `_) - Add wer153 as a contributor for doc (#486) by `@allcontributors[bot] `_ in `#486 `_
* (`7ec9eb0 `_) - Fix code block (#484) by `@wer153 `_ in `#484 `_
Features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`b33e662 `_) - Allow use of the default value based on configuration (#472) by `@guacs `_ in `#472 `_
* (`80bd012 `_) - Add recursion guard (#468) by `@adhtruong `_ in `#468 `_
* (`c7556e8 `_) - Pass on factory config (#483) by `@adhtruong `_ in `#483 `_
* (`94ad561 `_) - Support type alias (#487) by `@adhtruong `_ in `#487 `_
Miscellaneous Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`bb433a4 `_) - Update pre commit (#478) by `@guacs `_ in `#478 `_
* (`2b57706 `_) - Bump actions/cache from 3 to 4 (#488) by `@dependabot[bot] `_ in `#488 `_
* (`83f2992 `_) - Bump minor version by `@guacs `_
`Release [v2.13.0] - 2023-12-19 `_
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
* `See All commits in v2.13.0 `_
`fe05c4e `_ ... `8dc8e1a `_ | `See diff for 2.13.0 `_
Bug Fixes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`b479e4a `_) - Flatten_annotation behaviour for Optional (#440) by `@sam-or `_ in `#440 `_
* (`6961eaa `_) - Don't blindly suppress ValueError (#450) by `@guacs `_ in `#450 `_
Features
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`623d8c9 `_) - Optional ``__model__`` type (#452) by `@Mityuha `_ in `#452 `_
Miscellaneous Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
* (`1407f07 `_) - Bump actions/github-script from 6 to 7 (#438) by `@dependabot[bot] `_ in `#438 `_
* (`1a0da0d `_) - Bump actions/setup-python from 4 to 5 (#448) by `@dependabot[bot] `_ in `#448 `_
* (`231d311 `_) - Bump github/codeql-action from 2 to 3 (#458) by `@dependabot[bot] `_ in `#458 `_
* (`2695880 `_) - Bump dawidd6/action-download-artifact from 2 to 3 (#459) by `@dependabot[bot] `_ in `#459 `_
* (`fe342e4 `_) - Bump actions/upload-artifact from 3 to 4 (#461) by `@dependabot[bot] `_ in `#461 `_
* (`a371d7f `_) - Bump actions/download-artifact from 3 to 4 (#462) by `@dependabot[bot] `_ in `#462 `_
* (`0e2f824 `_) - Bump dependencies (#465) by `@guacs `_ in `#465 `_
* (`8dc8e1a `_) - Bump minor version by `@guacs `_
`Release [v2.12.0] - 2023-11-13