Exclusion patterns can now be multi-line, thanks to Daniel Diniz <pull 1807_>. This enables many interesting exclusion use-cases, including those
requested in issues 118 <issue 118_> (entire files), 996 <issue 996_>_ (multiple lines only when appearing together), 1741 <issue 1741_>_ (remainder of a function), and 1803 <issue 1803_>_
(arbitrary sequence of marked lines). See the :ref:multi_line_exclude
section of the docs for more details and examples.
The JSON report now includes per-function and per-class coverage information.
Thanks to Daniel Diniz <pull 1809_>_ for getting the work started. This
closes issue 1793_ and issue 1532_.
Fixed an incorrect calculation of "(no class)" lines in the HTML classes
report.
This library adheres to Semantic Versioning 2.0 <http://semver.org/>_.
1.2.2
Removed an assert in exceptiongroup._formatting that caused compatibility
issues with Sentry ([#123](https://github.com/agronholm/exceptiongroup/issues/123) <https://github.com/agronholm/exceptiongroup/issues/123>_)
1.2.1
Updated the copying of __notes__ to match CPython behavior (PR by CF Bolz-Tereick)
Corrected the type annotation of the exception handler callback to accept a
BaseExceptionGroup instead of BaseException
Fixed type errors on Python < 3.10 and the type annotation of suppress()
(PR by John Litborn)
1.2.0
Added special monkeypatching if Apport <https://github.com/canonical/apport>_ has
overridden sys.excepthook so it will format exception groups correctly
(PR by John Litborn)
Added a backport of contextlib.suppress() from Python 3.12.1 which also handles
suppressing exceptions inside exception groups
Fixed bare raise in a handler reraising the original naked exception rather than
an exception group which is what is raised when you do a raise in an except*
handler
1.1.3
catch() now raises a TypeError if passed an async exception handler instead of
just giving a RuntimeWarning about the coroutine never being awaited. (#66, PR by
John Litborn)
Fixed plain raise statement in an exception handler callback to work like a
raise in an except* block
Fixed new exception group not being chained to the original exception when raising an
exception group from exceptions raised in handler callbacks
Fixed type annotations of the derive(), subgroup() and split() methods to
match the ones in typeshed
1.1.2
Changed handling of exceptions in exception group handler callbacks to not wrap a
single exception in an exception group, as per
CPython issue 103590 <https://github.com/python/cpython/issues/103590>_
All submodules are deprecated. All objects are now exposed in the top-level griffe module.
All logger names are deprecated, and will be replaced with "griffe" in v1. In v1 our single "griffe" logger will provide a method to temporarily disable logging, [logger.disable()][griffe.Logger.disable], since that's the most common third-party use.
The get_logger function is deprecated. Instead, we'll use a global logger internally, and users are welcome to use it too.
The patch_loggers function is renamed patch_logger.
Following the logging changes, the [docstring_warning][griffe.docstring_warning] function can now directly log a warning message instead of returning a callable that does. Passing it a logger name (to get a callable) is deprecated in favor of passing it a docstring, message and offset directly.
Features
Support FORCE_COLOR environment variable (e1b7bd9 by Timothée Mazzucotelli).
Bug Fixes
Don't take a shortcut to the end of an alias chain when getting/setting/deleting alias members (1930609 by Timothée Mazzucotelli).
Short-circuit __all__ convention when checking if a module is public (5abf4e3 by Timothée Mazzucotelli).
Reuse existing loggers, preventing overwriting issues (3c2825f by Timothée Mazzucotelli).
Ignore .pth files that are not utf-8 encoded (ea299dc by Andrew Sansom). Issue-300, PR-301
Attributes without annotations cannot be dataclass parameters (c9b2e09 by Hassan Kibirige). PR-297
When deciding to alias an object or not during inspection, consider module paths to be equivalent even with arbitrary private components (8c9f6e6 by Timothée Mazzucotelli). Issue-296
Fix target path computation: use qualified names to maintain classes in the path (6e17def by Timothée Mazzucotelli). Issue-296
Code Refactoring
Prepare loggers for simplification (381f10f by Timothée Mazzucotelli).
Add all previous modules for backward compatibility (a86e44e by Timothée Mazzucotelli).
Add main public modules (fb860b3 by Timothée Mazzucotelli).
Simplify "is imported" check in is_public property (c2bbc10 by Timothée Mazzucotelli).
Use string and integer enumerations (06b383b by Timothée Mazzucotelli).
Renamed agents nodes modules (ddc5b0c by Timothée Mazzucotelli).
Clean up and document internal API, mark legacy code (92594a9 by Timothée Mazzucotelli).
Renamed dataclasses internal modules to models (5555de6 by Timothée Mazzucotelli).
Move sources under _griffe internal package (cbce6a5 by Timothée Mazzucotelli).
All submodules are deprecated. All objects are now exposed in the top-level griffe module.
All logger names are deprecated, and will be replaced with "griffe" in v1. In v1 our single "griffe" logger will provide a method to temporarily disable logging, [logger.disable()][griffe.Logger.disable], since that's the most common third-party use.
The get_logger function is deprecated. Instead, we'll use a global logger internally, and users are welcome to use it too.
The patch_loggers function is renamed patch_logger.
Following the logging changes, the [docstring_warning][griffe.docstring_warning] function can now directly log a warning message instead of returning a callable that does. Passing it a logger name (to get a callable) is deprecated in favor of passing it a docstring, message and offset directly.
Features
Support FORCE_COLOR environment variable (e1b7bd9 by Timothée Mazzucotelli).
Bug Fixes
Don't take a shortcut to the end of an alias chain when getting/setting/deleting alias members (1930609 by Timothée Mazzucotelli).
Short-circuit __all__ convention when checking if a module is public (5abf4e3 by Timothée Mazzucotelli).
Reuse existing loggers, preventing overwriting issues (3c2825f by Timothée Mazzucotelli).
Ignore .pth files that are not utf-8 encoded (ea299dc by Andrew Sansom). Issue-300, PR-301
Attributes without annotations cannot be dataclass parameters (c9b2e09 by Hassan Kibirige). PR-297
When deciding to alias an object or not during inspection, consider module paths to be equivalent even with arbitrary private components (8c9f6e6 by Timothée Mazzucotelli). Issue-296
Fix target path computation: use qualified names to maintain classes in the path (6e17def by Timothée Mazzucotelli). Issue-296
Code Refactoring
Prepare loggers for simplification (381f10f by Timothée Mazzucotelli).
Add all previous modules for backward compatibility (a86e44e by Timothée Mazzucotelli).
Add main public modules (fb860b3 by Timothée Mazzucotelli).
Simplify "is imported" check in is_public property (c2bbc10 by Timothée Mazzucotelli).
Use string and integer enumerations (06b383b by Timothée Mazzucotelli).
Renamed agents nodes modules (ddc5b0c by Timothée Mazzucotelli).
Clean up and document internal API, mark legacy code (92594a9 by Timothée Mazzucotelli).
Renamed dataclasses internal modules to models (5555de6 by Timothée Mazzucotelli).
Move sources under _griffe internal package (cbce6a5 by Timothée Mazzucotelli).
Fix finding hardlink targets in tar files with an ignored top-level directory. ([#12781](https://github.com/pypa/pip/issues/12781) <https://github.com/pypa/pip/issues/12781>_)
24.1.1 (2024-06-26)
Bug Fixes
Actually use system trust stores when the truststore feature is enabled.
The 8.3.0 release failed to include the change notes and docs for the release. This patch release remedies this. There are no other changes.
8.3.0
pytest 8.3.0 (2024-07-20)
New features
#12231: Added [--xfail-tb]{.title-ref} flag, which turns on traceback output for XFAIL results.
If the [--xfail-tb]{.title-ref} flag is not given, tracebacks for XFAIL results are NOT shown.
The style of traceback for XFAIL is set with [--tb]{.title-ref}, and can be [auto|long|short|line|native|no]{.title-ref}.
Note: Even if you have [--xfail-tb]{.title-ref} set, you won't see them if [--tb=no]{.title-ref}.
Some history:
With pytest 8.0, [-rx]{.title-ref} or [-ra]{.title-ref} would not only turn on summary reports for xfail, but also report the tracebacks for xfail results. This caused issues with some projects that utilize xfail, but don't want to see all of the xfail tracebacks.
This change detaches xfail tracebacks from [-rx]{.title-ref}, and now we turn on xfail tracebacks with [--xfail-tb]{.title-ref}. With this, the default [-rx]{.title-ref}/ [-ra]{.title-ref} behavior is identical to pre-8.0 with respect to xfail tracebacks. While this is a behavior change, it brings default behavior back to pre-8.0.0 behavior, which ultimately was considered the better course of action.
#12281: Added support for keyword matching in marker expressions.
Now tests can be selected by marker keyword arguments.
Supported values are int{.interpreted-text role="class"}, (unescaped) str{.interpreted-text role="class"}, bool{.interpreted-text role="class"} & None{.interpreted-text role="data"}.
See marker examples <marker_keyword_expression_example>{.interpreted-text role="ref"} for more information.
-- by lovetheguitar{.interpreted-text role="user"}
#12567: Added --no-fold-skipped command line option.
If this option is set, then skipped tests in short summary are no longer grouped
by reason but all tests are printed individually with their nodeid in the same
way as other statuses.
-- by pbrezina{.interpreted-text role="user"}
Improvements in existing functionality
#12469: The console output now uses the "third-party plugins" terminology,
replacing the previously established but confusing and outdated
reference to setuptools <setuptools:index>{.interpreted-text role="std:doc"}
-- by webknjaz{.interpreted-text role="user"}.
#12544, #12545: Python virtual environment detection was improved by
checking for a pyvenv.cfg{.interpreted-text role="file"} file, ensuring reliable detection on
various platforms -- by zachsnickers{.interpreted-text role="user"}.
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 commands and options
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 ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore 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 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 ` 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 ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the dependencies group with 10 updates in the /.config directory:
2024.6.2
2024.7.4
7.5.4
7.6.0
1.2.1
1.2.2
0.47.0
0.48.0
1.9.2
1.9.3
9.5.27
9.5.29
10.3.0
10.4.0
24.1
24.1.2
2.23.0
2.23.1
8.2.2
8.3.1
Updates
certifi
from 2024.6.2 to 2024.7.4Commits
bd81538
2024.07.04 (#295)06a2cbf
Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0 (#294)13bba02
Bump actions/checkout from 4.1.6 to 4.1.7 (#293)e8abcd0
Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.9.0 (#292)Updates
coverage
from 7.5.4 to 7.6.0Changelog
Sourced from coverage's changelog.
Commits
59a3cd7
docs: sample HTML for 7.6.07f27fa7
docs: prep for 7.6.06a268b0
docs: issues closed by the json region reporting5bfe9e7
chore: bump actions/setup-python from 5.1.0 to 5.1.1 (#1814)ab609ef
docs: mention json region reporting in the changes92d96b9
fix: json report needs 'no class' and 'no function' alsoe47e7e7
refactor: move duplicate code into methods3d6be2b
fix: json format should bump for regionsa9992d2
test: add a test of json regions with branches8b89764
test: json expectations should have explicit format numberUpdates
exceptiongroup
from 1.2.1 to 1.2.2Release notes
Sourced from exceptiongroup's releases.
Changelog
Sourced from exceptiongroup's changelog.
... (truncated)
Commits
2399d54
Added the release versionbec9651
Removed problematic assert that caused compatibility issuesf3f0ff6
Updated Ruff configurationbb43ee0
Fixed formatting tests failing on Python 3.13eb8fbbc
[pre-commit.ci] pre-commit autoupdate (#129)6ff8300
[pre-commit.ci] pre-commit autoupdate (#128)761933f
[pre-commit.ci] pre-commit autoupdate (#127)1b43294
[pre-commit.ci] pre-commit autoupdate (#125)dd87018
[pre-commit.ci] pre-commit autoupdate (#124)54d8b8d
[pre-commit.ci] pre-commit autoupdate (#121)Updates
griffe
from 0.47.0 to 0.48.0Release notes
Sourced from griffe's releases.
Changelog
Sourced from griffe's changelog.
Commits
14a43ab
chore: Prepare release 0.48.0145e0bc
docs: Add missing pymdownx.blocks.tab extension4d93fd6
docs: Copy readme contents from insiders repoab7ba17
docs: Fix link in readme4bd9fb0
ci: Run inventory tests in CI4e7ef6c
tests: Ignore deprecated public module in api/inventory test7207449
ci: Fix comparison0477db5
ci: Don't use parameter headings insiders feature since it breaks in CI39a1174
ci: Ignore dot subprocess error in CI5c154b3
ci: Fix code block execution without direnvUpdates
markdown-exec
from 1.9.2 to 1.9.3Release notes
Sourced from markdown-exec's releases.
Changelog
Sourced from markdown-exec's changelog.
Commits
5227fe2
chore: Prepare release 1.9.3a6e5053
chore: Template upgrade917af4c
fix: Fix patching lines in tracebacks on Python 3.13ecc341e
tests: Don't install docs dependencies on Python 3.8 or 3.136c3fe25
docs: Remove Griffe gallery example0349ed2
docs: Update Hyperbolic gallery exampleUpdates
mkdocs-material
from 9.5.27 to 9.5.29Release notes
Sourced from mkdocs-material's releases.
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
4f8081c
Prepare 9.5.29 release33452c9
Fixed annotations in figure captions672c403
Documentation (#7361)c7c8fcb
Updated Galician translations5d1f77c
Documentationf5fea7c
Updated dependenciesbe7ab8a
Addednpm run fix
to fix ESLint errors (#7337)36e5263
Documentation73d50aa
Updated premium sponsors1b78c2c
Prepare 9.5.28 releaseUpdates
pillow
from 10.3.0 to 10.4.0Release notes
Sourced from pillow's releases.
... (truncated)
Changelog
Sourced from pillow's changelog.
... (truncated)
Commits
9b4fae7
10.4.0 version bumpb55d74b
Update CHANGES.rst [ci skip]8daf550
Merge pull request #8178 from radarhere/imageshowc6d8c58
Merge pull request #7965 from Yay295/patch-3c9ec76a
Raise FileNotFoundError if show_file() path does not existb48d175
Update CHANGES.rst [ci skip]4d6dff3
Merge pull request #8031 from radarhere/imagingcms_modes70b3815
Merge pull request #8127 from radarhere/multiple_exif_markers88cd6d4
Rearranged comments41426a6
Merge pull request #8110 from radarhere/exififdUpdates
pip
from 24.1 to 24.1.2Changelog
Sourced from pip's changelog.
Commits
76e82a4
Bump for releasea56129c
Merge pull request #12787 from mgorny/no-isol-tests41772d8
Merge pull request #12799 from encukou/gh-12781-tar-hardlinka432c7f
Bump for releasea1ae982
Update AUTHORS.txt300ed75
Upgrade requests to 2.32.3 (#12784)5c389ec
Split up Windows tests relying on urlunparse behaviour (#12788)00c75c4
Merge pull request #12773 from matthewhughes934/fix-tests-unable-to-cleanup67e2a56
Merge pull request #12783 from pfmoore/rel_doc2a58c20a
Minor release is the quarter numberUpdates
pipdeptree
from 2.23.0 to 2.23.1Release notes
Sourced from pipdeptree's releases.
Commits
f0999f9
Allow pre-releases when detecting version conflicts (#394)02f4f26
[pre-commit.ci] pre-commit autoupdate (#392)91188b3
Readd# noqa: S603
to _detect_env to resolve Ruff error (#388)6fb5619
[pre-commit.ci] pre-commit autoupdate (#387)59de13e
Use is_missing property in ReqPackage.is_conflicting() for DRYness (#385)5eabebe
Use__contains__
to avoidKeyError
with importlib_metadata==8.0.0 (#384)8c56559
[pre-commit.ci] pre-commit autoupdate (#383)Updates
pytest
from 8.2.2 to 8.3.1Release notes
Sourced from pytest's releases.
... (truncated)
Commits
de98446
Prepare release version 8.3.1bd0a042
Merge pull request #12636 from pytest-dev/update-release-notes664325b
doc/changelog: update 8.3.0 notes19d225d
Merge pull request #12635 from pytest-dev/release-8.3.0bc33028
Prepare release version 8.3.0a7d5a8e
Merge pull request #12557 from x612skm/maintainence/11771-pypy-3.9-bumpced7072
Add a change note for PR #11771d42b76d
Adjust test_errors_in_xfail_skip_expressions for PyPy9eee45a
Bump PyPy runtime to v3.9 @ GHAd489247
Fix caching of parameterized fixtures (#12600)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 commands and options
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