aiohappyeyeballs

Happy Eyeballs for pre-resolved hosts

Latest version: 2.6.1 registry icon
Maintenance score
100
Safety score
100
Popularity score
11
Check your open source dependency risks. Get immediate insight about security, stability and licensing risks.
Security
  Vulnerabilities
Version Suggest Low Medium High Critical
2.6.1 0 0 0 0 0
2.6.0 0 0 0 0 0
2.5.0 0 0 0 0 0
2.4.8 0 0 0 0 0
2.4.7 0 0 0 0 0
2.4.6 0 0 0 0 0
2.4.5 0 0 0 0 0
2.4.4 0 0 0 0 0
2.4.3 0 0 0 0 0
2.4.2 0 0 0 0 0
2.4.1 0 0 0 0 0
2.4.0 0 0 0 0 0
2.3.7 0 0 0 0 0
2.3.6 0 0 0 0 0
2.3.5 0 0 0 0 0
2.3.4 0 0 0 0 0
2.3.3 0 0 0 0 0
2.3.2 0 0 0 0 0
2.3.1 0 0 0 0 0
2.3.0 0 0 0 0 0
2.2.0 0 0 0 0 0
2.1.0 0 0 0 0 0
2.0.0 0 0 0 0 0
1.8.1 0 0 0 0 0
1.8.0 0 0 0 0 0
1.7.0 0 0 0 0 0
1.6.0 0 0 0 0 0
1.5.0 0 0 0 0 0
1.4.1 0 0 0 0 0
1.4.0 0 0 0 0 0
1.3.0 0 0 0 0 0
1.2.0 0 0 0 0 0
1.1.0 0 0 0 0 0
1.0.0 0 0 0 0 0
0.9.0 0 0 0 0 0
0.8.0 0 0 0 0 0
0.7.0 0 0 0 0 0
0.6.0 0 0 0 0 0
0.5.0 0 0 0 0 0
0.4.0 0 0 0 0 0
0.3.0 0 0 0 0 0
0.2.0 0 0 0 0 0
0.1.0 0 0 0 0 0
0.0.1 0 0 0 0 0

Stability
Latest release:

2.6.1 - This version is safe to use because it has no known security vulnerabilities at this time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform

Licensing

Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.

Python-2.0   -   Python License 2.0

Not a wildcard

Not proprietary

OSI Compliant



aiohappyeyeballs

CI Status Documentation Status Test coverage percentage

Poetry Ruff pre-commit

PyPI Version Supported Python versions License


Documentation: https://aiohappyeyeballs.readthedocs.io

Source Code: https://github.com/aio-libs/aiohappyeyeballs


Happy Eyeballs (RFC 8305)

Use case

This library exists to allow connecting with Happy Eyeballs (RFC 8305) when you already have a list of addrinfo and not a DNS name.

The stdlib version of loop.create_connection() will only work when you pass in an unresolved name which is not a good fit when using DNS caching or resolving names via another method such as zeroconf.

Installation

Install this via pip (or your favourite package manager):

pip install aiohappyeyeballs

License

aiohappyeyeballs is licensed under the same terms as cpython itself.

Example usage

addr_infos = await loop.getaddrinfo("example.org", 80)

socket = await start_connection(addr_infos)
socket = await start_connection(addr_infos, local_addr_infos=local_addr_infos, happy_eyeballs_delay=0.2)

transport, protocol = await loop.create_connection(
    MyProtocol, sock=socket, ...)

# Remove the first address for each family from addr_info
pop_addr_infos_interleave(addr_info, 1)

# Remove all matching address from addr_info
remove_addr_infos(addr_info, "dead::beef::")

# Convert a local_addr to local_addr_infos
local_addr_infos = addr_to_addr_infos(("127.0.0.1",0))

Credits

This package contains code from cpython and is licensed under the same terms as cpython itself.

This package was created with Copier and the browniebroke/pypackage-template project template.