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

# 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.3.0.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiohappyeyeballs-2.3.0-py3-none-any.whl (11.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for aiohappyeyeballs-2.3.0.tar.gz
Algorithm Hash digest
SHA256 d6c05ff76c1269f6854362d252de3789cce87b53f6a7b958c87369b583a5d498
MD5 2c707c4628528c4285a4dfa2f2a08dd9
BLAKE2b-256 4e6ceeb20c137cf1c0a29d9d804523b426c14e8e333681ff8c228c983f4b4b73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for aiohappyeyeballs-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 90e8844cd69cdffbeab33a252ede73557abff3811c7db2863bd8da014b1b8e04
MD5 6abff24018617b9aae3e13bfdd0ba4fc
BLAKE2b-256 d6df24d2d647c8dcc347b99ce4391d525d7d748c427f5056fc420cc9805ba1a2

See more details on using hashes here.

Supported by

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