Skip to main content

Happy Eyeballs

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/bdraco/aiohappyeyeballs


Happy Eyeballs

Use case

This library exists to allow connecting with Happy Eyeballs 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 was zeroconf.

Installation

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

pip install aiohappyeyeballs

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::")

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

Uploaded Source

Built Distribution

aiohappyeyeballs-1.8.1-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiohappyeyeballs-1.8.1.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for aiohappyeyeballs-1.8.1.tar.gz
Algorithm Hash digest
SHA256 fdc373eab5a99de3285328a1f427c5c03a76f34ad62cdeb39aee65e86ead7f3e
MD5 f03ad12d96aa8773a0e502c4e97d0151
BLAKE2b-256 9e36be339c05c6123fd526cc3b60a9874006764dcae2c6f382a3622f24b167a2

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for aiohappyeyeballs-1.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1650e3eade4cf20e00959d22f188b73671d3dc78ef170b519c3f86b5fd01c7d2
MD5 8cc7eef9ca65f7d8011d68798ca42b7c
BLAKE2b-256 b8daade3478d9a785fa7a83633508affd5892d6d05065838bd9abfaca870f6f0

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