icmplib 3.0 is here! 🚀
- The library is now asynchronous!
- Introduce new functions:
async_ping
,async_multiping
andasync_resolve
. - Add a new
AsyncSocket
class to make an ICMP socket asynchronous.
- Introduce new functions:
- Rewrite models:
- All the properties of
Host
andHop
classes are now lazy. - Add new properties to the
Host
andHop
classes: you can retrieve the list of round-trip times and calculate the jitter. - Add the metaclass
__str__
to visualize the results more easily.
- All the properties of
- Rewrite the
ping
,multiping
andtraceroute
functions:- The identifier of ICMP requests is now handled automatically by the library.
- Add the ability to set the address family if a hostname or an FQDN is specified.
- A new implementation is used for the
multiping
function. It should be more reliable. - The
multiping
function is now in a dedicated module.
- Rewrite the documentation to help you get started with icmplib.
- Improve the
resolve
function to return all IP addresses found. - Add the
is_hostname
function to check if a string is a hostname or an FQDN. - Delete the experimental class
BufferedSocket
, replaced byAsyncSocket
. - Performance and compatibility improvement.
- Many other small changes and fixes.
Special thanks to @JonasKs and @bdraco for their suggestions, advice and feedback!
Python 3.7 or later is now required.