Skip to content

Commit

Permalink
feat: update aiodns to 3.2.0-2
Browse files Browse the repository at this point in the history
  • Loading branch information
deepin-community-bot[bot] authored and deepin-ci-robot committed Dec 30, 2024
1 parent b92fba2 commit fdbbdfc
Show file tree
Hide file tree
Showing 22 changed files with 435 additions and 118 deletions.
21 changes: 0 additions & 21 deletions .gitignore

This file was deleted.

1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
include README.rst LICENSE ChangeLog
include setup.py tests.py
include aiodns/py.typed
recursive-exclude * __pycache__
recursive-exclude * *.py[co]

126 changes: 126 additions & 0 deletions PKG-INFO
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
Metadata-Version: 2.1
Name: aiodns
Version: 3.2.0
Summary: Simple DNS resolver for asyncio
Home-page: https://github.com/saghul/aiodns
Author: Saúl Ibarra Corretgé
Author-email: [email protected]
License: MIT
Description: ===============================
Simple DNS resolver for asyncio
===============================

.. image:: https://badge.fury.io/py/aiodns.png
:target: https://pypi.org/project/aiodns/

.. image:: https://github.com/saghul/aiodns/workflows/CI/badge.svg
:target: https://github.com/saghul/aiodns/actions

aiodns provides a simple way for doing asynchronous DNS resolutions using `pycares <https://github.com/saghul/pycares>`_.


Example
=======

.. code:: python

import asyncio
import aiodns

loop = asyncio.get_event_loop()
resolver = aiodns.DNSResolver(loop=loop)

async def query(name, query_type):
return await resolver.query(name, query_type)

coro = query('google.com', 'A')
result = loop.run_until_complete(coro)


The following query types are supported: A, AAAA, ANY, CAA, CNAME, MX, NAPTR, NS, PTR, SOA, SRV, TXT.


API
===

The API is pretty simple, three functions are provided in the ``DNSResolver`` class:

* ``query(host, type)``: Do a DNS resolution of the given type for the given hostname. It returns an
instance of ``asyncio.Future``. The actual result of the DNS query is taken directly from pycares.
As of version 1.0.0 of aiodns (and pycares, for that matter) results are always namedtuple-like
objects with different attributes. Please check the `documentation
<http://pycares.readthedocs.org/en/latest/channel.html#pycares.Channel.query>`_
for the result fields.
* ``gethostbyname(host, socket_family)``: Do a DNS resolution for the given
hostname and the desired type of address family (i.e. ``socket.AF_INET``).
While ``query()`` always performs a request to a DNS server,
``gethostbyname()`` first looks into ``/etc/hosts`` and thus can resolve
local hostnames (such as ``localhost``). Please check `the documentation
<http://pycares.readthedocs.io/en/latest/channel.html#pycares.Channel.gethostbyname>`_
for the result fields. The actual result of the call is a ``asyncio.Future``.
* ``gethostbyaddr(name)``: Make a reverse lookup for an address.
* ``cancel()``: Cancel all pending DNS queries. All futures will get ``DNSError`` exception set, with
``ARES_ECANCELLED`` errno.


Note for Windows users
======================

This library requires the asyncio loop to be a `SelectorEventLoop`, which is not the default on Windows since
Python 3.8.

The default can be changed as follows (do this very early in your application):

.. code:: python

asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())

This may have other implications for the rest of your codebase, so make sure to test thoroughly.


Running the test suite
======================

To run the test suite: ``python tests.py``


Author
======

Saúl Ibarra Corretgé <[email protected]>


License
=======

aiodns uses the MIT license, check LICENSE file.


Python versions
===============

Python >= 3.6 are supported.


Contributing
============

If you'd like to contribute, fork the project, make a patch and send a pull
request. Have a look at the surrounding code and please, make yours look
alike :-)

Platform: POSIX
Platform: Microsoft Windows
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Description-Content-Type: text/x-rst
15 changes: 15 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,21 @@ The API is pretty simple, three functions are provided in the ``DNSResolver`` cl
``ARES_ECANCELLED`` errno.


Note for Windows users
======================

This library requires the asyncio loop to be a `SelectorEventLoop`, which is not the default on Windows since
Python 3.8.

The default can be changed as follows (do this very early in your application):

.. code:: python
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
This may have other implications for the rest of your codebase, so make sure to test thoroughly.


Running the test suite
======================

Expand Down
126 changes: 126 additions & 0 deletions aiodns.egg-info/PKG-INFO
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
Metadata-Version: 2.1
Name: aiodns
Version: 3.2.0
Summary: Simple DNS resolver for asyncio
Home-page: https://github.com/saghul/aiodns
Author: Saúl Ibarra Corretgé
Author-email: [email protected]
License: MIT
Description: ===============================
Simple DNS resolver for asyncio
===============================

.. image:: https://badge.fury.io/py/aiodns.png
:target: https://pypi.org/project/aiodns/

.. image:: https://github.com/saghul/aiodns/workflows/CI/badge.svg
:target: https://github.com/saghul/aiodns/actions

aiodns provides a simple way for doing asynchronous DNS resolutions using `pycares <https://github.com/saghul/pycares>`_.


Example
=======

.. code:: python

import asyncio
import aiodns

loop = asyncio.get_event_loop()
resolver = aiodns.DNSResolver(loop=loop)

async def query(name, query_type):
return await resolver.query(name, query_type)

coro = query('google.com', 'A')
result = loop.run_until_complete(coro)


The following query types are supported: A, AAAA, ANY, CAA, CNAME, MX, NAPTR, NS, PTR, SOA, SRV, TXT.


API
===

The API is pretty simple, three functions are provided in the ``DNSResolver`` class:

* ``query(host, type)``: Do a DNS resolution of the given type for the given hostname. It returns an
instance of ``asyncio.Future``. The actual result of the DNS query is taken directly from pycares.
As of version 1.0.0 of aiodns (and pycares, for that matter) results are always namedtuple-like
objects with different attributes. Please check the `documentation
<http://pycares.readthedocs.org/en/latest/channel.html#pycares.Channel.query>`_
for the result fields.
* ``gethostbyname(host, socket_family)``: Do a DNS resolution for the given
hostname and the desired type of address family (i.e. ``socket.AF_INET``).
While ``query()`` always performs a request to a DNS server,
``gethostbyname()`` first looks into ``/etc/hosts`` and thus can resolve
local hostnames (such as ``localhost``). Please check `the documentation
<http://pycares.readthedocs.io/en/latest/channel.html#pycares.Channel.gethostbyname>`_
for the result fields. The actual result of the call is a ``asyncio.Future``.
* ``gethostbyaddr(name)``: Make a reverse lookup for an address.
* ``cancel()``: Cancel all pending DNS queries. All futures will get ``DNSError`` exception set, with
``ARES_ECANCELLED`` errno.


Note for Windows users
======================

This library requires the asyncio loop to be a `SelectorEventLoop`, which is not the default on Windows since
Python 3.8.

The default can be changed as follows (do this very early in your application):

.. code:: python

asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())

This may have other implications for the rest of your codebase, so make sure to test thoroughly.


Running the test suite
======================

To run the test suite: ``python tests.py``


Author
======

Saúl Ibarra Corretgé <[email protected]>


License
=======

aiodns uses the MIT license, check LICENSE file.


Python versions
===============

Python >= 3.6 are supported.


Contributing
============

If you'd like to contribute, fork the project, make a patch and send a pull
request. Have a look at the surrounding code and please, make yours look
alike :-)

Platform: POSIX
Platform: Microsoft Windows
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Description-Content-Type: text/x-rst
15 changes: 15 additions & 0 deletions aiodns.egg-info/SOURCES.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
ChangeLog
LICENSE
MANIFEST.in
README.rst
setup.cfg
setup.py
tests.py
aiodns/__init__.py
aiodns/error.py
aiodns/py.typed
aiodns.egg-info/PKG-INFO
aiodns.egg-info/SOURCES.txt
aiodns.egg-info/dependency_links.txt
aiodns.egg-info/requires.txt
aiodns.egg-info/top_level.txt
1 change: 1 addition & 0 deletions aiodns.egg-info/dependency_links.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

1 change: 1 addition & 0 deletions aiodns.egg-info/requires.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pycares>=4.0.0
1 change: 1 addition & 0 deletions aiodns.egg-info/top_level.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
aiodns
Loading

0 comments on commit fdbbdfc

Please sign in to comment.