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

Page.get_text results in AssertionError for epub files #3687

Closed
arun-mani-j opened this issue Jul 14, 2024 · 4 comments
Closed

Page.get_text results in AssertionError for epub files #3687

arun-mani-j opened this issue Jul 14, 2024 · 4 comments

Comments

@arun-mani-j
Copy link
Contributor

Description of the bug

Page.get_text results in AssertionError for all options except "blocks" and "words" in epub files. However, directly accessing the methods from TextPage works fine.

This is there only in 1.24.7 I think. My distribution package of 1.23.7 does not cause this error.

How to reproduce the bug

  1. Download an epub file, I was able to reproduce the bug with https://www.gutenberg.org/ebooks/73987 for context.
  2. Run the following code.
import pymupdf

doc = pymupdf.open("/home/arun-mani-j/Downloads/test.epub")

p = doc[0]

p.get_text("text")
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
----> 1 p.get_text("text")

~/Projects/aayra/lib/python3.12/site-packages/pymupdf/utils.py in ?(page, option, clip, flags, textpage, sort, delimiters)
    794     if clip is not None:
    795         clip = pymupdf.Rect(clip)
    796         cb = None
    797     elif type(page) is pymupdf.Page:
--> 798         cb = page.cropbox
    799     # pymupdf.TextPage with or without images
    800     tp = textpage
    801     #pymupdf.exception_info()

~/Projects/aayra/lib/python3.12/site-packages/pymupdf/__init__.py in ?(self)
   8531     @property
   8532     def cropbox(self):
   8533         """The CropBox."""
   8534         CheckParent(self)
-> 8535         page = self._pdf_page()
   8536         if not page.m_internal:
   8537             val = mupdf.fz_bound_page(self.this)
   8538         else:

~/Projects/aayra/lib/python3.12/site-packages/pymupdf/__init__.py in ?(self)
   8050     def _pdf_page(self):
-> 8051         return _as_pdf_page(self.this)

~/Projects/aayra/lib/python3.12/site-packages/pymupdf/__init__.py in ?(page, required)
    333         return page
    334     elif isinstance(page, mupdf.FzPage):
    335         ret = mupdf.pdf_page_from_fz_page(page)
    336         if required:
--> 337             assert ret.m_internal
    338         return ret
    339     elif page is None:
    340         assert 0, f'page is None'

AssertionError: 
  1. Using TextPage methods directly works fine.
tp = p.get_textpage()
tp.extractText() # No errors raised
  1. Using "words" or "blocks" work fine.
p.get_text("words")
p.get_text("blocks")

PyMuPDF version

1.24.7

Operating system

Linux

Python version

3.12

@julian-smith-artifex-com
Copy link
Collaborator

Thanks for the report.

I think this bug has already been fixed in git, but i'll check on Monday.

@julian-smith-artifex-com
Copy link
Collaborator

Have just confirmed, this is working in git, so i'll mark this issue as being fixed in next release.

@arun-mani-j
Copy link
Contributor Author

Thanks!

@julian-smith-artifex-com
Copy link
Collaborator

Fixed in 1.24.8.

armanddidierjean pushed a commit to aeecleclair/Hyperion that referenced this issue Aug 6, 2024
…511)

Bumps the patch-dependencies group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [pymupdf](https://github.com/pymupdf/pymupdf) | `1.24.7` | `1.24.9` |
| [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz) | `3.9.3` |
`3.9.5` |
| [redis](https://github.com/redis/redis-py) | `5.0.7` | `5.0.8` |
| [sqlalchemy[asyncio]](https://github.com/sqlalchemy/sqlalchemy) |
`2.0.31` | `2.0.32` |
| [pytest-alembic](https://github.com/schireson/pytest-alembic) |
`0.11.0` | `0.11.1` |
| [pytest-asyncio](https://github.com/pytest-dev/pytest-asyncio) |
`0.23.7` | `0.23.8` |
| [ruff](https://github.com/astral-sh/ruff) | `0.5.2` | `0.5.6` |


Updates `pymupdf` from 1.24.7 to 1.24.9
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pymupdf/pymupdf/releases">pymupdf's
releases</a>.</em></p>
<blockquote>
<h2>PyMuPDF-1.24.9 released</h2>
<p>PyMuPDF-1.24.9 has been released.</p>
<p>Wheels for Windows, Linux and MacOS, and the sdist, are available on
pypi.org and can be installed in the usual way, for example:</p>
<pre><code>python -m pip install --upgrade pymupdf
</code></pre>
<p>[Linux-aarch64 wheels will be built and uploaded later.]</p>
<p><strong>Changes in version 1.24.9 (2024-07-24)</strong></p>
<ul>
<li>Incremented MuPDF version to 1.24.8.</li>
</ul>
<h2>PyMuPDF-1.24.8 released</h2>
<p>PyMuPDF-1.24.8 has been released.</p>
<p>Wheels for Windows, Linux and MacOS, and the sdist, are available on
pypi.org and can be installed in the usual way, for example:</p>
<pre><code>python -m pip install --upgrade pymupdf
</code></pre>
<p>[Linux-aarch64 wheels will be built and uploaded later.]</p>
<p><strong>Changes in version 1.24.8 (2024-07-22)</strong></p>
<ul>
<li>
<p>Fixed issues:</p>
<ul>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3636">#3636</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3654">#3654</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3677">#3677</a></li>
<li><strong>Fixed</strong> <a
href="https://redirect.github.com/pymupdf/pymupdf/issues/3687">#3687</a></li>
</ul>
</li>
</ul>
<p>Other:</p>
<ul>
<li>Fixed various spelling mistakes spotted by codespell.</li>
<li>Improved how we modify MuPDF's default configuration on
Windows.</li>
<li>Make text search to work with ligatures.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pymupdf/PyMuPDF/blob/main/changes.txt">pymupdf's
changelog</a>.</em></p>
<blockquote>
<h1>Change Log</h1>
<p><strong>Changes in version 1.24.9 (2024-07-24)</strong></p>
<ul>
<li>Incremented MyPDF version to 1.24.9.</li>
</ul>
<p><strong>Changes in version 1.24.8 (2024-07-22)</strong></p>
<ul>
<li>
<p>Fixed issues:</p>
<ul>
<li><strong>Fixed</strong> <code>3636
&lt;https://github.com/pymupdf/PyMuPDF/issues/3636&gt;</code>_: API
documentation for the open function is not obvious to find.</li>
<li><strong>Fixed</strong> <code>3654
&lt;https://github.com/pymupdf/PyMuPDF/issues/3654&gt;</code>_: docx
parsing was broken in 1.24.7</li>
<li><strong>Fixed</strong> <code>3677
&lt;https://github.com/pymupdf/PyMuPDF/issues/3677&gt;</code>_: Unable
to extract subset font name using the newer versions of PyMuPDF : 1.24.6
and 1.24.7.</li>
<li><strong>Fixed</strong> <code>3687
&lt;https://github.com/pymupdf/PyMuPDF/issues/3687&gt;</code>_:
Page.get_text results in AssertionError for epub files</li>
</ul>
</li>
</ul>
<p>Other:</p>
<ul>
<li>Fixed various spelling mistakes spotted by codespell.</li>
<li>Improved how we modify MuPDF's default configuration on
Windows.</li>
<li>Make text search to work with ligatures.</li>
</ul>
<p><strong>Changes in version 1.24.7 (2024-06-26)</strong></p>
<ul>
<li>
<p>Fixed issues:</p>
<ul>
<li><strong>Fixed</strong> <code>3615
&lt;https://github.com/pymupdf/PyMuPDF/issues/3615&gt;</code>_:
Document.pagemode or Document.pagelayout crashes for epub files</li>
<li><strong>Fixed</strong> <code>3616
&lt;https://github.com/pymupdf/PyMuPDF/issues/3616&gt;</code>_: not last
version reported</li>
</ul>
</li>
</ul>
<p><strong>Changes in version 1.24.6 (2024-06-25)</strong></p>
<ul>
<li>
<p>Fixed issues:</p>
<ul>
<li><strong>Fixed</strong> <code>3599
&lt;https://github.com/pymupdf/PyMuPDF/issues/3599&gt;</code>_:
Story.fit_width() has a weird line</li>
<li><strong>Fixed</strong> <code>3594
&lt;https://github.com/pymupdf/PyMuPDF/issues/3594&gt;</code>_: Garbled
extraction for Amazon Sustainability Report</li>
<li><strong>Fixed</strong> <code>3591
&lt;https://github.com/pymupdf/PyMuPDF/issues/3591&gt;</code>_: 'width'
in Page.get_drawings() returns width equal as 0</li>
<li><strong>Fixed</strong> <code>3561
&lt;https://github.com/pymupdf/PyMuPDF/issues/3561&gt;</code>_:
ZeroDivisionError: float division by zero with
page.apply_redactions()</li>
<li><strong>Fixed</strong> <code>3559
&lt;https://github.com/pymupdf/PyMuPDF/issues/3559&gt;</code>_: SegFault
11 when empty H1 H2 H3 H4 etc element is used in insert_htmlbox</li>
<li><strong>Fixed</strong> <code>3539
&lt;https://github.com/pymupdf/PyMuPDF/issues/3539&gt;</code>_: Add
dotted gridline detection to table recognition</li>
<li><strong>Fixed</strong> <code>3519
&lt;https://github.com/pymupdf/PyMuPDF/issues/3519&gt;</code>_:
get_toc(simple=False) AttributeError: 'Outline' object has no attribute
'rect'</li>
<li><strong>Fixed</strong> <code>3510
&lt;https://github.com/pymupdf/PyMuPDF/issues/3510&gt;</code>_:
page.get_label() gets wrong label on the first page of doc</li>
<li><strong>Fixed</strong> <code>3494
&lt;https://github.com/pymupdf/PyMuPDF/issues/3494&gt;</code>_:
1.24.2/1.24.3: spurious characters introduced when using subset_fonts
and insert_pdf</li>
<li><strong>Fixed</strong> <code>3470
&lt;https://github.com/pymupdf/PyMuPDF/issues/3470&gt;</code>_:
subset_fonts error exit without exception/warning</li>
<li><strong>Fixed</strong> <code>3400
&lt;https://github.com/pymupdf/PyMuPDF/issues/3400&gt;</code>_: set_toc
alters link coordinates for some rotated pages on pymupdf 1.24.2</li>
<li><strong>Fixed</strong> <code>3347
&lt;https://github.com/pymupdf/PyMuPDF/issues/3347&gt;</code>_:
Incorrect links to points on pages having different heights</li>
<li><strong>Fixed</strong> <code>3237
&lt;https://github.com/pymupdf/PyMuPDF/issues/3237&gt;</code>_:
Set_metadata() does not work</li>
</ul>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/9717935eeb2d50d15440d62575878214226795f9"><code>9717935</code></a>
Update changelog, version numbers and release dates for release
1.24.9.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/0f45692a004a6ad1acb0e12c7fa996d0665ab119"><code>0f45692</code></a>
changes.txt: fixed formatting of 1.24.8 description.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/c3bed87b30e1cca56c795080a478a988949f9e1a"><code>c3bed87</code></a>
src/<strong>init</strong>.py: fix to work with latest mupdf 1.24.8.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/e4420d11205f5758fda9532c1be503318b264da1"><code>e4420d1</code></a>
setup.py: fix generation of mupdf header tree.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/015adf103ba4d675c998908c711648493c7390eb"><code>015adf1</code></a>
READMEb.md READMEd.md: removed unnecessary version numbers.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/0cc33dace5c45ae5f5d94468baeb011ef2740590"><code>0cc33da</code></a>
setup.py: force creation of new pymupdfb wheels.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/2216b7bd509c0f230a0bcc1185285e17c51bc602"><code>2216b7b</code></a>
Update changelog, version numbers and release dates for release
1.24.8.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/573fcd003bfd0dd14207d040090d1edfcc21a47b"><code>573fcd0</code></a>
pipcl.py: use sysconfig.get_platform() instead of
setuptools.distutils.util.g...</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/f49f75638377f1a5674735c0cd08f70729900976"><code>f49f756</code></a>
src/<strong>init</strong>.py: log(): make slightly more robust.</li>
<li><a
href="https://github.com/pymupdf/PyMuPDF/commit/550411cafd5e67656545b8e5d31df5087f4fddc2"><code>550411c</code></a>
Documentation: Updates sidebar logo to use SVG.</li>
<li>Additional commits viewable in <a
href="https://github.com/pymupdf/pymupdf/compare/1.24.7...1.24.9">compare
view</a></li>
</ul>
</details>
<br />

Updates `rapidfuzz` from 3.9.3 to 3.9.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/rapidfuzz/RapidFuzz/releases">rapidfuzz's
releases</a>.</em></p>
<blockquote>
<h2>Release 3.9.5</h2>
<h2>Fixed</h2>
<ul>
<li>include simd binaries in pyinstaller builds</li>
<li>fix builds with setuptools 72 by upgrading
<code>scikit-build</code></li>
</ul>
<h2>Release 3.9.4</h2>
<h2>Fixed</h2>
<ul>
<li>fix bug in <code>Levenshtein.editops</code> and
<code>Levenshtein.opcodes</code> which could lead
to incorrect results and crashes for some inputs</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rapidfuzz/RapidFuzz/blob/main/CHANGELOG.rst">rapidfuzz's
changelog</a>.</em></p>
<blockquote>
<h2>Changelog</h2>
<p>[3.9.6] - 2024-07-29
^^^^^^^^^^^^^^^^^^^^
Changed</p>
<pre><code>* upgrade to ``Cython==3.0.11``
* add python 3.13 wheels
<p>[3.9.5] - 2024-07-29
^^^^^^^^^^^^^^^^^^^^
Fixed</p>
<pre><code>* include simd binaries in pyinstaller builds
* fix builds with setuptools 72 by upgrading `scikit-build`

[3.9.4] - 2024-07-02
^^^^^^^^^^^^^^^^^^^^
Fixed
</code></pre>
<ul>
<li>fix bug in <code>Levenshtein.editops</code> and
<code>Levenshtein.opcodes</code> which could lead
to incorrect results and crashes for some inputs</li>
</ul>
<p>[3.9.3] - 2024-05-31
^^^^^^^^^^^^^^^^^^^^
Fixed</p>
<pre><code>* fix None handling for queries in ``process.cdist`` for
scorers not supporting SIMD

[3.9.2] - 2024-05-28
^^^^^^^^^^^^^^^^^^^^
Fixed
</code></pre>
<ul>
<li>fix supported versions of taskflow in cmake to be in the range v3.3
- v3.7</li>
</ul>
<p>[3.9.1] - 2024-05-19
^^^^^^^^^^^^^^^^^^^^
Fixed</p>
<pre><code>* disable AVX2 on MacOS since it did lead to illegal
instructions being generated


[3.9.0] - 2024-05-02
^^^^^^^^^^^^^^^^^^^^
Changed
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;significantly improve type hints for the library&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;/blockquote&gt;
&lt;p&gt;... (truncated)&lt;/p&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;Commits&lt;/summary&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a
href=&quot;rapidfuzz/RapidFuzz@d2caa92bd0cb62408ecbd7019224d89e59f688e5&quot;&gt;&lt;code&gt;d2caa92&lt;/code&gt;&lt;/a&gt;
upgrade scikit-build&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;rapidfuzz/RapidFuzz@685252dddee9f16bef8c298f01c0bf5d8f04c11d&quot;&gt;&lt;code&gt;685252d&lt;/code&gt;&lt;/a&gt;
fix: correction for known wheels&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;rapidfuzz/RapidFuzz@c80e7e14bd003b496b20803ea0b3880b763fa402&quot;&gt;&lt;code&gt;c80e7e1&lt;/code&gt;&lt;/a&gt;
Bump pypa/cibuildwheel from 2.19.1 to 2.19.2 in the github-actions
group&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;rapidfuzz/RapidFuzz@c0525dae0ff3909692df226762f72678a3ee693d&quot;&gt;&lt;code&gt;c0525da&lt;/code&gt;&lt;/a&gt;
update function name&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;rapidfuzz/RapidFuzz@2c3a250718c0c13bed7a5ac8f80408f2546e930a&quot;&gt;&lt;code&gt;2c3a250&lt;/code&gt;&lt;/a&gt;
fix documentation for fuzz.ratio&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;rapidfuzz/RapidFuzz@e42836a0479b7489b776434631d1e5d7845f018b&quot;&gt;&lt;code&gt;e42836a&lt;/code&gt;&lt;/a&gt;
apply formatting&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;rapidfuzz/RapidFuzz@092328f48a9f3e5b48e7f4a6d2d4eca18cb8fff2&quot;&gt;&lt;code&gt;092328f&lt;/code&gt;&lt;/a&gt;
force newest cython version&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;rapidfuzz/RapidFuzz@6bbd17e84881500032965897bf2ae058d8ab9361&quot;&gt;&lt;code&gt;6bbd17e&lt;/code&gt;&lt;/a&gt;
include simd binaries in pyinstaller builds&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;rapidfuzz/RapidFuzz@8af875c1227ef0a034f46a1d6d46ab35c188d899&quot;&gt;&lt;code&gt;8af875c&lt;/code&gt;&lt;/a&gt;
fix ci&lt;/li&gt;
&lt;li&gt;&lt;a
href=&quot;rapidfuzz/RapidFuzz@080456ac8e1b6037b10536e4de4eda25e36ee18f&quot;&gt;&lt;code&gt;080456a&lt;/code&gt;&lt;/a&gt;
tag build&lt;/li&gt;
&lt;li&gt;Additional commits viewable in &lt;a
href=&quot;rapidfuzz/RapidFuzz@v3.9.3...v3.9.5&quot;&gt;compare
view&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;

&lt;br /&gt;
</code></pre>

Updates `redis` from 5.0.7 to 5.0.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/redis/redis-py/releases">redis's
releases</a>.</em></p>
<blockquote>
<h2>5.0.8</h2>
<h1>Changes</h1>
<ul>
<li>Resolve some docs warnings (<a
href="https://redirect.github.com/redis/redis-py/issues/3322">#3322</a>)</li>
<li>Add missing type hints for retry.py (<a
href="https://redirect.github.com/redis/redis-py/issues/3250">#3250</a>)</li>
</ul>
<h2>🔥 Breaking Changes</h2>
<ul>
<li>Timeseries insertion filters for close samples (<a
href="https://redirect.github.com/redis/redis-py/issues/3228">#3228</a>)</li>
</ul>
<h2>🚀 New Features</h2>
<ul>
<li>Hash field expiration commands (<a
href="https://redirect.github.com/redis/redis-py/issues/3218">#3218</a>)</li>
<li>Support the MAXAGE option for CLIENT KILL (<a
href="https://redirect.github.com/redis/redis-py/issues/3187">#3187</a>)</li>
<li>Support NOVALUES parameter for HSCAN (<a
href="https://redirect.github.com/redis/redis-py/issues/3157">#3157</a>)</li>
<li>Document XREAD of last message (+) (<a
href="https://redirect.github.com/redis/redis-py/issues/3187">#3187</a>)</li>
<li>Support missing/empty values in search (<a
href="https://redirect.github.com/redis/redis-py/issues/3231">#3231</a>)</li>
<li>Timeseries insertion filters for close samples (<a
href="https://redirect.github.com/redis/redis-py/issues/3228">#3228</a>)</li>
</ul>
<h2>🧰 Maintenance</h2>
<ul>
<li>Add extra tests for GEO search (<a
href="https://redirect.github.com/redis/redis-py/issues/3244">#3244</a>)</li>
<li>Test special characters escaping in search (<a
href="https://redirect.github.com/redis/redis-py/issues/3276">#3276</a>)</li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li>Decode search results at field level (<a
href="https://redirect.github.com/redis/redis-py/issues/3309">#3309</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/redis/redis-py/commit/6a2a6368e6a76d0ab2eb7236d4a69ce13730d119"><code>6a2a636</code></a>
Decode search results at field level (<a
href="https://redirect.github.com/redis/redis-py/issues/3309">#3309</a>)</li>
<li><a
href="https://github.com/redis/redis-py/commit/e7ef54a0aeb55accc14b72f4faef5fc2e4c9a780"><code>e7ef54a</code></a>
Fix bug: client side caching causes unexpected disconnections (async
version)...</li>
<li><a
href="https://github.com/redis/redis-py/commit/0cd0c5dd43cbf0e53fdeae54a6dfa74642c5d1de"><code>0cd0c5d</code></a>
Format connection errors in the same way everywhere (<a
href="https://redirect.github.com/redis/redis-py/issues/3305">#3305</a>)</li>
<li><a
href="https://github.com/redis/redis-py/commit/6fedfefb7d22f90ab91a859aee328493192e4deb"><code>6fedfef</code></a>
Prepare for Redis 7.4 RC2 (<a
href="https://redirect.github.com/redis/redis-py/issues/3303">#3303</a>)</li>
<li><a
href="https://github.com/redis/redis-py/commit/ed1680ff42f7f6099c9fb2f478e551638a303985"><code>ed1680f</code></a>
Add details to the asyncio connection error message (<a
href="https://redirect.github.com/redis/redis-py/issues/3211">#3211</a>)</li>
<li><a
href="https://github.com/redis/redis-py/commit/511fda08ad22b87883500ad85bf18b0ab46844e4"><code>511fda0</code></a>
Add missing type hints for <code>retry.py</code> (<a
href="https://redirect.github.com/redis/redis-py/issues/3250">#3250</a>)</li>
<li><a
href="https://github.com/redis/redis-py/commit/c1a6ff7d60a424e0166741a084bdc41237671acd"><code>c1a6ff7</code></a>
Bump rojopolis/spellcheck-github-actions from 0.37.0 to 0.38.0 (<a
href="https://redirect.github.com/redis/redis-py/issues/3301">#3301</a>)</li>
<li><a
href="https://github.com/redis/redis-py/commit/338cbfdeb8d9638c7d6d2b70ded08dce35413601"><code>338cbfd</code></a>
Re-enable Graph tests (<a
href="https://redirect.github.com/redis/redis-py/issues/3287">#3287</a>)</li>
<li><a
href="https://github.com/redis/redis-py/commit/532bc022d36459a87c5d12084201e031745a4164"><code>532bc02</code></a>
Do not restrict pytest dependencies versions (<a
href="https://redirect.github.com/redis/redis-py/issues/3286">#3286</a>)</li>
<li><a
href="https://github.com/redis/redis-py/commit/b6a0f962b2d663a7b62d69b3d956b855689c8cc5"><code>b6a0f96</code></a>
Add CODECOV token to CI (<a
href="https://redirect.github.com/redis/redis-py/issues/3285">#3285</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/redis/redis-py/compare/v5.0.7...v5.0.8">compare
view</a></li>
</ul>
</details>
<br />

Updates `sqlalchemy[asyncio]` from 2.0.31 to 2.0.32
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/sqlalchemy/sqlalchemy/releases">sqlalchemy[asyncio]'s
releases</a>.</em></p>
<blockquote>
<h1>2.0.32</h1>
<p>Released: August 5, 2024</p>
<h2>general</h2>
<ul>
<li>
<p><strong>[general] [bug] [regression]</strong> Restored legacy class
names removed from
<code>sqlalalchemy.orm.collections.*</code>, including
<code>_orm.MappedCollection</code>,
<code>_orm.mapped_collection()</code>,
<code>_orm.column_mapped_collection()</code>,
<code>_orm.attribute_mapped_collection()</code>. Pull request courtesy
Takashi
Kajinami.</p>
<p>References: <a
href="https://www.sqlalchemy.org/trac/ticket/11435">#11435</a></p>
</li>
</ul>
<h2>orm</h2>
<ul>
<li>
<p><strong>[orm] [usecase]</strong> The <code>_orm.aliased.name</code>
parameter to <code>_orm.aliased()</code> may now
be combined with the <code>_orm.aliased.flat</code> parameter, producing
per-table names based on a name-prefixed naming convention. Pull request
courtesy Eric Atkin.</p>
<p>References: <a
href="https://www.sqlalchemy.org/trac/ticket/11575">#11575</a></p>
</li>
<li>
<p><strong>[orm] [bug] [regression]</strong> Fixed regression going back
to 1.4 where accessing a collection using the
&quot;dynamic&quot; strategy on a transient object and attempting to
query would
raise an internal error rather than the expected
<code>NoResultFound</code>
that occurred in 1.3.</p>
<p>This change is also <strong>backported</strong> to: 1.4.53</p>
<p>References: <a
href="https://www.sqlalchemy.org/trac/ticket/11562">#11562</a></p>
</li>
<li>
<p><strong>[orm] [bug]</strong> Fixed issue where using the
<code>_orm.Query.enable_eagerloads()</code> and
<code>_orm.Query.yield_per()</code> methods at the same time, in order
to disable
eager loading that's configured on the mapper directly, would be
silently
ignored, leading to errors or unexpected eager population of
attributes.</p>
<p>References: <a
href="https://www.sqlalchemy.org/trac/ticket/10834">#10834</a></p>
</li>
<li>
<p><strong>[orm] [bug] [regression]</strong> Fixed regression appearing
in 2.0.21 caused by <a
href="https://www.sqlalchemy.org/trac/ticket/10279">#10279</a> where
using
a <code>_sql.delete()</code> or <code>_sql.update()</code> against an
ORM class that is
the base of an inheritance hierarchy, while also specifying that
subclasses
should be loaded polymorphically, would leak the polymorphic joins into
the
UPDATE or DELETE statement as well creating incorrect SQL.</p>
<p>References: <a
href="https://www.sqlalchemy.org/trac/ticket/11625">#11625</a></p>
</li>
<li>
<p><strong>[orm] [bug] [regression]</strong> Fixed regression from
version 1.4 in</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/sqlalchemy/sqlalchemy/commits">compare
view</a></li>
</ul>
</details>
<br />

Updates `pytest-alembic` from 0.11.0 to 0.11.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/schireson/pytest-alembic/releases">pytest-alembic's
releases</a>.</em></p>
<blockquote>
<h2>v0.11.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Create dependabot.yaml by <a
href="https://github.com/tschm"><code>@​tschm</code></a> in <a
href="https://redirect.github.com/schireson/pytest-alembic/pull/103">schireson/pytest-alembic#103</a></li>
<li>chore(deps): bump actions/checkout from 1 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/schireson/pytest-alembic/pull/108">schireson/pytest-alembic#108</a></li>
<li>chore(deps): bump softprops/action-gh-release from 1 to 2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/schireson/pytest-alembic/pull/107">schireson/pytest-alembic#107</a></li>
<li>chore(deps): bump actions/cache from 3 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/schireson/pytest-alembic/pull/106">schireson/pytest-alembic#106</a></li>
<li>chore(deps): bump abatilo/actions-poetry from 2.0.0 to 3.0.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/schireson/pytest-alembic/pull/105">schireson/pytest-alembic#105</a></li>
<li>chore(deps): bump actions/upload-artifact from 3 to 4 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/schireson/pytest-alembic/pull/104">schireson/pytest-alembic#104</a></li>
<li>Update build.yml by <a
href="https://github.com/tschm"><code>@​tschm</code></a> in <a
href="https://redirect.github.com/schireson/pytest-alembic/pull/109">schireson/pytest-alembic#109</a></li>
<li>chore(deps): bump actions/setup-python from 4 to 5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/schireson/pytest-alembic/pull/111">schireson/pytest-alembic#111</a></li>
<li>Updated pyproject.toml to be more flexible with poetry_core
versioning by <a
href="https://github.com/imadnyc"><code>@​imadnyc</code></a> in <a
href="https://redirect.github.com/schireson/pytest-alembic/pull/112">schireson/pytest-alembic#112</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/tschm"><code>@​tschm</code></a> made
their first contribution in <a
href="https://redirect.github.com/schireson/pytest-alembic/pull/103">schireson/pytest-alembic#103</a></li>
<li><a
href="https://github.com/dependabot"><code>@​dependabot</code></a> made
their first contribution in <a
href="https://redirect.github.com/schireson/pytest-alembic/pull/108">schireson/pytest-alembic#108</a></li>
<li><a href="https://github.com/imadnyc"><code>@​imadnyc</code></a> made
their first contribution in <a
href="https://redirect.github.com/schireson/pytest-alembic/pull/112">schireson/pytest-alembic#112</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/schireson/pytest-alembic/compare/v0.11.0...v0.11.1">https://github.com/schireson/pytest-alembic/compare/v0.11.0...v0.11.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/schireson/pytest-alembic/blob/main/CHANGELOG.md">pytest-alembic's
changelog</a>.</em></p>
<blockquote>
<h3><a
href="https://github.com/schireson/pytest-alembic/compare/v0.11.0...v0.11.1">v0.11.1</a>
(2024-07-29)</h3>
<h4>Fixes</h4>
<ul>
<li>Updated pyproject.toml to be more flexible with poetry_core
versioning.
(<a
href="https://github.com/schireson/pytest-alembic/commit/a64ffa57a3229863ec53d5a358bb5cf5699ce2c0">a64ffa5</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/schireson/pytest-alembic/commit/488a14babd6938319bdc1fa6e3dadb899161c8ca"><code>488a14b</code></a>
Merge pull request <a
href="https://redirect.github.com/schireson/pytest-alembic/issues/112">#112</a>
from imadnyc/main</li>
<li><a
href="https://github.com/schireson/pytest-alembic/commit/c7f25c39a795591a794f1ab89203f4a992012319"><code>c7f25c3</code></a>
fix: Updated pyproject.toml to be more flexible with poetry_core
versioning.</li>
<li><a
href="https://github.com/schireson/pytest-alembic/commit/a518d45647394d1541ca9ff61bfac2655d90720f"><code>a518d45</code></a>
Updated pyproject.toml to be more flexible with poetry_core
versioning</li>
<li><a
href="https://github.com/schireson/pytest-alembic/commit/8e38e10d604a624484bfe1d6ccc4a20c94d9c4ec"><code>8e38e10</code></a>
Merge pull request <a
href="https://redirect.github.com/schireson/pytest-alembic/issues/111">#111</a>
from schireson/dependabot/github_actions/actions/setu...</li>
<li><a
href="https://github.com/schireson/pytest-alembic/commit/15c3aeac62478882eb8a4017cdab509407621ddf"><code>15c3aea</code></a>
chore(deps): bump actions/setup-python from 4 to 5</li>
<li><a
href="https://github.com/schireson/pytest-alembic/commit/b19fbb64149541a703ea2a1ccf6d9edcf3b990f4"><code>b19fbb6</code></a>
Merge pull request <a
href="https://redirect.github.com/schireson/pytest-alembic/issues/109">#109</a>
from tschm/patch-2</li>
<li><a
href="https://github.com/schireson/pytest-alembic/commit/f241b9608d31436ced9843a05e0c7b8acec90ee1"><code>f241b96</code></a>
Update build.yml</li>
<li><a
href="https://github.com/schireson/pytest-alembic/commit/e2496582a1514f10b2f20d8387fd80ebe4f3c425"><code>e249658</code></a>
Merge pull request <a
href="https://redirect.github.com/schireson/pytest-alembic/issues/104">#104</a>
from schireson/dependabot/github_actions/actions/uplo...</li>
<li><a
href="https://github.com/schireson/pytest-alembic/commit/c72fab8299389a65aa630f574497b2391d781355"><code>c72fab8</code></a>
chore(deps): bump actions/upload-artifact from 3 to 4</li>
<li><a
href="https://github.com/schireson/pytest-alembic/commit/37a6fb9723cb5e18d1dacaeb59a59a0549f4dff1"><code>37a6fb9</code></a>
Merge pull request <a
href="https://redirect.github.com/schireson/pytest-alembic/issues/105">#105</a>
from schireson/dependabot/github_actions/abatilo/acti...</li>
<li>Additional commits viewable in <a
href="https://github.com/schireson/pytest-alembic/compare/v0.11.0...v0.11.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `pytest-asyncio` from 0.23.7 to 0.23.8
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest-asyncio/releases">pytest-asyncio's
releases</a>.</em></p>
<blockquote>
<h2>pytest-asyncio 0.23.8</h2>
<h1>0.23.8 (2024-07-17)</h1>
<ul>
<li>Fixes a bug that caused duplicate markers in async tests <a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/813">#813</a></li>
</ul>
<h2>Known issues</h2>
<p>As of v0.23, pytest-asyncio attaches an asyncio event loop to each
item of the test suite (i.e. session, packages, modules, classes,
functions) and allows tests to be run in those loops when marked
accordingly. Pytest-asyncio currently assumes that async fixture scope
is correlated with the new event loop scope. This prevents fixtures from
being evaluated independently from the event loop scope and breaks some
existing test suites (see <a
href="https://redirect.github.com/pytest-dev/pytest-asyncio/issues/706">#706</a>).
For example, a test suite may require all fixtures and tests to run in
the same event loop, but have async fixtures that are set up and torn
down for each module. If you're affected by this issue, please continue
using the v0.21 release, until it is resolved.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/4be86a5174f864f6098872fc9fdf0a557a1b50f8"><code>4be86a5</code></a>
docs: Prepare release of v0.23.8.</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/74b3a0a2057b6faaaf2dfc2d1de785abcf145bcb"><code>74b3a0a</code></a>
Build(deps): Bump exceptiongroup in /dependencies/default</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/b0009ca36ad66ec0bf40b2ad97edaa96fa39e510"><code>b0009ca</code></a>
[build] Declare support for Python 3.13.</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/c747c7db7837d7cb7fef029af92092e20759e217"><code>c747c7d</code></a>
Build(deps): Bump coverage from 7.5.4 to 7.6.0 in
/dependencies/default</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/5c40a1cf8b6f47f47596fcf1117420585517c627"><code>5c40a1c</code></a>
Build(deps): Bump hypothesis in /dependencies/default</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/b735e8a8ef3118109521c7b058596cf7decb03d0"><code>b735e8a</code></a>
build: Remove development dependency on Docker.</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/91171b41c2bd6714955cd3d72e07bd9091f909e2"><code>91171b4</code></a>
ci: Test with CPython 3.13.</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/d572138e097f493c07c84151649d191df5e09ee0"><code>d572138</code></a>
Build(deps): Bump hypothesis in /dependencies/default</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/a89e4d7a899d7587e1efa6cafe9e181b3e2a1d69"><code>a89e4d7</code></a>
Build(deps): Bump certifi in /dependencies/docs</li>
<li><a
href="https://github.com/pytest-dev/pytest-asyncio/commit/b646cc18a222c8043433c38a42c07245fe9735ce"><code>b646cc1</code></a>
[fix] Fixed a bug that causes markers to be duplicated for async test
functions.</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest-asyncio/compare/v0.23.7...v0.23.8">compare
view</a></li>
</ul>
</details>
<br />

Updates `ruff` from 0.5.2 to 0.5.6
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/releases">ruff's
releases</a>.</em></p>
<blockquote>
<h2>0.5.6</h2>
<h2>Release Notes</h2>
<p>Ruff 0.5.6 automatically enables linting and formatting of notebooks
in <em>preview mode</em>.
You can opt-out of this behavior by adding <code>*.ipynb</code> to the
<code>extend-exclude</code> setting.</p>
<pre lang="toml"><code>[tool.ruff]
extend-exclude = [&quot;*.ipynb&quot;]
</code></pre>
<h3>Preview features</h3>
<ul>
<li>Enable notebooks by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12621">#12621</a>)</li>
<li>[<code>flake8-builtins</code>] Implement import, lambda, and module
shadowing (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12546">#12546</a>)</li>
<li>[<code>pydoclint</code>] Add <code>docstring-missing-returns</code>
(<code>DOC201</code>) and <code>docstring-extraneous-returns</code>
(<code>DOC202</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12485">#12485</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>flake8-return</code>] Exempt cached properties and other
property-like decorators from explicit return rule (<code>RET501</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/12563">#12563</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Make server panic hook more error resilient (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12610">#12610</a>)</li>
<li>Use <code>$/logTrace</code> for server trace logs in Zed and VS Code
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/12564">#12564</a>)</li>
<li>Keep track of deleted cells for reorder change request (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12575">#12575</a>)</li>
</ul>
<h3>Configuration</h3>
<ul>
<li>[<code>flake8-implicit-str-concat</code>] Always allow explicit
multi-line concatenations when implicit concatenations are banned (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12532">#12532</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>flake8-async</code>] Avoid flagging
<code>asyncio.timeout</code>s as unused when the context manager
includes <code>asyncio.TaskGroup</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12605">#12605</a>)</li>
<li>[<code>flake8-slots</code>] Avoid recommending
<code>__slots__</code> for classes that inherit from more than
<code>namedtuple</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12531">#12531</a>)</li>
<li>[<code>isort</code>] Avoid marking required imports as unused (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12537">#12537</a>)</li>
<li>[<code>isort</code>] Preserve trailing inline comments on
import-from statements (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12498">#12498</a>)</li>
<li>[<code>pycodestyle</code>] Add newlines before comments
(<code>E305</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12606">#12606</a>)</li>
<li>[<code>pycodestyle</code>] Don't attach comments with mismatched
indents (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12604">#12604</a>)</li>
<li>[<code>pyflakes</code>] Fix preview-mode bugs in <code>F401</code>
when attempting to autofix unused first-party submodule imports in an
<code>__init__.py</code> file (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12569">#12569</a>)</li>
<li>[<code>pylint</code>] Respect start index in
<code>unnecessary-list-index-lookup</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12603">#12603</a>)</li>
<li>[<code>pyupgrade</code>] Avoid recommending no-argument super in
<code>slots=True</code> dataclasses (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12530">#12530</a>)</li>
<li>[<code>pyupgrade</code>] Use colon rather than dot formatting for
integer-only types (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12534">#12534</a>)</li>
<li>Fix NFKC normalization bug when removing unused imports (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12571">#12571</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Consider more stdlib decorators to be property-like (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12583">#12583</a>)</li>
<li>Improve handling of metaclasses in various linter rules (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12579">#12579</a>)</li>
<li>Improve consistency between linter rules in determining whether a
function is property (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12581">#12581</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's
changelog</a>.</em></p>
<blockquote>
<h2>0.5.6</h2>
<p>Ruff 0.5.6 automatically enables linting and formatting of notebooks
in <em>preview mode</em>.
You can opt-out of this behavior by adding <code>*.ipynb</code> to the
<code>extend-exclude</code> setting.</p>
<pre lang="toml"><code>[tool.ruff]
extend-exclude = [&quot;*.ipynb&quot;]
</code></pre>
<h3>Preview features</h3>
<ul>
<li>Enable notebooks by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12621">#12621</a>)</li>
<li>[<code>flake8-builtins</code>] Implement import, lambda, and module
shadowing (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12546">#12546</a>)</li>
<li>[<code>pydoclint</code>] Add <code>docstring-missing-returns</code>
(<code>DOC201</code>) and <code>docstring-extraneous-returns</code>
(<code>DOC202</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12485">#12485</a>)</li>
</ul>
<h3>Rule changes</h3>
<ul>
<li>[<code>flake8-return</code>] Exempt cached properties and other
property-like decorators from explicit return rule (<code>RET501</code>)
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/12563">#12563</a>)</li>
</ul>
<h3>Server</h3>
<ul>
<li>Make server panic hook more error resilient (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12610">#12610</a>)</li>
<li>Use <code>$/logTrace</code> for server trace logs in Zed and VS Code
(<a
href="https://redirect.github.com/astral-sh/ruff/pull/12564">#12564</a>)</li>
<li>Keep track of deleted cells for reorder change request (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12575">#12575</a>)</li>
</ul>
<h3>Configuration</h3>
<ul>
<li>[<code>flake8-implicit-str-concat</code>] Always allow explicit
multi-line concatenations when implicit concatenations are banned (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12532">#12532</a>)</li>
</ul>
<h3>Bug fixes</h3>
<ul>
<li>[<code>flake8-async</code>] Avoid flagging
<code>asyncio.timeout</code>s as unused when the context manager
includes <code>asyncio.TaskGroup</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12605">#12605</a>)</li>
<li>[<code>flake8-slots</code>] Avoid recommending
<code>__slots__</code> for classes that inherit from more than
<code>namedtuple</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12531">#12531</a>)</li>
<li>[<code>isort</code>] Avoid marking required imports as unused (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12537">#12537</a>)</li>
<li>[<code>isort</code>] Preserve trailing inline comments on
import-from statements (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12498">#12498</a>)</li>
<li>[<code>pycodestyle</code>] Add newlines before comments
(<code>E305</code>) (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12606">#12606</a>)</li>
<li>[<code>pycodestyle</code>] Don't attach comments with mismatched
indents (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12604">#12604</a>)</li>
<li>[<code>pyflakes</code>] Fix preview-mode bugs in <code>F401</code>
when attempting to autofix unused first-party submodule imports in an
<code>__init__.py</code> file (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12569">#12569</a>)</li>
<li>[<code>pylint</code>] Respect start index in
<code>unnecessary-list-index-lookup</code> (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12603">#12603</a>)</li>
<li>[<code>pyupgrade</code>] Avoid recommending no-argument super in
<code>slots=True</code> dataclasses (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12530">#12530</a>)</li>
<li>[<code>pyupgrade</code>] Use colon rather than dot formatting for
integer-only types (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12534">#12534</a>)</li>
<li>Fix NFKC normalization bug when removing unused imports (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12571">#12571</a>)</li>
</ul>
<h3>Other changes</h3>
<ul>
<li>Consider more stdlib decorators to be property-like (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12583">#12583</a>)</li>
<li>Improve handling of metaclasses in various linter rules (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12579">#12579</a>)</li>
<li>Improve consistency between linter rules in determining whether a
function is property (<a
href="https://redirect.github.com/astral-sh/ruff/pull/12581">#12581</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/astral-sh/ruff/commit/da824ba316bd11de349479aaab06b6ab06560d38"><code>da824ba</code></a>
Release Ruff 0.5.6 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/12629">#12629</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/012198a1b0f4870902992218c04aac3f07ee76c8"><code>012198a</code></a>
Enable notebooks by default in preview mode (<a
href="https://redirect.github.com/astral-sh/ruff/issues/12621">#12621</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/fbab04fbe1ea9ab08540c4e6a0b3ab7b9e19d637"><code>fbab04f</code></a>
[red-knot] Allow multiple <code>site-packages</code> search paths (<a
href="https://redirect.github.com/astral-sh/ruff/issues/12609">#12609</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/9aa43d5f911f5f46b77bf4d9b72b52ad2d4b9e11"><code>9aa43d5</code></a>
Separate <code>red_knot</code> into CLI and
<code>red_knot_workspace</code> crates (<a
href="https://redirect.github.com/astral-sh/ruff/issues/12623">#12623</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/966563c79b2810371728c302fef2e97569ba5ba0"><code>966563c</code></a>
Add tests for hard and soft links (<a
href="https://redirect.github.com/astral-sh/ruff/issues/12590">#12590</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/27edadec2953d8816a742f32c41695d1b03534c6"><code>27edade</code></a>
Make server panic hook more error resilient (<a
href="https://redirect.github.com/astral-sh/ruff/issues/12610">#12610</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/2e2b1b460f4de25e630cde69b4b49577bc5134b4"><code>2e2b1b4</code></a>
Fix a typo in <code>docs/editors/settings.md</code> (<a
href="https://redirect.github.com/astral-sh/ruff/issues/12614">#12614</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/a3e67abf4ce7b519152c03ff441424c18e4c18ee"><code>a3e67ab</code></a>
Add newlines before comments in E305 (<a
href="https://redirect.github.com/astral-sh/ruff/issues/12606">#12606</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/ee0518e8f71cb0bc4d5cc3afc28a54a0bbc78247"><code>ee0518e</code></a>
[red-knot] implement attribute of union (<a
href="https://redirect.github.com/astral-sh/ruff/issues/12601">#12601</a>)</li>
<li><a
href="https://github.com/astral-sh/ruff/commit/d774a3bd48bbf8b697190b7d68251195cdc6c64b"><code>d774a3b</code></a>
Avoid unused async when context manager includes <code>TaskGroup</code>
(<a
href="https://redirect.github.com/astral-sh/ruff/issues/12605">#12605</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/astral-sh/ruff/compare/0.5.2...0.5.6">compare
view</a></li>
</ul>
</details>
<br />


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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <[email protected]>
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
Projects
None yet
Development

No branches or pull requests

2 participants