Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(sqlfactory): support nested type in pg.array types and others #530

Merged
merged 12 commits into from
May 9, 2024

Conversation

wangxin688
Copy link
Contributor

enhance sqlalchemy factory support postgresql dialects.

Description

  • support postgresql dialects types: JSON, JSONB and HSTORE type
  • support nested pg.ARRAY types, such as ARRAY(INET), ARRAY(MACADDR) and etc

Closes

@wangxin688 wangxin688 requested review from a team as code owners April 30, 2024 03:25
@wangxin688
Copy link
Contributor Author

seems main was broken for mypy.

tests/test_recursive_models.py:56: error: Non-overlapping identity check (left operand type: "PydanticNode", right operand type: "type[_Sentinel]")  [comparison-overlap]

Copy link
Contributor

@peterschutt peterschutt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @wangxin688!

polyfactory/factories/sqlalchemy_factory.py Outdated Show resolved Hide resolved
polyfactory/factories/sqlalchemy_factory.py Outdated Show resolved Hide resolved
@wangxin688
Copy link
Contributor Author

seems there's no way to reflect JSON or JSONB 's python type. so should I remove JSON, JSONB in types maping? or treat it as dict by default?. becuase JSON and JSONB also support list[Any]? what's you guys ideas?

@peterschutt
Copy link
Contributor

seems there's no way to reflect JSON or JSONB 's python type. so should I remove JSON, JSONB in types maping? or treat it as dict by default?. becuase JSON and JSONB also support list[Any]? what's you guys ideas?

Yeah, array is valid json - I'd have to defer to @guacs on what is the right way to handle this for polyfactory.

@wangxin688
Copy link
Contributor Author

seems there's no way to reflect JSON or JSONB 's python type. so should I remove JSON, JSONB in types maping? or treat it as dict by default?. becuase JSON and JSONB also support list[Any]? what's you guys ideas?

Yeah, array is valid json - I'd have to defer to @guacs on what is the right way to handle this for polyfactory.

Just my ideas, maybe not the best way.
add a migac method to sqlafactory, such as __default_json_type__: ClassVar[type] = dict, but it can be change as other type when inherit from factory. then handle the JSON type by magic method definition.

@wangxin688
Copy link
Contributor Author

seems there's no way to reflect JSON or JSONB 's python type. so should I remove JSON, JSONB in types maping? or treat it as dict by default?. becuase JSON and JSONB also support list[Any]? what's you guys ideas?

Yeah, array is valid json - I'd have to defer to @guacs on what is the right way to handle this for polyfactory.

Just my ideas, maybe not the best way. add a migac method to sqlafactory, such as __default_json_type__: ClassVar[type] = dict, but it can be change as other type when inherit from factory. then handle the JSON type by magic method definition.

I have remove JSON and JSONB types due to uncertain python types.

@wangxin688
Copy link
Contributor Author

BTW, I didnot see types.Uuid in get_sqlalchemy_types, after my local test, it's well suited with types.Uuid: uuid4 add to return dict.

@JacobCoffee JacobCoffee changed the title feat(sqlafctory): support nested type in pg.array types and other pg … feat(sqlafctory): support nested type in pg.array types and others Apr 30, 2024
@JacobCoffee JacobCoffee changed the title feat(sqlafctory): support nested type in pg.array types and others feat(sqlfactory): support nested type in pg.array types and others Apr 30, 2024
@guacs
Copy link
Member

guacs commented May 2, 2024

@wangxin688 thanks for this!

For the JSON and JSONB, I think we can default to a random dictionary. If the users need something other than the deafult, they can override the get_sqlalchemy_types or get_provider_map.

@wangxin688 wangxin688 requested a review from guacs as a code owner May 4, 2024 02:59
Copy link
Member

@guacs guacs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add the JSON and JSONB types as well?

polyfactory/factories/sqlalchemy_factory.py Show resolved Hide resolved
polyfactory/factories/sqlalchemy_factory.py Outdated Show resolved Hide resolved
@wangxin688
Copy link
Contributor Author

looks like main branch is broken for lint again.
@guacs JSON has been added back. pls review

Copy link
Member

@guacs guacs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Yeah, I think we can ignore the linting for now. We'll have to fix that issue seperately.

@wangxin688
Copy link
Contributor Author

looks like main branch is broken for lint again. @guacs JSON has been added back. pls review

may I ask why lint rule is checked for all files not newly changed files?

@wangxin688
Copy link
Contributor Author

looks like main branch is broken for lint again. @guacs JSON has been added back. pls review

I executed pre-commit run --all-files on my PC, no issues were reported. As it's not related for this PR, how to skip linting checking? --

@guacs
Copy link
Member

guacs commented May 8, 2024

looks like main branch is broken for lint again. @guacs JSON has been added back. pls review

I executed pre-commit run --all-files on my PC, no issues were reported. As it's not related for this PR, how to skip linting checking? --

Skipping it isn't possible though it can be merged even if the linting fails. I'll fix the linting issues and try to make it only lint the changes files (sometime this week) and once that's merged, we can merge that into this branch?

@guacs guacs enabled auto-merge (squash) May 9, 2024 02:17
@guacs guacs merged commit 1792c19 into litestar-org:main May 9, 2024
22 checks passed
Copy link

github-actions bot commented May 9, 2024

Documentation preview will be available shortly at https://litestar-org.github.io/polyfactory-docs-preview/530

github-merge-queue bot pushed a commit to mozilla/experimenter that referenced this pull request May 14, 2024
Bumps [polyfactory](https://github.com/litestar-org/polyfactory) from
2.15.0 to 2.16.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/litestar-org/polyfactory/releases">polyfactory's
releases</a>.</em></p>
<blockquote>
<h2>v2.16.0</h2>
<h2>Sponsors 🌟</h2>
<p>Thanks to these incredible business sponsors:</p>
<p><a href="https://scalar.com/">Scalar</a> (<a
href="https://github.com/scalar"><code>@​scalar</code></a>), <a
href="https://telemetrysports.com/">Telemetry Sports</a> (via <a
href="https://github.com/chris-telemetry"><code>@​chris-telemetry</code></a>),
<a href="https://www.stok.kr/">Stok</a> (<a
href="https://github.com/stok-team"><code>@​stok-team</code></a>)</p>
<p>A huge 'Thank you!' to all other sponsors across <a
href="https://polar.sh/litestar-org">Polar.sh</a>, <a
href="https://opencollective.com/litestar">OpenCollective</a> and <a
href="https://github.com/sponsors/litestar-org/">GitHub
Sponsors</a>!</p>
<h2>What's Changed</h2>
<h3>New Contributors</h3>
<ul>
<li><a
href="https://github.com/wangxin688"><code>@​wangxin688</code></a> made
their first contribution in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/530">litestar-org/polyfactory#530</a></li>
<li><a href="https://github.com/impaktor"><code>@​impaktor</code></a>
made their first contribution in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/537">litestar-org/polyfactory#537</a></li>
</ul>
<h3>Fixes 🔧</h3>
<ul>
<li>Ignore non-columns types by <a
href="https://github.com/adhtruong"><code>@​adhtruong</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/510">litestar-org/polyfactory#510</a></li>
<li>Favour SA mapped type over impl type by <a
href="https://github.com/adhtruong"><code>@​adhtruong</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/513">litestar-org/polyfactory#513</a></li>
<li>Update typing by <a
href="https://github.com/adhtruong"><code>@​adhtruong</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/540">litestar-org/polyfactory#540</a></li>
<li>Fix json type error and pg dialect default value by <a
href="https://github.com/wangxin688"><code>@​wangxin688</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/542">litestar-org/polyfactory#542</a></li>
</ul>
<h3>New Features 🚀</h3>
<ul>
<li>Support nested type in pg.array types and others by <a
href="https://github.com/wangxin688"><code>@​wangxin688</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/530">litestar-org/polyfactory#530</a></li>
<li>Refresh object in async_session after commit to db by <a
href="https://github.com/wangxin688"><code>@​wangxin688</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/541">litestar-org/polyfactory#541</a></li>
<li>Copy mutable args by <a
href="https://github.com/adhtruong"><code>@​adhtruong</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/529">litestar-org/polyfactory#529</a></li>
</ul>
<h3>Docs 📚</h3>
<ul>
<li>Apply organization theme by <a
href="https://github.com/JacobCoffee"><code>@​JacobCoffee</code></a> in
<a
href="https://redirect.github.com/litestar-org/polyfactory/pull/533">litestar-org/polyfactory#533</a></li>
<li>Update Polyfactory landing page by <a
href="https://github.com/JacobCoffee"><code>@​JacobCoffee</code></a> in
<a
href="https://redirect.github.com/litestar-org/polyfactory/pull/535">litestar-org/polyfactory#535</a></li>
<li>Update changelog.rst by <a
href="https://github.com/impaktor"><code>@​impaktor</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/537">litestar-org/polyfactory#537</a></li>
</ul>
<h3>Infra 🚆</h3>
<ul>
<li>Add codecov coverage, fix badges by <a
href="https://github.com/JacobCoffee"><code>@​JacobCoffee</code></a> in
<a
href="https://redirect.github.com/litestar-org/polyfactory/pull/536">litestar-org/polyfactory#536</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/litestar-org/polyfactory/compare/v2.15.0...v2.16.0">https://github.com/litestar-org/polyfactory/compare/v2.15.0...v2.16.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/litestar-org/polyfactory/blob/main/docs/changelog.rst">polyfactory's
changelog</a>.</em></p>
<blockquote>
<h1>=========
Changelog</h1>
<p>All commits to this project will be documented in this file.</p>
<h2>[unreleased]</h2>
<p><code>1d1c7f9
&lt;https://github.com/litestar-org/polyfactory/commit/1d1c7f9d02f9c7a8eb977dc0624bf5a045d55ddc&gt;</code>_
is the last commit in the changelog before unreleased changes.</p>
<p>Bug Fixes

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>(<code>719495e
&lt;https://github.com/litestar-org/polyfactory/commit/719495e6dca5c6938975b6bc0456205d28e2c90d&gt;</code><em>)
- Ignore non-columns types (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/510">#510</a>)
by <code>@adhtruong &lt;https://github.com/adhtruong&gt;</code></em> in
<code>[#510](litestar-org/polyfactory#510)
&lt;https://github.com/litestar-org/polyfactory/pull/510&gt;</code>_</li>
<li>(<code>bb04b4e
&lt;https://github.com/litestar-org/polyfactory/commit/bb04b4e81764289ba5a138c0b82faa73bb4e5257&gt;</code><em>)
- Favour SA mapped type over impl type (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/513">#513</a>)
by <code>@adhtruong &lt;https://github.com/adhtruong&gt;</code></em> in
<code>[#513](litestar-org/polyfactory#513)
&lt;https://github.com/litestar-org/polyfactory/pull/513&gt;</code>_</li>
<li>(<code>0032b5e
&lt;https://github.com/litestar-org/polyfactory/commit/0032b5e962906239ecd4c4bd7276dc0d9e9f142d&gt;</code><em>)
- Add footer to changelog generation by <code>@JacobCoffee
&lt;https://github.com/JacobCoffee&gt;</code></em></li>
<li>(<code>5fd7d6c
&lt;https://github.com/litestar-org/polyfactory/commit/5fd7d6c2bedb3c602e009618137c6ab215172625&gt;</code><em>)
- Resolve mypy issues (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/540">#540</a>)
by <code>@adhtruong &lt;https://github.com/adhtruong&gt;</code></em> in
<code>[#540](litestar-org/polyfactory#540)
&lt;https://github.com/litestar-org/polyfactory/pull/540&gt;</code>_</li>
<li>(<code>9e6edab
&lt;https://github.com/litestar-org/polyfactory/commit/9e6edabd4ee5242c54f3ddb66e539a415da86901&gt;</code><em>)
- Fix json type error and pg dialect default value e… (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/542">#542</a>)
by <code>@wangxin688 &lt;https://github.com/wangxin688&gt;</code></em>
in <code>[#542](litestar-org/polyfactory#542)
&lt;https://github.com/litestar-org/polyfactory/pull/542&gt;</code>_</li>
</ul>
<p>Documentation

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>(<code>01d1dbe
&lt;https://github.com/litestar-org/polyfactory/commit/01d1dbeb46cc722b075dba85cfd6bcb94505e65d&gt;</code><em>)
- Apply organization theme (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/533">#533</a>)
by <code>@JacobCoffee &lt;https://github.com/JacobCoffee&gt;</code></em>
in <code>[#533](litestar-org/polyfactory#533)
&lt;https://github.com/litestar-org/polyfactory/pull/533&gt;</code>_</li>
<li>(<code>5a0a5be
&lt;https://github.com/litestar-org/polyfactory/commit/5a0a5bed4ddb679868d9365a5ffbcc6c3fed686c&gt;</code><em>)
- Polyfactory landing page (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/535">#535</a>)
by <code>@JacobCoffee &lt;https://github.com/JacobCoffee&gt;</code></em>
in <code>[#535](litestar-org/polyfactory#535)
&lt;https://github.com/litestar-org/polyfactory/pull/535&gt;</code>_</li>
<li>(<code>2f781ee
&lt;https://github.com/litestar-org/polyfactory/commit/2f781eee7f06436661874a4e469c601bb0de6cd4&gt;</code><em>)
- Add wangxin688 as a contributor for code (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/544">#544</a>)
by <code>@allcontributors[bot]
&lt;https://github.com/allcontributors[bot]&gt;</code></em> in
<code>[#544](litestar-org/polyfactory#544)
&lt;https://github.com/litestar-org/polyfactory/pull/544&gt;</code>_</li>
</ul>
<p>Features

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>(<code>1792c19
&lt;https://github.com/litestar-org/polyfactory/commit/1792c19fc100b16b610902c19c90b2031420c57e&gt;</code><em>)
- Support nested type in pg.array types and others (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/530">#530</a>)
by <code>@wangxin688 &lt;https://github.com/wangxin688&gt;</code></em>
in <code>[#530](litestar-org/polyfactory#530)
&lt;https://github.com/litestar-org/polyfactory/pull/530&gt;</code>_</li>
<li>(<code>013135c
&lt;https://github.com/litestar-org/polyfactory/commit/013135c17387e451d88a7b73157ad08333649112&gt;</code><em>)
- Refresh object in async_session after commit to db (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/541">#541</a>)
by <code>@wangxin688 &lt;https://github.com/wangxin688&gt;</code></em>
in <code>[#541](litestar-org/polyfactory#541)
&lt;https://github.com/litestar-org/polyfactory/pull/541&gt;</code>_</li>
<li>(<code>e4695a7
&lt;https://github.com/litestar-org/polyfactory/commit/e4695a7d16e1a63b7cce036ca653d839ea0104fb&gt;</code><em>)
- Copy mutable args (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/529">#529</a>)
by <code>@adhtruong &lt;https://github.com/adhtruong&gt;</code></em> in
<code>[#529](litestar-org/polyfactory#529)
&lt;https://github.com/litestar-org/polyfactory/pull/529&gt;</code>_</li>
</ul>
<p>Miscellaneous Tasks

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>(<code>fac9fba
&lt;https://github.com/litestar-org/polyfactory/commit/fac9fbad94f0a82a062bfdac11b2da19f906e32f&gt;</code><em>)
- Upgrade dependencies (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/517">#517</a>)
by <code>@adhtruong &lt;https://github.com/adhtruong&gt;</code></em> in
<code>[#517](litestar-org/polyfactory#517)
&lt;https://github.com/litestar-org/polyfactory/pull/517&gt;</code>_</li>
<li>(<code>3da64f6
&lt;https://github.com/litestar-org/polyfactory/commit/3da64f615056c8d2f11c6bfc55c86877a89c2414&gt;</code><em>)
- Update changelog.rst (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/537">#537</a>)
by <code>@impaktor &lt;https://github.com/impaktor&gt;</code></em> in
<code>[#537](litestar-org/polyfactory#537)
&lt;https://github.com/litestar-org/polyfactory/pull/537&gt;</code>_</li>
<li>(<code>3e2d22c
&lt;https://github.com/litestar-org/polyfactory/commit/3e2d22c5bafc5ed984338be54c3eace3cacc720f&gt;</code><em>)
- Update maintainer emails (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/545">#545</a>)
by <code>@guacs &lt;https://github.com/guacs&gt;</code></em> in
<code>[#545](litestar-org/polyfactory#545)
&lt;https://github.com/litestar-org/polyfactory/pull/545&gt;</code>_</li>
</ul>
<p>Ci

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>(<code>6507c6d
&lt;https://github.com/litestar-org/polyfactory/commit/6507c6d86094dbcf678083e3ce7d06a5b4dd2f60&gt;</code><em>)
- Add codecov coverage, fix badges (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/536">#536</a>)
by <code>@JacobCoffee &lt;https://github.com/JacobCoffee&gt;</code></em>
in <code>[#536](litestar-org/polyfactory#536)
&lt;https://github.com/litestar-org/polyfactory/pull/536&gt;</code>_</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/4928f0735ad58adc63f093062b4938dfc5003ea9"><code>4928f07</code></a>
chore(release): prepare for v2.16.0 (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/546">#546</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/3e2d22c5bafc5ed984338be54c3eace3cacc720f"><code>3e2d22c</code></a>
chore: update maintainer emails (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/545">#545</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/e4695a7d16e1a63b7cce036ca653d839ea0104fb"><code>e4695a7</code></a>
feat: copy mutable args (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/529">#529</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/3da64f615056c8d2f11c6bfc55c86877a89c2414"><code>3da64f6</code></a>
chore: Update changelog.rst (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/537">#537</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/9e6edabd4ee5242c54f3ddb66e539a415da86901"><code>9e6edab</code></a>
fix(sqla_factory): fix json type error and pg dialect default value e…
(<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/542">#542</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/2f781eee7f06436661874a4e469c601bb0de6cd4"><code>2f781ee</code></a>
docs: add wangxin688 as a contributor for code (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/544">#544</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/013135c17387e451d88a7b73157ad08333649112"><code>013135c</code></a>
feat(sqla_factory): refresh object in async_session after commit to db
(<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/541">#541</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/1792c19fc100b16b610902c19c90b2031420c57e"><code>1792c19</code></a>
feat(sqlfactory): support nested type in pg.array types and others (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/530">#530</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/5fd7d6c2bedb3c602e009618137c6ab215172625"><code>5fd7d6c</code></a>
fix: resolve mypy issues (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/540">#540</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/0032b5e962906239ecd4c4bd7276dc0d9e9f142d"><code>0032b5e</code></a>
fix(docs): add footer to changelog generation</li>
<li>Additional commits viewable in <a
href="https://github.com/litestar-org/polyfactory/compare/v2.15.0...v2.16.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=polyfactory&package-manager=pip&previous-version=2.15.0&new-version=2.16.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
github-merge-queue bot pushed a commit to mozilla/experimenter that referenced this pull request May 14, 2024
Bumps [polyfactory](https://github.com/litestar-org/polyfactory) from
2.15.0 to 2.16.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/litestar-org/polyfactory/releases">polyfactory's
releases</a>.</em></p>
<blockquote>
<h2>v2.16.0</h2>
<h2>Sponsors 🌟</h2>
<p>Thanks to these incredible business sponsors:</p>
<p><a href="https://scalar.com/">Scalar</a> (<a
href="https://github.com/scalar"><code>@​scalar</code></a>), <a
href="https://telemetrysports.com/">Telemetry Sports</a> (via <a
href="https://github.com/chris-telemetry"><code>@​chris-telemetry</code></a>),
<a href="https://www.stok.kr/">Stok</a> (<a
href="https://github.com/stok-team"><code>@​stok-team</code></a>)</p>
<p>A huge 'Thank you!' to all other sponsors across <a
href="https://polar.sh/litestar-org">Polar.sh</a>, <a
href="https://opencollective.com/litestar">OpenCollective</a> and <a
href="https://github.com/sponsors/litestar-org/">GitHub
Sponsors</a>!</p>
<h2>What's Changed</h2>
<h3>New Contributors</h3>
<ul>
<li><a
href="https://github.com/wangxin688"><code>@​wangxin688</code></a> made
their first contribution in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/530">litestar-org/polyfactory#530</a></li>
<li><a href="https://github.com/impaktor"><code>@​impaktor</code></a>
made their first contribution in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/537">litestar-org/polyfactory#537</a></li>
</ul>
<h3>Fixes 🔧</h3>
<ul>
<li>Ignore non-columns types by <a
href="https://github.com/adhtruong"><code>@​adhtruong</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/510">litestar-org/polyfactory#510</a></li>
<li>Favour SA mapped type over impl type by <a
href="https://github.com/adhtruong"><code>@​adhtruong</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/513">litestar-org/polyfactory#513</a></li>
<li>Update typing by <a
href="https://github.com/adhtruong"><code>@​adhtruong</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/540">litestar-org/polyfactory#540</a></li>
<li>Fix json type error and pg dialect default value by <a
href="https://github.com/wangxin688"><code>@​wangxin688</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/542">litestar-org/polyfactory#542</a></li>
</ul>
<h3>New Features 🚀</h3>
<ul>
<li>Support nested type in pg.array types and others by <a
href="https://github.com/wangxin688"><code>@​wangxin688</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/530">litestar-org/polyfactory#530</a></li>
<li>Refresh object in async_session after commit to db by <a
href="https://github.com/wangxin688"><code>@​wangxin688</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/541">litestar-org/polyfactory#541</a></li>
<li>Copy mutable args by <a
href="https://github.com/adhtruong"><code>@​adhtruong</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/529">litestar-org/polyfactory#529</a></li>
</ul>
<h3>Docs 📚</h3>
<ul>
<li>Apply organization theme by <a
href="https://github.com/JacobCoffee"><code>@​JacobCoffee</code></a> in
<a
href="https://redirect.github.com/litestar-org/polyfactory/pull/533">litestar-org/polyfactory#533</a></li>
<li>Update Polyfactory landing page by <a
href="https://github.com/JacobCoffee"><code>@​JacobCoffee</code></a> in
<a
href="https://redirect.github.com/litestar-org/polyfactory/pull/535">litestar-org/polyfactory#535</a></li>
<li>Update changelog.rst by <a
href="https://github.com/impaktor"><code>@​impaktor</code></a> in <a
href="https://redirect.github.com/litestar-org/polyfactory/pull/537">litestar-org/polyfactory#537</a></li>
</ul>
<h3>Infra 🚆</h3>
<ul>
<li>Add codecov coverage, fix badges by <a
href="https://github.com/JacobCoffee"><code>@​JacobCoffee</code></a> in
<a
href="https://redirect.github.com/litestar-org/polyfactory/pull/536">litestar-org/polyfactory#536</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/litestar-org/polyfactory/compare/v2.15.0...v2.16.0">https://github.com/litestar-org/polyfactory/compare/v2.15.0...v2.16.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/litestar-org/polyfactory/blob/main/docs/changelog.rst">polyfactory's
changelog</a>.</em></p>
<blockquote>
<h1>=========
Changelog</h1>
<p>All commits to this project will be documented in this file.</p>
<h2>[unreleased]</h2>
<p><code>1d1c7f9
&lt;https://github.com/litestar-org/polyfactory/commit/1d1c7f9d02f9c7a8eb977dc0624bf5a045d55ddc&gt;</code>_
is the last commit in the changelog before unreleased changes.</p>
<p>Bug Fixes

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>(<code>719495e
&lt;https://github.com/litestar-org/polyfactory/commit/719495e6dca5c6938975b6bc0456205d28e2c90d&gt;</code><em>)
- Ignore non-columns types (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/510">#510</a>)
by <code>@adhtruong &lt;https://github.com/adhtruong&gt;</code></em> in
<code>[#510](litestar-org/polyfactory#510)
&lt;https://github.com/litestar-org/polyfactory/pull/510&gt;</code>_</li>
<li>(<code>bb04b4e
&lt;https://github.com/litestar-org/polyfactory/commit/bb04b4e81764289ba5a138c0b82faa73bb4e5257&gt;</code><em>)
- Favour SA mapped type over impl type (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/513">#513</a>)
by <code>@adhtruong &lt;https://github.com/adhtruong&gt;</code></em> in
<code>[#513](litestar-org/polyfactory#513)
&lt;https://github.com/litestar-org/polyfactory/pull/513&gt;</code>_</li>
<li>(<code>0032b5e
&lt;https://github.com/litestar-org/polyfactory/commit/0032b5e962906239ecd4c4bd7276dc0d9e9f142d&gt;</code><em>)
- Add footer to changelog generation by <code>@JacobCoffee
&lt;https://github.com/JacobCoffee&gt;</code></em></li>
<li>(<code>5fd7d6c
&lt;https://github.com/litestar-org/polyfactory/commit/5fd7d6c2bedb3c602e009618137c6ab215172625&gt;</code><em>)
- Resolve mypy issues (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/540">#540</a>)
by <code>@adhtruong &lt;https://github.com/adhtruong&gt;</code></em> in
<code>[#540](litestar-org/polyfactory#540)
&lt;https://github.com/litestar-org/polyfactory/pull/540&gt;</code>_</li>
<li>(<code>9e6edab
&lt;https://github.com/litestar-org/polyfactory/commit/9e6edabd4ee5242c54f3ddb66e539a415da86901&gt;</code><em>)
- Fix json type error and pg dialect default value e… (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/542">#542</a>)
by <code>@wangxin688 &lt;https://github.com/wangxin688&gt;</code></em>
in <code>[#542](litestar-org/polyfactory#542)
&lt;https://github.com/litestar-org/polyfactory/pull/542&gt;</code>_</li>
</ul>
<p>Documentation

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>(<code>01d1dbe
&lt;https://github.com/litestar-org/polyfactory/commit/01d1dbeb46cc722b075dba85cfd6bcb94505e65d&gt;</code><em>)
- Apply organization theme (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/533">#533</a>)
by <code>@JacobCoffee &lt;https://github.com/JacobCoffee&gt;</code></em>
in <code>[#533](litestar-org/polyfactory#533)
&lt;https://github.com/litestar-org/polyfactory/pull/533&gt;</code>_</li>
<li>(<code>5a0a5be
&lt;https://github.com/litestar-org/polyfactory/commit/5a0a5bed4ddb679868d9365a5ffbcc6c3fed686c&gt;</code><em>)
- Polyfactory landing page (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/535">#535</a>)
by <code>@JacobCoffee &lt;https://github.com/JacobCoffee&gt;</code></em>
in <code>[#535](litestar-org/polyfactory#535)
&lt;https://github.com/litestar-org/polyfactory/pull/535&gt;</code>_</li>
<li>(<code>2f781ee
&lt;https://github.com/litestar-org/polyfactory/commit/2f781eee7f06436661874a4e469c601bb0de6cd4&gt;</code><em>)
- Add wangxin688 as a contributor for code (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/544">#544</a>)
by <code>@allcontributors[bot]
&lt;https://github.com/allcontributors[bot]&gt;</code></em> in
<code>[#544](litestar-org/polyfactory#544)
&lt;https://github.com/litestar-org/polyfactory/pull/544&gt;</code>_</li>
</ul>
<p>Features

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>(<code>1792c19
&lt;https://github.com/litestar-org/polyfactory/commit/1792c19fc100b16b610902c19c90b2031420c57e&gt;</code><em>)
- Support nested type in pg.array types and others (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/530">#530</a>)
by <code>@wangxin688 &lt;https://github.com/wangxin688&gt;</code></em>
in <code>[#530](litestar-org/polyfactory#530)
&lt;https://github.com/litestar-org/polyfactory/pull/530&gt;</code>_</li>
<li>(<code>013135c
&lt;https://github.com/litestar-org/polyfactory/commit/013135c17387e451d88a7b73157ad08333649112&gt;</code><em>)
- Refresh object in async_session after commit to db (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/541">#541</a>)
by <code>@wangxin688 &lt;https://github.com/wangxin688&gt;</code></em>
in <code>[#541](litestar-org/polyfactory#541)
&lt;https://github.com/litestar-org/polyfactory/pull/541&gt;</code>_</li>
<li>(<code>e4695a7
&lt;https://github.com/litestar-org/polyfactory/commit/e4695a7d16e1a63b7cce036ca653d839ea0104fb&gt;</code><em>)
- Copy mutable args (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/529">#529</a>)
by <code>@adhtruong &lt;https://github.com/adhtruong&gt;</code></em> in
<code>[#529](litestar-org/polyfactory#529)
&lt;https://github.com/litestar-org/polyfactory/pull/529&gt;</code>_</li>
</ul>
<p>Miscellaneous Tasks

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>(<code>fac9fba
&lt;https://github.com/litestar-org/polyfactory/commit/fac9fbad94f0a82a062bfdac11b2da19f906e32f&gt;</code><em>)
- Upgrade dependencies (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/517">#517</a>)
by <code>@adhtruong &lt;https://github.com/adhtruong&gt;</code></em> in
<code>[#517](litestar-org/polyfactory#517)
&lt;https://github.com/litestar-org/polyfactory/pull/517&gt;</code>_</li>
<li>(<code>3da64f6
&lt;https://github.com/litestar-org/polyfactory/commit/3da64f615056c8d2f11c6bfc55c86877a89c2414&gt;</code><em>)
- Update changelog.rst (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/537">#537</a>)
by <code>@impaktor &lt;https://github.com/impaktor&gt;</code></em> in
<code>[#537](litestar-org/polyfactory#537)
&lt;https://github.com/litestar-org/polyfactory/pull/537&gt;</code>_</li>
<li>(<code>3e2d22c
&lt;https://github.com/litestar-org/polyfactory/commit/3e2d22c5bafc5ed984338be54c3eace3cacc720f&gt;</code><em>)
- Update maintainer emails (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/545">#545</a>)
by <code>@guacs &lt;https://github.com/guacs&gt;</code></em> in
<code>[#545](litestar-org/polyfactory#545)
&lt;https://github.com/litestar-org/polyfactory/pull/545&gt;</code>_</li>
</ul>
<p>Ci

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</p>
<ul>
<li>(<code>6507c6d
&lt;https://github.com/litestar-org/polyfactory/commit/6507c6d86094dbcf678083e3ce7d06a5b4dd2f60&gt;</code><em>)
- Add codecov coverage, fix badges (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/536">#536</a>)
by <code>@JacobCoffee &lt;https://github.com/JacobCoffee&gt;</code></em>
in <code>[#536](litestar-org/polyfactory#536)
&lt;https://github.com/litestar-org/polyfactory/pull/536&gt;</code>_</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/4928f0735ad58adc63f093062b4938dfc5003ea9"><code>4928f07</code></a>
chore(release): prepare for v2.16.0 (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/546">#546</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/3e2d22c5bafc5ed984338be54c3eace3cacc720f"><code>3e2d22c</code></a>
chore: update maintainer emails (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/545">#545</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/e4695a7d16e1a63b7cce036ca653d839ea0104fb"><code>e4695a7</code></a>
feat: copy mutable args (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/529">#529</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/3da64f615056c8d2f11c6bfc55c86877a89c2414"><code>3da64f6</code></a>
chore: Update changelog.rst (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/537">#537</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/9e6edabd4ee5242c54f3ddb66e539a415da86901"><code>9e6edab</code></a>
fix(sqla_factory): fix json type error and pg dialect default value e…
(<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/542">#542</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/2f781eee7f06436661874a4e469c601bb0de6cd4"><code>2f781ee</code></a>
docs: add wangxin688 as a contributor for code (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/544">#544</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/013135c17387e451d88a7b73157ad08333649112"><code>013135c</code></a>
feat(sqla_factory): refresh object in async_session after commit to db
(<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/541">#541</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/1792c19fc100b16b610902c19c90b2031420c57e"><code>1792c19</code></a>
feat(sqlfactory): support nested type in pg.array types and others (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/530">#530</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/5fd7d6c2bedb3c602e009618137c6ab215172625"><code>5fd7d6c</code></a>
fix: resolve mypy issues (<a
href="https://redirect.github.com/litestar-org/polyfactory/issues/540">#540</a>)</li>
<li><a
href="https://github.com/litestar-org/polyfactory/commit/0032b5e962906239ecd4c4bd7276dc0d9e9f142d"><code>0032b5e</code></a>
fix(docs): add footer to changelog generation</li>
<li>Additional commits viewable in <a
href="https://github.com/litestar-org/polyfactory/compare/v2.15.0...v2.16.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=polyfactory&package-manager=pip&previous-version=2.15.0&new-version=2.16.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants