Skip to main content

Happy Eyeballs for asyncio

Project description

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.

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.6.1.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

aiohappyeyeballs-2.6.1-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiohappyeyeballs-2.6.1.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for aiohappyeyeballs-2.6.1.tar.gz
Algorithm Hash digest
SHA256 c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558
MD5 2fa845a1ce2f7730045fa763aa9987f8
BLAKE2b-256 2630f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiohappyeyeballs-2.6.1.tar.gz:

Publisher: ci-cd.yml on aio-libs/aiohappyeyeballs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for aiohappyeyeballs-2.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8
MD5 985f77be48d91b069478bd41a02b37b4
BLAKE2b-256 0f155bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiohappyeyeballs-2.6.1-py3-none-any.whl:

Publisher: ci-cd.yml on aio-libs/aiohappyeyeballs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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