René's URL Explorer Experiment


Title: Update dependency anyio to v4.12.1 by renovate[bot] · Pull Request #34 · protoconf/client-python · GitHub

Open Graph Title: Update dependency anyio to v4.12.1 by renovate[bot] · Pull Request #34 · protoconf/client-python

X Title: Update dependency anyio to v4.12.1 by renovate[bot] · Pull Request #34 · protoconf/client-python

Description: This PR contains the following updates: Package Change Age Confidence anyio (changelog) ==4.4.0 → ==4.12.1 Release Notes agronholm/anyio (anyio) v4.12.1 Compare Source Changed all functions currently raising the private NoCurrentAsyncBackend exception (since v4.12.0) to instead raise the public NoEventLoopError exception (#​1048) Fixed anyio.functools.lru_cache not working with instance methods (#​1042) v4.12.0 Compare Source Added support for asyncio's task call graphs on Python 3.14 and later when using AnyIO's task groups (#​1025) Added an asynchronous implementation of the functools module (#​1001) Added support for uvloop=True on Windows via the winloop implementation (#​960; PR by @​Vizonex) Added support for use as a context manager to anyio.lowlevel.RunVar (#​1003) Added __all__ declarations to public submodules (anyio.lowlevel etc.) (#​1009) Added the ability to set the token count of a CapacityLimiter to zero (#​1019; requires Python 3.10 or later when using Trio) Added parameters case_sensitive and recurse_symlinks along with support for path-like objects to anyio.Path.glob() and anyio.Path.rglob() (#​1033; PR by @​northisup) Dropped sniffio as a direct dependency and added the get_available_backends() function (#​1021) Fixed Process.stdin.send() not raising ClosedResourceError and BrokenResourceError on asyncio. Previously, a non-AnyIO exception was raised in such cases (#​671; PR by @​gschaffner) Fixed Process.stdin.send() not checkpointing before writing data on asyncio (#​1002; PR by @​gschaffner) Fixed a race condition where cancelling a Future from BlockingPortal.start_task_soon() would sometimes not cancel the async function (#​1011; PR by @​gschaffner) Fixed the presence of the pytest plugin causing breakage with older versions of pytest (<= 6.1.2) (#​1028; PR by @​saper) Fixed a rarely occurring RuntimeError: Set changed size during iteration while shutting down the process pool when using the asyncio backend (#​985) v4.11.0 Compare Source Added support for cancellation reasons (the reason parameter to CancelScope.cancel()) (#​975) Bumped the minimum version of Trio to v0.31.0 Added the ability to enter the event loop from foreign (non-worker) threads by passing the return value of anyio.lowlevel.current_token() to anyio.from_thread.run() and anyio.from_thread.run_sync() as the token keyword argument (#​256) Added pytest option (anyio_mode = "auto") to make the pytest plugin automatically handle all async tests (#​971) Added the anyio.Condition.wait_for() method for feature parity with asyncio (#​974) Changed the default type argument of anyio.abc.TaskStatus from Any to None (#​964) Fixed TCP listener behavior to guarantee the same ephemeral port is used for all socket listeners when local_port=0 (#​857; PR by @​11kkw and @​agronholm) Fixed inconsistency between Trio and asyncio where a TCP stream that previously raised a BrokenResourceError on send() would still raise BrokenResourceError after the stream was closed on asyncio, but ClosedResourceError on Trio. They now both raise a ClosedResourceError in this scenario. (#​671) v4.10.0 Compare Source Added the feed_data() method to the BufferedByteReceiveStream class, allowing users to inject data directly into the buffer Added various class methods to wrap existing sockets as listeners or socket streams: SocketListener.from_socket() SocketStream.from_socket() UNIXSocketStream.from_socket() UDPSocket.from_socket() ConnectedUDPSocket.from_socket() UNIXDatagramSocket.from_socket() ConnectedUNIXDatagramSocket.from_socket() Added a hierarchy of connectable stream classes for transparently connecting to various remote or local endpoints for exchanging bytes or objects Added context manager mix-in classes (anyio.ContextManagerMixin and anyio.AsyncContextManagerMixin) to help write classes that embed other context managers, particularly cancel scopes or task groups (#​905; PR by @​agronholm and @​tapetersen) Added the ability to specify the thread name in start_blocking_portal() (#​818; PR by @​davidbrochart) Added anyio.notify_closing to allow waking anyio.wait_readable and anyio.wait_writable before closing a socket. Among other things, this prevents an OSError on the ProactorEventLoop. (#​896; PR by @​graingert) Incorporated several documentation improvements from the EuroPython 2025 sprint (special thanks to the sprinters: Emmanuel Okedele, Jan Murre, Euxenia Miruna Goia and Christoffer Fjord) Added a documentation page explaining why one might want to use AnyIO's APIs instead of asyncio's Updated the to_interpreters module to use the public concurrent.interpreters API on Python 3.14 or later Fixed anyio.Path.copy() and anyio.Path.copy_into() failing on Python 3.14.0a7 Fixed return annotation of __aexit__ on async context managers. CMs which can suppress exceptions should return bool, or None otherwise. (#​913; PR by @​Enegg) Fixed rollover boundary check in SpooledTemporaryFile so that rollover only occurs when the buffer size exceeds max_size (#​915; PR by @​11kkw) Migrated testing and documentation dependencies from extras to dependency groups Fixed compatibility of anyio.to_interpreter with Python 3.14.0b2 (#​926; PR by @​hroncok) Fixed SyntaxWarning on Python 3.14 about return in finally (#​816) Fixed RunVar name conflicts. RunVar instances with the same name should not share storage (#​880; PR by @​vimfu) Renamed the BrokenWorkerIntepreter exception to BrokenWorkerInterpreter. The old name is available as a deprecated alias. (#​938; PR by @​ayussh-verma) Fixed an edge case in CapacityLimiter on asyncio where a task, waiting to acquire a limiter gets cancelled and is subsequently granted a token from the limiter, but before the cancellation is delivered, and then fails to notify the next waiting task (#​947) v4.9.0 Compare Source Added async support for temporary file handling (#​344; PR by @​11kkw) Added 4 new fixtures for the AnyIO pytest plugin: free_tcp_port_factory: session scoped fixture returning a callable that generates unused TCP port numbers free_udp_port_factory: session scoped fixture returning a callable that generates unused UDP port numbers free_tcp_port: function scoped fixture that invokes the free_tcp_port_factory fixture to generate a free TCP port number free_udp_port: function scoped fixture that invokes the free_udp_port_factory fixture to generate a free UDP port number Added stdin argument to anyio.run_process() akin to what anyio.open_process(), asyncio.create_subprocess(), trio.run_process(), and subprocess.run() already accept (PR by @​jmehnle) Added the info property to anyio.Path on Python 3.14 Changed anyio.getaddrinfo() to ignore (invalid) IPv6 name resolution results when IPv6 support is disabled in Python Changed EndOfStream raised from MemoryObjectReceiveStream.receive() to leave out the AttributeError from the exception chain which was merely an implementation detail and caused some confusion Fixed traceback formatting growing quadratically with level of TaskGroup nesting on asyncio due to exception chaining when raising ExceptionGroups in TaskGroup.__aexit__ (#​863; PR by @​tapetersen) Fixed anyio.Path.iterdir() making a blocking call in Python 3.13 (#​873; PR by @​cbornet and @​agronholm) Fixed connect_tcp() producing cyclic references in tracebacks when raising exceptions (#​809; PR by @​graingert) Fixed anyio.to_thread.run_sync() needlessly holding on to references of the context, function, arguments and others until the next work item on asyncio (PR by @​Wankupi) v4.8.0 Compare Source Added experimental support for running functions in subinterpreters on Python 3.13 and later Added support for the copy(), copy_into(), move() and move_into() methods in anyio.Path, available in Python 3.14 Changed TaskGroup on asyncio to always spawn tasks non-eagerly, even if using a task factory created via asyncio.create_eager_task_factory(), to preserve expected Trio-like task scheduling semantics (PR by @​agronholm and @​graingert) Configure SO_RCVBUF, SO_SNDBUF and TCP_NODELAY on the selector thread waker socket pair (this should improve the performance of wait_readable() and wait_writable() when using the ProactorEventLoop) (#​836; PR by @​graingert) Fixed AssertionError when using nest-asyncio (#​840) Fixed return type annotation of various context managers' __exit__ method (#​847; PR by @​Enegg) v4.7.0 Compare Source Updated TaskGroup to work with asyncio's eager task factories (#​764) Added the wait_readable() and wait_writable() functions which will accept an object with a .fileno() method or an integer handle, and deprecated their now obsolete versions (wait_socket_readable() and wait_socket_writable()) (PR by @​davidbrochart) Changed EventAdapter (an Event with no bound async backend) to allow set() to work even before an async backend is bound to it (#​819) Added support for wait_readable() and wait_writable() on ProactorEventLoop (used on asyncio + Windows by default) Fixed a misleading ValueError in the context of DNS failures (#​815; PR by @​graingert) Fixed the return type annotations of readinto() and readinto1() methods in the anyio.AsyncFile class (#​825) Fixed TaskInfo.has_pending_cancellation() on asyncio returning false positives in cleanup code on Python >= 3.11 (#​832; PR by @​gschaffner) Fixed cancelled cancel scopes on asyncio calling asyncio.Task.uncancel when propagating a CancelledError on exit to a cancelled parent scope (#​790; PR by @​gschaffner) v4.6.2.post1 Compare Source v4.6.2 Compare Source Fixed regression caused by (#​807) that prevented the use of parametrized async fixtures v4.6.1 Compare Source This release contains all the changes from both v4.5.1 and v4.6.0, plus: Fixed TaskGroup and CancelScope producing cyclic references in tracebacks when raising exceptions (#​806) (PR by @​graingert) v4.6.0 Compare Source Dropped support for Python 3.8 (as #​698 cannot be resolved without cancel message support) Fixed 100% CPU use on asyncio while waiting for an exiting task group to finish while said task group is within a cancelled cancel scope (#​695) Fixed cancel scopes on asyncio not propagating CancelledError on exit when the enclosing cancel scope has been effectively cancelled (#​698) Fixed asyncio task groups not yielding control to the event loop at exit if there were no child tasks to wait on Fixed inconsistent task uncancellation with asyncio cancel scopes belonging to a task group when said task group has child tasks running v4.5.2 Compare Source Fixed regression caused by (#​807) that prevented the use of parametrized async fixtures. v4.5.1 Compare Source As Python 3.8 support was dropped in v4.6.0, this interim release was created to bring a regression fix to Python 3.8, and adds a few other fixes also present in v4.6.1. Fixed acquring a lock twice in the same task on asyncio hanging instead of raising a RuntimeError (#​798) Fixed an async fixture's self being different than the test's self in class-based tests (#​633) (PR by @​agronholm and @​graingert) Fixed TypeError with TLSStream on Windows when a certificate verification error occurs when using a truststore SSL certificate (#​795) Corrected documentation on anyio.Path regarding the limitations imposed by the current Python version on several of its methods, and made the is_junction method unavailable on Python versions earlier than 3.12 (#​794) v4.5.0 Compare Source Improved the performance of anyio.Lock and anyio.Semaphore on asyncio (even up to 50 %) Added the fast_acquire parameter to anyio.Lock and anyio.Semaphore to further boost performance at the expense of safety (acquire() will not yield control back if there is no contention) Added support for the from_uri(), full_match(), parser methods/properties in anyio.Path, newly added in Python 3.13 (#​737) Added support for more keyword arguments for run_process() and open_process(): startupinfo, creationflags, pass_fds, user, group, extra_groups and umask (#​742) Improved the type annotations and support for PathLike in run_process() and open_process() to allow for path-like arguments, just like subprocess.Popen Changed the ResourceWarning from an unclosed memory object stream to include its address for easier identification Changed start_blocking_portal() to always use daemonic threads, to accommodate the "loitering event loop" use case Bumped the minimum version of Trio to v0.26.1 Fixed __repr__() of MemoryObjectItemReceiver, when item is not defined (#​767; PR by @​Danipulok) Fixed to_process.run_sync() failing to initialize if __main__.__file__ pointed to a file in a nonexistent directory (#​696) Fixed AssertionError: feed_data after feed_eof on asyncio when a subprocess is closed early, before its output has been read (#​490) Fixed TaskInfo.has_pending_cancellation() on asyncio not respecting shielded scopes (#​771; PR by @​gschaffner) Fixed SocketStream.receive() returning bytearray instead of bytes when using asyncio with ProactorEventLoop (Windows) (#​776) Fixed quitting the debugger in a pytest test session while in an active task group failing the test instead of exiting the test session (because the exit exception arrives in an exception group) Fixed support for Linux abstract namespaces in UNIX sockets that was broken in v4.2 (#​781; PR by @​tapetersen) Fixed KeyboardInterrupt (ctrl+c) hanging the asyncio pytest runner 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. 🔕 Ignore: Close this PR and you won't be reminded about this update again. If you want to rebase/retry this PR, check this box This PR was generated by Mend Renovate. View the repository job log.

Open Graph Description: This PR contains the following updates: Package Change Age Confidence anyio (changelog) ==4.4.0 → ==4.12.1 Release Notes agronholm/anyio (anyio) v4.12.1 Compare Source Changed all fu...

X Description: This PR contains the following updates: Package Change Age Confidence anyio (changelog) ==4.4.0 → ==4.12.1 Release Notes agronholm/anyio (anyio) v4.12.1 Compare Source Changed all fu...

Opengraph URL: https://github.com/protoconf/client-python/pull/34

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:f524e6e5-9e2d-ae16-ba53-d9bbc766e449
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id8D56:3FDB33:8601CF7:B3EB527:6980E2E0
html-safe-nonce96f17d3599a68fbc7eb5b75edf7d358bf404a7c8ba2f8c0a8b7309affbf15422
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4RDU2OjNGREIzMzo4NjAxQ0Y3OkIzRUI1Mjc6Njk4MEUyRTAiLCJ2aXNpdG9yX2lkIjoiODI5NDEzOTY4MDY5ODQ1ODg0OCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac5c7ea853158831df86fb34eb28b0a76e51d95cd175559f1e9028c27fe3857391
hovercard-subject-tagpull_request:2423816251
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/protoconf/client-python/pull/34/files
twitter:imagehttps://avatars.githubusercontent.com/in/2740?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/in/2740?s=400&v=4
og:image:altThis PR contains the following updates: Package Change Age Confidence anyio (changelog) ==4.4.0 → ==4.12.1 Release Notes agronholm/anyio (anyio) v4.12.1 Compare Source Changed all fu...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb864989388d67f9bb4a2fb1dfeb2688346a5dd326651e2e650691e71c007c0dc
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/protoconf/client-python git https://github.com/protoconf/client-python.git
octolytics-dimension-user_id51154987
octolytics-dimension-user_loginprotoconf
octolytics-dimension-repository_id820059494
octolytics-dimension-repository_nwoprotoconf/client-python
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id820059494
octolytics-dimension-repository_network_root_nwoprotoconf/client-python
turbo-body-classeslogged-out env-production page-responsive
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release6e7fa5832324cc3e9b6caeffeb9a35c96eb93ab5
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/changes#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fprotoconf%2Fclient-python%2Fpull%2F34%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Fprotoconf%2Fclient-python%2Fpull%2F34%2Ffiles
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=protoconf%2Fclient-python
Reloadhttps://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/changes
Reloadhttps://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/changes
Reloadhttps://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/changes
protoconf https://patch-diff.githubusercontent.com/protoconf
client-pythonhttps://patch-diff.githubusercontent.com/protoconf/client-python
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Fprotoconf%2Fclient-python
Fork 0 https://patch-diff.githubusercontent.com/login?return_to=%2Fprotoconf%2Fclient-python
Star 3 https://patch-diff.githubusercontent.com/login?return_to=%2Fprotoconf%2Fclient-python
Code https://patch-diff.githubusercontent.com/protoconf/client-python
Issues 1 https://patch-diff.githubusercontent.com/protoconf/client-python/issues
Pull requests 15 https://patch-diff.githubusercontent.com/protoconf/client-python/pulls
Actions https://patch-diff.githubusercontent.com/protoconf/client-python/actions
Projects 0 https://patch-diff.githubusercontent.com/protoconf/client-python/projects
Security 0 https://patch-diff.githubusercontent.com/protoconf/client-python/security
Insights https://patch-diff.githubusercontent.com/protoconf/client-python/pulse
Code https://patch-diff.githubusercontent.com/protoconf/client-python
Issues https://patch-diff.githubusercontent.com/protoconf/client-python/issues
Pull requests https://patch-diff.githubusercontent.com/protoconf/client-python/pulls
Actions https://patch-diff.githubusercontent.com/protoconf/client-python/actions
Projects https://patch-diff.githubusercontent.com/protoconf/client-python/projects
Security https://patch-diff.githubusercontent.com/protoconf/client-python/security
Insights https://patch-diff.githubusercontent.com/protoconf/client-python/pulse
Sign up for GitHub https://patch-diff.githubusercontent.com/signup?return_to=%2Fprotoconf%2Fclient-python%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://patch-diff.githubusercontent.com/login?return_to=%2Fprotoconf%2Fclient-python%2Fissues%2Fnew%2Fchoose
renovatehttps://patch-diff.githubusercontent.com/apps/renovate
mainhttps://patch-diff.githubusercontent.com/protoconf/client-python/tree/main
renovate/anyio-4.xhttps://patch-diff.githubusercontent.com/protoconf/client-python/tree/renovate/anyio-4.x
Conversation 0 https://patch-diff.githubusercontent.com/protoconf/client-python/pull/34
Commits 1 https://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/commits
Checks 2 https://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/checks
Files changed https://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/files
Please reload this pagehttps://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/changes
Update dependency anyio to v4.12.1 https://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/changes#top
Show all changes 1 commit https://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/files
dcb5316 Update dependency anyio to v4.12.1 renovate[bot] Jan 6, 2026 https://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/commits/dcb53163241b1e5d4175ba6dc3b2cae1ebf66835
Clear filters https://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/files
Please reload this pagehttps://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/changes
Please reload this pagehttps://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/changes
requirements-test.txthttps://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/changes#diff-685da804fbcac569d75387e475e57d1de687a54c6c41b3aa4057694cfb5abc4b
View file https://patch-diff.githubusercontent.com/protoconf/client-python/blob/dcb53163241b1e5d4175ba6dc3b2cae1ebf66835/requirements-test.txt
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/{{ revealButtonHref }}
https://patch-diff.githubusercontent.com/protoconf/client-python/pull/34/changes#diff-685da804fbcac569d75387e475e57d1de687a54c6c41b3aa4057694cfb5abc4b
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.