The python port of libphonenumber is pretty complete, but is a little short on examples and sample code. Here are some simple examples for some common uses of this fantastic library.
Note: Because libphonenumber uses static number range data, it is not the definitive refernce for number validity. However it serves as a great starting point to identify invalid numbers and format numbers into E.164 format.