Skip to main content

Happy Eyeballs for asyncio

Reason this release was yanked:

Regression: https://github.com/aio-libs/aiohappyeyeballs/issues/100

Project description

aiohappyeyeballs

CI Status Documentation Status Test coverage percentage

Poetry black 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiohappyeyeballs-2.4.2.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

aiohappyeyeballs-2.4.2-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file aiohappyeyeballs-2.4.2.tar.gz.

File metadata

  • Download URL: aiohappyeyeballs-2.4.2.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for aiohappyeyeballs-2.4.2.tar.gz
Algorithm Hash digest
SHA256 4ca893e6c5c1f5bf3888b04cb5a3bee24995398efef6e0b9f747b5e89d84fd74
MD5 862cf28d31bc4cc1da196c11e3d001bd
BLAKE2b-256 c7d9e710a5c9e51b4d5a977c823ce323a81d344da8c1b6fba16bb270a8be800d

See more details on using hashes here.

Provenance

File details

Details for the file aiohappyeyeballs-2.4.2-py3-none-any.whl.

File metadata

File hashes

Hashes for aiohappyeyeballs-2.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8522691d9a154ba1145b157d6d5c15e5c692527ce6a53c5e5f9876977f6dab2f
MD5 70473de82b80816b998dcb6c05183ff3
BLAKE2b-256 136440165ff77ade5203284e3015cf88e11acb07d451f6bf83fff71192912a0d

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page