Is there a good high level library that can be used for IP address manipulation? I need to do things like:

Given a string find out if it is a valid IPv4/IPv6 address.
Have functionality like ntop and pton
etc

I can use the low level inet_ntop() etc. But is there a better library that handles these better and fast (c/c++/python)?
If you are writing a sockets app it's highly unlikely that address manipulation is going to be your most important consideration.  Don't waste time on this when you have network I/O to worry about.
Efficient IP address c/c++ library on unix