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 add IsHash #44

Merged
merged 5 commits into from
Sep 15, 2022
Merged

Feat add IsHash #44

merged 5 commits into from
Sep 15, 2022

Conversation

osintalex
Copy link
Contributor

@osintalex osintalex commented Jun 19, 2022

I've kept very simple since this is all I'd want to use to save time in tests and imagined I'd probably want to define a custom regex for most other hashes using IsStr. Just my two cents though.

@codecov
Copy link

codecov bot commented Jun 19, 2022

Codecov Report

Merging #44 (aa706fc) into main (5cf23ce) will not change coverage.
The diff coverage is 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #44   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           12        12           
  Lines          692       709   +17     
  Branches       176       180    +4     
=========================================
+ Hits           692       709   +17     
Impacted Files Coverage Δ
dirty_equals/__init__.py 100.00% <100.00%> (ø)
dirty_equals/_other.py 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5cf23ce...aa706fc. Read the comment docs.

dirty_equals/_other.py Outdated Show resolved Hide resolved
dirty_equals/_other.py Outdated Show resolved Hide resolved
dirty_equals/_other.py Outdated Show resolved Hide resolved
dirty_equals/_other.py Outdated Show resolved Hide resolved
tests/test_other.py Show resolved Hide resolved
@samuelcolvin
Copy link
Owner

Otherwise looking good.

@osintalex
Copy link
Contributor Author

Ready for review ☺️

Copy link
Owner

@samuelcolvin samuelcolvin left a comment

Choose a reason for hiding this comment

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

also conflicts with your other PR, otherwise LGTM.

Args:
hash_type: The hash type to check. Must be specified.

```py title="IsUUID"
Copy link
Owner

Choose a reason for hiding this comment

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

Suggested change
```py title="IsUUID"
```py title="IsHash"

Comment on lines 181 to 183
'md5': r'^[a-fA-F\d]{32}$',
'sha-1': r'^[a-fA-F\d]{40}$',
'sha-256': r'^[a-fA-F\d]{64}$',
Copy link
Owner

Choose a reason for hiding this comment

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

Suggested change
'md5': r'^[a-fA-F\d]{32}$',
'sha-1': r'^[a-fA-F\d]{40}$',
'sha-256': r'^[a-fA-F\d]{64}$',
'md5': r'[a-fA-F\d]{32}',
'sha-1': r'[a-fA-F\d]{40}',
'sha-256': r'[a-fA-F\d]{64}',

Since you're using fullmatch

dirty_equals/_other.py Show resolved Hide resolved
A class that checks if a value is a valid common hash type, using a simple length and allowed characters regex.
"""

def __init__(self, hash_type: Literal['md5', 'sha-1', 'sha-256']):
Copy link
Owner

Choose a reason for hiding this comment

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

Suggested change
def __init__(self, hash_type: Literal['md5', 'sha-1', 'sha-256']):
def __init__(self, hash_type: HashTypes):

Comment on lines 172 to 173
allowed_hashes = 'md5', 'sha-1', 'sha-256'
if hash_type not in allowed_hashes:
Copy link
Owner

Choose a reason for hiding this comment

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

Suggested change
allowed_hashes = 'md5', 'sha-1', 'sha-256'
if hash_type not in allowed_hashes:
if hash_type not in HashTypes.__args__:

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That's neat! Didn't know you could do that

@samuelcolvin
Copy link
Owner

conflicts too.

@osintalex
Copy link
Contributor Author

Think that's all your changes and conflicts gone, let me know if I missed anything.

@samuelcolvin samuelcolvin merged commit 42c5594 into samuelcolvin:main Sep 15, 2022
@samuelcolvin
Copy link
Owner

Thanks so much @osintalex, I'll make a new release now.

@samuelcolvin
Copy link
Owner

I'll make a new release now cancel that, I'll make a release once #47 is merged.

RobertCraigie referenced this pull request in RobertCraigie/prisma-client-py May 8, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [coverage](https://github.com/nedbat/coveragepy) | `==7.2.2` ->
`==7.2.5` |
[![age](https://badges.renovateapi.com/packages/pypi/coverage/7.2.5/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/coverage/7.2.5/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/coverage/7.2.5/compatibility-slim/7.2.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/coverage/7.2.5/confidence-slim/7.2.2)](https://docs.renovatebot.com/merge-confidence/)
|
| [dirty-equals](https://github.com/samuelcolvin/dirty-equals)
([changelog](https://github.com/samuelcolvin/dirty-equals/releases)) |
`==0.5.0` -> `==0.6.0` |
[![age](https://badges.renovateapi.com/packages/pypi/dirty-equals/0.6.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/dirty-equals/0.6.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/dirty-equals/0.6.0/compatibility-slim/0.5.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/dirty-equals/0.6.0/confidence-slim/0.5.0)](https://docs.renovatebot.com/merge-confidence/)
|
| [mkdocs](https://github.com/mkdocs/mkdocs)
([changelog](https://www.mkdocs.org/about/release-notes/)) | `==1.4.2`
-> `==1.4.3` |
[![age](https://badges.renovateapi.com/packages/pypi/mkdocs/1.4.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/mkdocs/1.4.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/mkdocs/1.4.3/compatibility-slim/1.4.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/mkdocs/1.4.3/confidence-slim/1.4.2)](https://docs.renovatebot.com/merge-confidence/)
|
| [mkdocs-material](https://github.com/squidfunk/mkdocs-material) |
`==9.1.5` -> `==9.1.9` |
[![age](https://badges.renovateapi.com/packages/pypi/mkdocs-material/9.1.9/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/mkdocs-material/9.1.9/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/mkdocs-material/9.1.9/compatibility-slim/9.1.5)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/mkdocs-material/9.1.9/confidence-slim/9.1.5)](https://docs.renovatebot.com/merge-confidence/)
|
| [mock](http://mock.readthedocs.org/en/latest/)
([source](https://github.com/testing-cabal/mock)) | `==5.0.1` ->
`==5.0.2` |
[![age](https://badges.renovateapi.com/packages/pypi/mock/5.0.2/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/mock/5.0.2/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/mock/5.0.2/compatibility-slim/5.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/mock/5.0.2/confidence-slim/5.0.1)](https://docs.renovatebot.com/merge-confidence/)
|
| [pyright](https://github.com/RobertCraigie/pyright-python) |
`==1.1.302` -> `==1.1.306` |
[![age](https://badges.renovateapi.com/packages/pypi/pyright/1.1.306/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/pyright/1.1.306/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/pyright/1.1.306/compatibility-slim/1.1.302)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/pyright/1.1.306/confidence-slim/1.1.302)](https://docs.renovatebot.com/merge-confidence/)
|
| [pytest](https://docs.pytest.org/en/latest/)
([source](https://github.com/pytest-dev/pytest),
[changelog](https://docs.pytest.org/en/stable/changelog.html)) |
`==7.2.2` -> `==7.3.1` |
[![age](https://badges.renovateapi.com/packages/pypi/pytest/7.3.1/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/pytest/7.3.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/pytest/7.3.1/compatibility-slim/7.2.2)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/pytest/7.3.1/confidence-slim/7.2.2)](https://docs.renovatebot.com/merge-confidence/)
|
| [typer](https://github.com/tiangolo/typer) | `==0.7.0` -> `==0.9.0`
|
[![age](https://badges.renovateapi.com/packages/pypi/typer/0.9.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/typer/0.9.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/typer/0.9.0/compatibility-slim/0.7.0)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/typer/0.9.0/confidence-slim/0.7.0)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>nedbat/coveragepy</summary>

###
[`v7.2.5`](https://github.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-725--2023-04-30)

[Compare
Source](https://github.com/nedbat/coveragepy/compare/7.2.4...7.2.5)

- Fix: `html_report()` could fail with an AttributeError on `isatty` if
run
in an unusual environment where sys.stdout had been replaced. This is
now
    fixed.

.. \_changes\_7-2-4:

###
[`v7.2.4`](https://github.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-724--2023-04-28)

[Compare
Source](https://github.com/nedbat/coveragepy/compare/7.2.3...7.2.4)

PyCon 2023 sprint fixes!

- Fix: with `relative_files = true`, specifying a specific file to
include or
omit wouldn't work correctly (`issue 1604`*). This is now fixed, with
    testing help by `Marc Gibbons <pull 1608_>`*.

- Fix: the XML report would have an incorrect `<source>` element when
using
relative files and the source option ended with a slash (`issue 1541`*).
    This is now fixed, thanks to `Kevin Brown-Silva <pull 1608_>`*.

-   When the HTML report location is printed to the terminal, it's now a
terminal-compatible URL, so that you can click the location to open the
HTML
file in your browser. Finishes `issue 1523`\_ thanks to `Ricardo Newbery
<pull 1613_>`\_.

- Docs: a new :ref:`Migrating page <migrating>` with details about how
to
migrate between major versions of coverage.py. It currently covers the
    wildcard changes in 7.x.  Thanks, `Brian Grohe <pull 1610_>`\_.

.. \_issue
1523:[https://github.com/nedbat/coveragepy/issues/1523](https://github.com/nedbat/coveragepy/issues/1523)3
.. \_issue
1541[https://github.com/nedbat/coveragepy/issues/1541](https://github.com/nedbat/coveragepy/issues/1541)41
.. \_issue
160[https://github.com/nedbat/coveragepy/issues/1604](https://github.com/nedbat/coveragepy/issues/1604)604
.. \_pull
16[https://github.com/nedbat/coveragepy/pull/1608](https://github.com/nedbat/coveragepy/pull/1608)1608
.. \_pull
1[https://github.com/nedbat/coveragepy/pull/1609](https://github.com/nedbat/coveragepy/pull/1609)/1609
.. \_pull
[https://github.com/nedbat/coveragepy/pull/1610](https://github.com/nedbat/coveragepy/pull/1610)l/1610
..
\_pull[https://github.com/nedbat/coveragepy/pull/1613](https://github.com/nedbat/coveragepy/pull/1613)ll/1613

.. \_changes\_7-2-3:

###
[`v7.2.3`](https://github.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-723--2023-04-06)

[Compare
Source](https://github.com/nedbat/coveragepy/compare/7.2.2...7.2.3)

- Fix: the :ref:`config_run_sigterm` setting was meant to capture data
if a
process was terminated with a SIGTERM signal, but it didn't always. This
was
    fixed thanks to `Lewis Gaul <pull 1600_>`*, closing `issue 1599`*.

- Performance: HTML reports with context information are now much more
compact.
File sizes are typically as small as one-third the previous size, but
can be
dramatically smaller. This closes `issue 1584`\_ thanks to `Oleh Krehel
<pull 1587_>`\_.

- Development dependencies no longer use hashed pins, closing `issue
1592`\_.

.. \_issue
1584:[https://github.com/nedbat/coveragepy/issues/1584](https://github.com/nedbat/coveragepy/issues/1584)4
.. \_pull
1587[https://github.com/nedbat/coveragepy/pull/1587](https://github.com/nedbat/coveragepy/pull/1587)87
.. \_issue
159[https://github.com/nedbat/coveragepy/issues/1592](https://github.com/nedbat/coveragepy/issues/1592)592
.. \_issue
15[https://github.com/nedbat/coveragepy/issues/1599](https://github.com/nedbat/coveragepy/issues/1599)1599
.. \_pull
1[https://github.com/nedbat/coveragepy/pull/1600](https://github.com/nedbat/coveragepy/pull/1600)/1600

.. \_changes\_7-2-2:

</details>

<details>
<summary>samuelcolvin/dirty-equals</summary>

###
[`v0.6.0`](https://github.com/samuelcolvin/dirty-equals/releases/tag/v0.6.0):
2023-04-28

[Compare
Source](https://github.com/samuelcolvin/dirty-equals/compare/v0.5.0...v0.6.0)

#### What's Changed

- Depend on typing-extensions only for Python < 3.8 by
[@&#8203;mgorny](https://github.com/mgorny) in
[https://github.com/samuelcolvin/dirty-equals/pull/50](https://github.com/samuelcolvin/dirty-equals/pull/50)
- Feat add IsHash by [@&#8203;osintalex](https://github.com/osintalex)
in
[https://github.com/samuelcolvin/dirty-equals/pull/44](https://github.com/samuelcolvin/dirty-equals/pull/44)
- feat: add IsUrl by [@&#8203;osintalex](https://github.com/osintalex)
in
[https://github.com/samuelcolvin/dirty-equals/pull/47](https://github.com/samuelcolvin/dirty-equals/pull/47)
- FloatInf & FloatNan by
[@&#8203;FBruzzesi](https://github.com/FBruzzesi) in
[https://github.com/samuelcolvin/dirty-equals/pull/57](https://github.com/samuelcolvin/dirty-equals/pull/57)
- ci: move to Python 3.11 final by
[@&#8203;browniebroke](https://github.com/browniebroke) in
[https://github.com/samuelcolvin/dirty-equals/pull/56](https://github.com/samuelcolvin/dirty-equals/pull/56)
- add check job to CI, remove caching by
[@&#8203;samuelcolvin](https://github.com/samuelcolvin) in
[https://github.com/samuelcolvin/dirty-equals/pull/62](https://github.com/samuelcolvin/dirty-equals/pull/62)
- uprev deps by
[@&#8203;samuelcolvin](https://github.com/samuelcolvin) in
[https://github.com/samuelcolvin/dirty-equals/pull/63](https://github.com/samuelcolvin/dirty-equals/pull/63)
- numeric exact by
[@&#8203;samuelcolvin](https://github.com/samuelcolvin) in
[https://github.com/samuelcolvin/dirty-equals/pull/64](https://github.com/samuelcolvin/dirty-equals/pull/64)
- use pydantic-examples to test examples by
[@&#8203;samuelcolvin](https://github.com/samuelcolvin) in
[https://github.com/samuelcolvin/dirty-equals/pull/65](https://github.com/samuelcolvin/dirty-equals/pull/65)
- Add mike by [@&#8203;samuelcolvin](https://github.com/samuelcolvin)
in
[https://github.com/samuelcolvin/dirty-equals/pull/66](https://github.com/samuelcolvin/dirty-equals/pull/66)

#### New Contributors

- [@&#8203;mgorny](https://github.com/mgorny) made their first
contribution in
[https://github.com/samuelcolvin/dirty-equals/pull/50](https://github.com/samuelcolvin/dirty-equals/pull/50)
- [@&#8203;FBruzzesi](https://github.com/FBruzzesi) made their first
contribution in
[https://github.com/samuelcolvin/dirty-equals/pull/57](https://github.com/samuelcolvin/dirty-equals/pull/57)
- [@&#8203;browniebroke](https://github.com/browniebroke) made their
first contribution in
[https://github.com/samuelcolvin/dirty-equals/pull/56](https://github.com/samuelcolvin/dirty-equals/pull/56)

**Full Changelog**:
samuelcolvin/dirty-equals@v0.5.0...v0.6.0

</details>

<details>
<summary>mkdocs/mkdocs</summary>

### [`v1.4.3`](https://github.com/mkdocs/mkdocs/releases/tag/1.4.3)

[Compare
Source](https://github.com/mkdocs/mkdocs/compare/1.4.2...1.4.3)

- Bugfix: for the `hooks` feature, modules no longer fail to load if
using some advanced Python features like dataclasses
([#&#8203;3193](https://github.com/mkdocs/mkdocs/issues/3193))

- Bugfix: Don't create `None` sitemap entries if the page has no
populated URL - affects sites that exclude some files from navigation
([`07a297b`](https://github.com/mkdocs/mkdocs/commit/07a297b3b4de4a1b49469b1497ee34039b9f38fa))

-   "readthedocs" theme:
- Accessibility: add aria labels to Home logo
([#&#8203;3129](https://github.com/mkdocs/mkdocs/issues/3129)) and
search inputs
([#&#8203;3046](https://github.com/mkdocs/mkdocs/issues/3046))
- "readthedocs" theme now supports `hljs_style:` config, same as
"mkdocs" theme
([#&#8203;3199](https://github.com/mkdocs/mkdocs/issues/3199))

-   Translations:
- Built-in themes now also support Indonesian language
([#&#8203;3154](https://github.com/mkdocs/mkdocs/issues/3154))
- Fixed `zh_CN` translation
([#&#8203;3125](https://github.com/mkdocs/mkdocs/issues/3125))
- `tr_TR` translation becomes just `tr` - usage should remain unaffected
([#&#8203;3195](https://github.com/mkdocs/mkdocs/issues/3195))

See [commit
log](https://github.com/mkdocs/mkdocs/compare/1.4.2...1.4.3).

</details>

<details>
<summary>squidfunk/mkdocs-material</summary>

###
[`v9.1.9`](https://github.com/squidfunk/mkdocs-material/releases/tag/9.1.9):
mkdocs-material-9.1.9

[Compare
Source](https://github.com/squidfunk/mkdocs-material/compare/9.1.8...9.1.9)

-   Added Telugu, Kannada and Sanskrit translations
- Fixed
[#&#8203;5428](https://github.com/squidfunk/mkdocs-material/issues/5428):
Fixed margins for light/dark mode images in figures
- Fixed
[#&#8203;5420](https://github.com/squidfunk/mkdocs-material/issues/5420):
Social plugin crashing for some specific Google Fonts
- Fixed
[#&#8203;5160](https://github.com/squidfunk/mkdocs-material/issues/5160):
Instant loading makes code annotations jump (9.1.1 regression)
- Fixed
[#&#8203;4920](https://github.com/squidfunk/mkdocs-material/issues/4920):
Social plugin not loading logo from custom icon set
-   Fixed social plugin crashing when only code font is specified

###
[`v9.1.8`](https://github.com/squidfunk/mkdocs-material/releases/tag/9.1.8):
mkdocs-material-9.1.8

[Compare
Source](https://github.com/squidfunk/mkdocs-material/compare/9.1.7...9.1.8)

- Fixed
[#&#8203;5417](https://github.com/squidfunk/mkdocs-material/issues/5417):
Theme breaks when `palette` is not defined (9.1.7 regression)

###
[`v9.1.7`](https://github.com/squidfunk/mkdocs-material/releases/tag/9.1.7):
mkdocs-material-9.1.7

[Compare
Source](https://github.com/squidfunk/mkdocs-material/compare/9.1.6...9.1.7)

-   Updated Persian (Farsi) and Turkish translations
- Fixed
[#&#8203;5401](https://github.com/squidfunk/mkdocs-material/issues/5401):
Added missing flag to disable built-in tags plugin
- Fixed
[#&#8203;5206](https://github.com/squidfunk/mkdocs-material/issues/5206):
Ensure defaults are set for primary and accent colors
-   Fixed unnecessary inclusion of palette CSS when unused

###
[`v9.1.6`](https://github.com/squidfunk/mkdocs-material/releases/tag/9.1.6):
mkdocs-material-9.1.6

[Compare
Source](https://github.com/squidfunk/mkdocs-material/compare/9.1.5...9.1.6)

-   Updated Persian (Farsi) translations
- Fixed
[#&#8203;5300](https://github.com/squidfunk/mkdocs-material/issues/5300):
Boxes in Mermaid sequence diagrams not color-abiding

</details>

<details>
<summary>testing-cabal/mock</summary>

###
[`v5.0.2`](https://github.com/testing-cabal/mock/blob/HEAD/CHANGELOG.rst#&#8203;502)

[Compare
Source](https://github.com/testing-cabal/mock/compare/5.0.1...5.0.2)

- [gh-102978](https://github.com/testing-cabal/mock/issues/102978):
Fixes :func:`unittest.mock.patch` not enforcing function
    signatures for methods decorated with `@classmethod` or
    `@staticmethod` when patch is called with `autospec=True`.

- [gh-103329](https://github.com/testing-cabal/mock/issues/103329):
Regression tests for the behaviour of
    `unittest.mock.PropertyMock` were added.

</details>

<details>
<summary>RobertCraigie/pyright-python</summary>

###
[`v1.1.306`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.305...v1.1.306)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.305...v1.1.306)

###
[`v1.1.305`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.304...v1.1.305)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.304...v1.1.305)

###
[`v1.1.304`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.303...v1.1.304)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.303...v1.1.304)

###
[`v1.1.303`](https://github.com/RobertCraigie/pyright-python/compare/v1.1.302...v1.1.303)

[Compare
Source](https://github.com/RobertCraigie/pyright-python/compare/v1.1.302...v1.1.303)

</details>

<details>
<summary>pytest-dev/pytest</summary>

###
[`v7.3.1`](https://github.com/pytest-dev/pytest/releases/tag/7.3.1)

[Compare
Source](https://github.com/pytest-dev/pytest/compare/7.3.0...7.3.1)

# pytest 7.3.1 (2023-04-14)

## Improvements

- [#&#8203;10875](https://github.com/pytest-dev/pytest/issues/10875):
Python 3.12 support: fixed `RuntimeError: TestResult has no addDuration
method` when running `unittest` tests.
- [#&#8203;10890](https://github.com/pytest-dev/pytest/issues/10890):
Python 3.12 support: fixed `shutil.rmtree(onerror=...)` deprecation
warning when using `tmp_path`{.interpreted-text role="fixture"}.

## Bug Fixes

- [#&#8203;10896](https://github.com/pytest-dev/pytest/issues/10896):
Fixed performance regression related to `tmp_path`{.interpreted-text
role="fixture"} and the new
`tmp_path_retention_policy`{.interpreted-text role="confval"} option.
- [#&#8203;10903](https://github.com/pytest-dev/pytest/issues/10903):
Fix crash `INTERNALERROR IndexError: list index out of range` which
happens when displaying an exception where all entries are hidden.
This reverts the change "Correctly handle `__tracebackhide__` for
chained exceptions." introduced in version 7.3.0.

###
[`v7.3.0`](https://github.com/pytest-dev/pytest/releases/tag/7.3.0)

[Compare
Source](https://github.com/pytest-dev/pytest/compare/7.2.2...7.3.0)

# pytest 7.3.0 (2023-04-08)

## Features

- [#&#8203;10525](https://github.com/pytest-dev/pytest/issues/10525):
Test methods decorated with `@classmethod` can now be discovered as
tests, following the same rules as normal methods. This fills the gap
that static methods were discoverable as tests but not class methods.
- [#&#8203;10755](https://github.com/pytest-dev/pytest/issues/10755):
`console_output_style`{.interpreted-text role="confval"} now supports
`progress-even-when-capture-no` to force the use of the progress output
even when capture is disabled. This is useful in large test suites where
capture may have significant performance impact.
- [#&#8203;7431](https://github.com/pytest-dev/pytest/issues/7431):
`--log-disable` CLI option added to disable individual loggers.
- [#&#8203;8141](https://github.com/pytest-dev/pytest/issues/8141):
Added `tmp_path_retention_count`{.interpreted-text role="confval"} and
`tmp_path_retention_policy`{.interpreted-text role="confval"}
configuration options to control how directories created by the
`tmp_path`{.interpreted-text role="fixture"} fixture are kept.

## Improvements

- [#&#8203;10226](https://github.com/pytest-dev/pytest/issues/10226):
If multiple errors are raised in teardown, we now re-raise an
`ExceptionGroup` of them instead of discarding all but the last.
- [#&#8203;10658](https://github.com/pytest-dev/pytest/issues/10658):
Allow `-p` arguments to include spaces (eg: `-p no:logging` instead of
`-pno:logging`). Mostly useful in the `addopts` section of the
configuration
    file.
- [#&#8203;10710](https://github.com/pytest-dev/pytest/issues/10710):
Added `start` and `stop` timestamps to `TestReport` objects.
- [#&#8203;10727](https://github.com/pytest-dev/pytest/issues/10727):
Split the report header for `rootdir`, `config file` and `testpaths` so
each has its own line.
- [#&#8203;10840](https://github.com/pytest-dev/pytest/issues/10840):
pytest should no longer crash on AST with pathological position
attributes, for example testing AST produced by \[Hylang
\<https://github.com/hylang/hy>\__]{.title-ref}.
- [#&#8203;6267](https://github.com/pytest-dev/pytest/issues/6267):
The full output of a test is no longer truncated if the truncation
message would be longer than
    the hidden text. The line number shown has also been fixed.

## Bug Fixes

- [#&#8203;10743](https://github.com/pytest-dev/pytest/issues/10743):
The assertion rewriting mechanism now works correctly when assertion
expressions contain the walrus operator.
- [#&#8203;10765](https://github.com/pytest-dev/pytest/issues/10765):
Fixed `tmp_path`{.interpreted-text role="fixture"} fixture always
raising `OSError`{.interpreted-text role="class"} on `emscripten`
platform due to missing `os.getuid`{.interpreted-text role="func"}.
- [#&#8203;1904](https://github.com/pytest-dev/pytest/issues/1904):
Correctly handle `__tracebackhide__` for chained exceptions.

## Improved Documentation

- [#&#8203;10782](https://github.com/pytest-dev/pytest/issues/10782):
Fixed the minimal example in `goodpractices`{.interpreted-text
role="ref"}: `pip install -e .` requires a `version` entry in
`pyproject.toml` to run successfully.

## Trivial/Internal Changes

- [#&#8203;10669](https://github.com/pytest-dev/pytest/issues/10669):
pytest no longer depends on the \[attrs]{.title-ref} package (don't
worry, nice diffs for attrs classes are still supported).

</details>

<details>
<summary>tiangolo/typer</summary>

### [`v0.9.0`](https://github.com/tiangolo/typer/releases/tag/0.9.0)

[Compare
Source](https://github.com/tiangolo/typer/compare/0.8.0...0.9.0)

##### Features

- ✨ Add support for PEP-593 `Annotated` for specifying options and
arguments. Initial PR
[#&#8203;584](https://github.com/tiangolo/typer/pull/584) by
[@&#8203;ryangalamb](https://github.com/ryangalamb).
- New docs: [Optional CLI
arguments](https://typer.tiangolo.com/tutorial/arguments/optional/#an-alternative-cli-argument-declaration).
- It is no longer required to pass a default value of `...` to mark a
*CLI Argument* or *CLI Option* as required.
- It is now recommended to use `Annotated` for `typer.Option()` and
`typer.Argument()`.
    -   All the docs have been updated to recommend `Annotated`.

##### Docs

- 📝 Update docs examples for custom param types using `Annotated`, fix
overloads for `typer.Argument`. PR
[#&#8203;594](https://github.com/tiangolo/typer/pull/594) by
[@&#8203;tiangolo](https://github.com/tiangolo).

##### Internal

- ⬆ \[pre-commit.ci] pre-commit autoupdate. PR
[#&#8203;592](https://github.com/tiangolo/typer/pull/592) by
[@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci).

### [`v0.8.0`](https://github.com/tiangolo/typer/releases/tag/0.8.0)

[Compare
Source](https://github.com/tiangolo/typer/compare/0.7.0...0.8.0)

##### Features

- ✨ Add support for custom types and parsers. Initial PR
[#&#8203;583](https://github.com/tiangolo/typer/pull/583) by
[@&#8203;jpurviance](https://github.com/jpurviance). Based on original
PR [#&#8203;443](https://github.com/tiangolo/typer/pull/443) by
[@&#8203;paulo-raca](https://github.com/paulo-raca).
- New docs: [CLI Parameter Types: Custom
Types](https://typer.tiangolo.com/tutorial/parameter-types/custom-types/).

##### Upgrades

- ⬆ Upgrade Rich, support 13.x. PR
[#&#8203;524](https://github.com/tiangolo/typer/pull/524) by
[@&#8203;musicinmybrain](https://github.com/musicinmybrain).

##### Docs

- 📝 Tweak docs, Custom Types path, main page and READAME colors, broken
links. PR [#&#8203;588](https://github.com/tiangolo/typer/pull/588) by
[@&#8203;tiangolo](https://github.com/tiangolo).
- ✏ Fix spelling (shinny -> shiny). PR
[#&#8203;586](https://github.com/tiangolo/typer/pull/586) by
[@&#8203;runofthemill](https://github.com/runofthemill).
- 📝 Update docs about helping Typer. PR
[#&#8203;547](https://github.com/tiangolo/typer/pull/547) by
[@&#8203;tiangolo](https://github.com/tiangolo).
- ✏️ Fix typo in datetime docs. PR
[#&#8203;495](https://github.com/tiangolo/typer/pull/495) by
[@&#8203;huxuan](https://github.com/huxuan).
- ✏️ Add quotes to package name that includes brackets in docs. PR
[#&#8203;475](https://github.com/tiangolo/typer/pull/475) by
[@&#8203;gjolga](https://github.com/gjolga).

##### Internal

- ⬆ Bump dawidd6/action-download-artifact from 2.24.2 to 2.26.0. PR
[#&#8203;558](https://github.com/tiangolo/typer/pull/558) by
[@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot).
- ⬆ \[pre-commit.ci] pre-commit autoupdate. PR
[#&#8203;549](https://github.com/tiangolo/typer/pull/549) by
[@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci).
- 🔧 Add `exclude_lines` to coverage configuration. PR
[#&#8203;585](https://github.com/tiangolo/typer/pull/585) by
[@&#8203;dmontagu](https://github.com/dmontagu).
- ⬆️ Upgrade analytics. PR
[#&#8203;557](https://github.com/tiangolo/typer/pull/557) by
[@&#8203;tiangolo](https://github.com/tiangolo).
- 🔧 Update new issue chooser to suggest GitHub Discussions. PR
[#&#8203;544](https://github.com/tiangolo/typer/pull/544) by
[@&#8203;tiangolo](https://github.com/tiangolo).
- 🔧 Add GitHub Discussion templates for questions. PR
[#&#8203;541](https://github.com/tiangolo/typer/pull/541) by
[@&#8203;tiangolo](https://github.com/tiangolo).
- 🔧 Update pre-commit, Python version, isort version. PR
[#&#8203;542](https://github.com/tiangolo/typer/pull/542) by
[@&#8203;tiangolo](https://github.com/tiangolo).
- ⬆ \[pre-commit.ci] pre-commit autoupdate. PR
[#&#8203;512](https://github.com/tiangolo/typer/pull/512) by
[@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci).
- ⬆ Bump nwtgck/actions-netlify from 1.2.4 to 2.0.0. PR
[#&#8203;513](https://github.com/tiangolo/typer/pull/513) by
[@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot).
- 👷 Refactor CI artifact upload/download for docs previews. PR
[#&#8203;516](https://github.com/tiangolo/typer/pull/516) by
[@&#8203;tiangolo](https://github.com/tiangolo).
- ⬆ \[pre-commit.ci] pre-commit autoupdate. PR
[#&#8203;500](https://github.com/tiangolo/typer/pull/500) by
[@&#8203;pre-commit-ci\[bot\]](https://github.com/apps/pre-commit-ci).
- ⬆ Bump actions/cache from 2 to 3. PR
[#&#8203;496](https://github.com/tiangolo/typer/pull/496) by
[@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot).
- ⬆ Bump dawidd6/action-download-artifact from 2.24.1 to 2.24.2. PR
[#&#8203;494](https://github.com/tiangolo/typer/pull/494) by
[@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot).
- ⬆ Bump dawidd6/action-download-artifact from 2.9.0 to 2.24.1. PR
[#&#8203;491](https://github.com/tiangolo/typer/pull/491) by
[@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot).
- ⬆ Bump actions/setup-python from 2 to 4. PR
[#&#8203;492](https://github.com/tiangolo/typer/pull/492) by
[@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot).
- 👷‍♂️ Consistently use `sys.executable` to run subprocesses, needed by
OpenSUSE. PR [#&#8203;408](https://github.com/tiangolo/typer/pull/408)
by [@&#8203;theMarix](https://github.com/theMarix).
- 👷‍♂️ Ensure the `PYTHONPATH` is set properly when testing the tutorial
scripts. PR [#&#8203;407](https://github.com/tiangolo/typer/pull/407)
by [@&#8203;theMarix](https://github.com/theMarix).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/RobertCraigie/prisma-client-py).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4zNC4xIiwidXBkYXRlZEluVmVyIjoiMzUuNjkuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Craigie <robert@craigie.dev>
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.

2 participants