{"id":17482203,"url":"https://github.com/vshymanskyy/aiodns","last_synced_at":"2025-04-22T14:09:34.672Z","repository":{"id":258269842,"uuid":"872020636","full_name":"vshymanskyy/aiodns","owner":"vshymanskyy","description":"A small async DNS client for MicroPython","archived":false,"fork":false,"pushed_at":"2025-01-08T10:24:32.000Z","size":75,"stargazers_count":16,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-22T14:09:27.016Z","etag":null,"topics":["asyncio","cellular","dns","esp32","esp8266","ethernet","lte","mdns","micropython","rpi-pico-w","wifi"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vshymanskyy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-13T15:25:39.000Z","updated_at":"2025-03-12T09:52:52.000Z","dependencies_parsed_at":"2025-03-03T18:38:10.733Z","dependency_job_id":"a90b13d7-11f8-4e1b-bbbd-5c96d9357a35","html_url":"https://github.com/vshymanskyy/aiodns","commit_stats":null,"previous_names":["vshymanskyy/aiodns"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vshymanskyy%2Faiodns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vshymanskyy%2Faiodns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vshymanskyy%2Faiodns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vshymanskyy%2Faiodns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vshymanskyy","download_url":"https://codeload.github.com/vshymanskyy/aiodns/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250255697,"owners_count":21400410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asyncio","cellular","dns","esp32","esp8266","ethernet","lte","mdns","micropython","rpi-pico-w","wifi"],"created_at":"2024-10-18T23:04:32.459Z","updated_at":"2025-04-22T14:09:34.666Z","avatar_url":"https://github.com/vshymanskyy.png","language":"Python","funding_links":[],"categories":["Libraries"],"sub_categories":["Communications"],"readme":"# aiodns\n\n[![StandWithUkraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md) \n[![GitHub issues](https://img.shields.io/github/issues-raw/vshymanskyy/aiodns?style=flat-square\u0026label=issues\u0026color=green)](https://github.com/vshymanskyy/aiodns/issues) \n[![GitHub license](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](https://github.com/vshymanskyy/aiodns) \n[![Support vshymanskyy](https://img.shields.io/static/v1?label=support\u0026message=%E2%9D%A4\u0026color=%23fe8e86)](https://quicknote.io/da0a7d50-bb49-11ec-936a-6d7fd5a2de08) \n[![Build status](https://img.shields.io/github/actions/workflow/status/vshymanskyy/aiodns/build.yml?branch=main\u0026style=flat-square\u0026logo=github\u0026label=build)](https://github.com/vshymanskyy/aiodns/actions)\n\n\u003c!--[![GitHub Repo stars](https://img.shields.io/github/stars/vshymanskyy/aiodns?style=flat-square\u0026color=green)](https://github.com/vshymanskyy/aiodns/stargazers) --\u003e\n\nA small async DNS client for MicroPython\n\n- Works on `ESP32`, `ESP8266`, `Raspberry Pi Pico W`, `WM W600` and other boards\n- Versatile, runs multiple queries at a time using multiple DNS servers\n- Supports IPv4 and IPv6\n- Supports `mDNS` (Multicast DNS) name resolution\n- Works with WiFi, Ethernet, Cellular, and in multi-network scenarios\n- Caches up to 32 hostnames (configurable)\n- API-compatible with `getaddrinfo`\n\n## Install\n\n[\u003cimg src=\"https://raw.githubusercontent.com/vshymanskyy/ViperIDE/refs/heads/main/assets/btn_install.png\" alt=\"Install using ViperIDE\" height=\"42\"/\u003e](https://viper-ide.org/?install=github:vshymanskyy/aiodns)\n\nUsing CLI:\n\n```sh\nmpremote mip install github:vshymanskyy/aiodns\n```\n\nUsing REPL (your board must be connected to the internet):\n\n```py\nimport mip\nmip.install(\"github:vshymanskyy/aiodns\")\n```\n\n## Example\n\nSee [usage examples](./examples)\n\n## API\n\n```py\naiodns.servers = set([\"8.8.8.8\", \"1.1.1.1\"])\naiodns.servers.add(\"9.9.9.9\")\naiodns.timeout_ms = 5000\naiodns.cache.clear()\naiodns.cache_size = 32\nawait aiodns.getaddrinfo(hostname, port, family=AF_INET, type=0, proto=0, flags=0)\n```\n\n## Build\n\n```sh\npip3 install -U python-minifier mpy-cross\npython3 ./extra/build.py\n```\n\nOutput:\n\n```log\nMinified: 2796 bytes\nCompiled: 2202 bytes\n```\n\n## Run using MicroPython Unix port:\n\n```sh\nexport MICROPYPATH=\".frozen:./lib:.\"\nmkdir -p lib\nmicropython -m mip install logging\nmicropython examples/simple/main.py\n```\n\n## Run using Python 3:\n\n```sh\npip3 install -U microemu\nmicroemu examples/simple/main.py\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvshymanskyy%2Faiodns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvshymanskyy%2Faiodns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvshymanskyy%2Faiodns/lists"}