Metadata-Version: 1.1
Name: aio_ping
Version: 0.1.3
Summary: An async python ICMP ping implementation using raw sockets.
Home-page: https://github.com/M-o-a-T/aioping/
Author: Matthias Urlichs
Author-email: matthias@urlichs.de
License: UNKNOWN
Description: --------
        aio_ping
        --------
        
        An asyncio-based python ping implementation using raw sockets.
        
        * Compatible with Python 3.5 ff.
        
        * Note that ICMP messages can only be sent from processes running as root   (in Windows, you must run this script as 'Administrator').
        
        ----------------
        Original Version
        ----------------
        
        * `Matthew Dixon Cowles <ftp://ftp.visi.com/users/mdc/ping.py>`_
        
        * copyleft 1989-2016 by the python-ping team, see `AUTHORS <https://github.com/l4m3rx/python-ping/blob/master/AUTHORS>`_ for more details.
        
        * license: GNU GPL v2, see `LICENSE <https://github.com/l4m3rx/python-ping/blob/master/LICENSE>`_ for more details.
        
        Usage
        =====
        
        ::
        
            usage: ping [-h] [-w TIMEOUT] [-c COUNT] [-i INTERVAL] [-4] [-6]
                        [-I SOURCEINTF] [-s NUMDATABYTES] [-T] [-S SOURCEIP]
                        hostname
            
            A pure python implementation of the ping protocol. *REQUIRES ROOT*
            
            positional arguments:
              hostname              The address to attempt to ping.
            
            optional arguments:
              -h, --help            show this help message and exit
              -w TIMEOUT, --deadline TIMEOUT
                                    The maximum amount of time to wait until ping times
                                    out.
              -c COUNT, --request_count COUNT
                                    The number of attempts to make. Zero=infinite.
              -i INTERVAL, --interval INTERVAL
                                    Time between ping attempts
              -4, --ipv4            Flag to use IPv4.
              -6, --ipv6            Flag to use IPv6.
              -I SOURCEINTF, --interface SOURCEINTF
                                    Interface to use.
              -s NUMDATABYTES, --packet_size NUMDATABYTES
                                    Designate the amount of data to send per packet.
              -T, --test_case       Flag to run the default test case suite.
              -S SOURCEIP, --source_address SOURCEIP
                                    Source address from which ICMP Echo packets will be
                                    sent.
        
        Using as lib
        ============
        
        ::
        
            # python3
            >>> from aio_ping import ping
            >>> ping('google.com', timeout=3000, count=3, delay=0.5)
            True
            >>> ping('google.com', timeout=3000, count=3, delay=0.5, verbose=True)
            
            PYTHON PING google.com (216.58.212.46): 1300 data bytes
            72 bytes from 216.58.212.46: icmp_seq=0 ttl=59 time=4.42 ms
            72 bytes from 216.58.212.46: icmp_seq=1 ttl=59 time=4.70 ms
            72 bytes from 216.58.212.46: icmp_seq=2 ttl=59 time=4.44 ms
            72 bytes from 216.58.212.46: icmp_seq=3 ttl=59 time=4.47 ms
            
            ----216.58.212.46 PYTHON PING Statistics----
            4 packets transmitted, 4 packets received, 0.0% packet loss
            round-trip (ms)  min/avg/max = 4.4/4.5/4.7
            
            1
        
        Async usage is via the {Ping} class, which can be used like this:
        
        ::
        
            from aio_ping import Ping,VerbosePing
            async def ping(hostname, verbose=True, handle_signals=False, **kw):
                """
                Send @count ping to @hostname with the given @timeout
                """
                ping = (VerbosePing if verbose else Ping)(verbose=verbose, **kw)
                if handle_signals: ping.add_signal_handler()
                await ping.init(hostname)
                res = await ping.looped()
                if verbose:
                    ping.print_stats()
                ping.close()
                return res
        
        ----------
        contribute
        ----------
        
        `Fork this repo <http://help.github.com/fork-a-repo/>`_ on `GitHub <https://github.com/M-o-a-T/aioping/>`_ and `send pull requests <http://help.github.com/send-pull-requests/>`_. Thank you.
        
        ----------------
        Revision history
        ----------------
        
        `Revision history <https://github.com/M-o-a-T/aioping/commits/master>`_
        
        -----
        Links
        -----
        
        +----------------------+---------------------------------------+
        | Sourcecode at GitHub | `https://github.com/M-o-a-T/aioping`_ |
        +----------------------+---------------------------------------+
        
        .. _https://github.com/M-o-a-T/aioping: https://github.com/M-o-a-T/aioping
Keywords: asyncio ping icmp network latency
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Internet
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Networking :: Monitoring
