You should now install the dependency using frequenz-client-base[grpcio] (or frequenz-client-base[grpclib]) if you want to migrate to grpclib).
GrpcStreamBroadcaster's stream_method callback now should return an AsyncIterator instead of a grpc.aio.UnaryStreamCall, this is so it is compatible with both grpcio and grpclib. Normally no changes should be needed, as a grpc.aio.UnaryStreamCall should be a AsyncIterator, but since grpcio doesn't have correct type hints, you might need to adjust the cast() if you are using one.
New Features
GrpcStreamBroadcaster is now compatible with both grpcio and grpclib implementations of gRPC. Just install frequenz-client-base[grpcio] or frequenz-client-base[grpclib] to use the desired implementation and everything should work as expected.
A new module channel with a function to parse URIs to create grpclib client Channel instances.
Bug Fixes
Fixed retrying for GrpcStreamBroadcaster when the retry interval is set to 0 (before it would stop retrying if the interval was set to 0).
#12334: Support for Python 3.13 (beta1 at the time of writing).
Bug Fixes
#12120: Fix [PermissionError]{.title-ref} crashes arising from directories which are not selected on the command-line.
#12191: Keyboard interrupts and system exits are now properly handled during the test collection.
#12300: Fixed handling of 'Function not implemented' error under squashfuse_ll, which is a different way to say that the mountpoint is read-only.
#12308: Fix a regression in pytest 8.2.0 where the permissions of automatically-created .pytest_cache directories became rwx------ instead of the expected rwxr-xr-x.
Trivial/Internal Changes
#12333: pytest releases are now attested using the recent Artifact Attestation support from GitHub, allowing users to verify the provenance of pytest's sdist and wheel artifacts.
Silence deprecation warnings about unclosed event loops that occurred with certain CPython patch releases #817
Known issues
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 #706). 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.
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
Updates the requirements on frequenz-client-base, frequenz-client-common, prompt-toolkit, mike, mkdocs-material, mkdocstrings[python], pylint, pytest, pytest-asyncio and hypothesis to permit the latest version. Updates
frequenz-client-base
to 0.4.0Release notes
Sourced from frequenz-client-base's releases.
Commits
63d0589
Add parsing of gRPC channel URIs (#51)e59417b
Disableno-member
check inpylint
35c5571
Add a new modulechannel
with a function to parse URIse43b075
FixGrpcStreamBroadcaster
retry with a 0 interval (#52)6cb9785
FixGrpcStreamBroadcaster
retry with a 0 interval3148c60
MakeGrpcStreamBroadcaster
compatible with bothgrpcio
andgrpclib
(#49)66e8734
Add release notesb96b3ac
Add tests forGrpcStreamBroadcaster
df359cf
MakeGrpcStreamBroadcaster
compatible with bothgrpcio
andgrpclib
544e522
Add a module to deal with multiple grpc librariesUpdates
frequenz-client-common
to 0.2.0Release notes
Sourced from frequenz-client-common's releases.
Commits
db931ae
Update release notes before release (#33)76c2d16
Update release notes before release968471d
Update dependencies in line with api-common release (#31)6bf6570
Update dependencies in line with api-common releaseea3aaf1
Update metric names0d6e0eb
Update metric names (#30)de8d68c
Don't recursively scan for pyproject.toml when calculating the cache key (#32)c57fbd1
Don't recursively scan for pyproject.toml when calculating the cache key5ed6b32
Update metric namescc29b35
Bump the required group with 6 updates (#28)Updates
prompt-toolkit
from 3.0.43 to 3.0.45Release notes
Sourced from prompt-toolkit's releases.
Changelog
Sourced from prompt-toolkit's changelog.
Commits
6a58564
Release 3.0.45a21831e
Improve performance of GrammarCompleter (faster deduplication of completions).81dcfda
Release 3.0.44.386477a
Limit number of completions in buffer to 10k by default.491b5e8
Typing fix in FileHistory.3c0290d
Code style fixes for compatibility with latest Ruff.85079ad
Fix compatibility when SIGINT handler is installed by non-Python2c84307
Add asse0fd8fa
fix(Docs): address some typos in the tutorial pagesf8cf7ca
Fix performance issue with ProgressBar formattersUpdates
mike
from 2.1.0 to 2.1.1Release notes
Sourced from mike's releases.
Changelog
Sourced from mike's changelog.
Commits
0bdfe24
Update version to 2.1.13351d5f
Expand environment variables when injecting the mike plugin; resolves #217e4d83ed
Update version to 2.2.0.dev0Updates
mkdocs-material
from 9.5.20 to 9.5.25Release notes
Sourced from mkdocs-material's releases.
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
c8ee11f
Prepare 9.5.25 release0ee1110
Updated dependencies09f817d
Documentation86d3729
Created new and better Insiders documentation (#7210)1b346eb
Fixed tags plugin crashing on numeric tags05af898
Added --force-reinstall to insiders upgrade instructions (#7203)7368c7f
Updated Insiders changeloge8478d9
Documentationd0be598
Updated Insiders changelog721eefb
Updated Insiders changelogUpdates
mkdocstrings[python]
from 0.25.0 to 0.25.1Release notes
Sourced from mkdocstrings[python]'s releases.
Changelog
Sourced from mkdocstrings[python]'s changelog.
Commits
e135869
chore: Prepare release 0.25.1cb86e08
fix: Always descend into sub-headings when re-applying their labela86ca7d
docs: Customize parameters color in ToCbc25b6a
docs: Remove requirements link in readmeUpdates
pylint
from 3.1.0 to 3.2.2Commits
769ffd2
Bump pylint to 3.2.2, update changelog (#9658)98c5af9
Fix false-positive with contextmanager missing cleanup (#9654) (#9657)9a9db8f
Update astroid to 3.2.2 (#9655) (#9656)9223172
Bump pylint to 3.2.1, update changelog926547b
[trailing-comma-tuple] Fix enabling with message control locally when disable...1498675
Fix linterstats.get_module_message_count() (#9146) (#9648)aed496a
Fix FP forpossibly-used-before-assignment
withassert_never()
(#9645) (#...9dae975
[Backport maintenance/3.2.x] Add--prefer-stubs=y
option (#9646)a03ceae
Add--prefer-stubs=y
option (#9632)b2ea316
[Backport maintenance/3.2.x] Don't emit incorrect-variance for type parameter...Updates
pytest
from 8.2.0 to 8.2.1Release notes
Sourced from pytest's releases.
Commits
66ff8df
Prepare release version 8.2.13ffcfd1
Merge pull request #12340 from pytest-dev/backport-12334-to-8.2.x0b28313
[8.2.x] Add Python 3.13 (beta) supportf3dd93a
[8.2.x] Attest package provenance (#12335)bb5a125
[8.2.x] Spelling (#12331)f179bf2
Merge pull request #12327 from pytest-dev/backport-12325-to-8.2.x2b671b5
[8.2.x] cacheprovider: fix.pytest_cache
not being world-readable65ab7cb
Merge pull request #12324 from pytest-dev/backport-12320-to-8.2.x4d5fb7d
Merge pull request #12319 from pytest-dev/backport-12311-to-8.2.xcbe5996
[8.2.x] changelog: document unittest 8.2 change as breakingUpdates
pytest-asyncio
from 0.23.6 to 0.23.7Release notes
Sourced from pytest-asyncio's releases.
Commits
eb63d5a
docs: Prepared for release of v0.23.7.da04a7a
Build(deps): Bump exceptiongroup in /dependencies/default00c667a
Build(deps): Bump pytest from 8.1.1 to 8.2.0 in /dependencies/default3bd9cd8
[docs] Add changelog entry.15544f0
Revert GitHub Actions and Tox changes.6316b28
Deduplicate simplefilter snippet.3ffdfc5
asyncio.run(port_afinalizer())0107fd7
Remove extra space.3bf700a
Fix GH Action mapping.d15dc31
Fix 3109/3108 typo.Updates
hypothesis
from 6.100.2 to 6.103.0Commits
54d029d
Bump hypothesis-python version to 6.103.0 and update changelog822e39d
Merge pull request #3962 from tybug/shrinker-ir3814b54
temporarily skip stateful shrink quality tests66f2464
minor fixes, reword release notes866256e
dont cache interesting buffer-based datas41b15e3
don't permit >128 bit integersa30c0ef
Merge pull request #4004 from HypothesisWorks/create-pull-request/patche29175f
Update pinned dependencies6a981fc
refactor slightly25dbf2d
try debugDependabot 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