Closed gpshead closed 9 years ago
Thank you, I am fully aware of it, having contributed to ipaddr myself.
So here goes my short summary of the history of both. ipaddr was originally developed as an in-house google library, and then open-sourced (in these days, you had to jump through a lot of google-specific hoops). It was then suggested to include ipaddr in the Python standard library. There was quite a lot of discussion at the time, with multiple projects being suggested for stdlib inclusion.
Eventually, things settled with Python 3.3, the first version of Python to include the ipadress module. Both modules have different function and class names as well as slightly different semantics. See PEP 3144 for more details.
As it was always planned, inclusion of the library into the Python stdlib meant that ipaddr was on its way out. While there were some patches and a PyPi release, development of ipaddr has now been dead for close to a year. Look at the history - after 2012 there is effectively no more development (so exists is a strong word, lingering around would be more appropriate). In contrast, although it has matured, development on ipaddress is still very much alive.
This project backports the ipaddress module to Python 2.6, 2.7, and 3.2. This allows developers to let their code run on older Python versions that are still the only option on many old but stable systems (namely RHEL).
Being a module in the standard library, ipaddress is very much the way forward. ipaddr-py managed to include some rudimentary Python 3 support toward its end, but it still doesn't even work on current Python versions without major modifications. The inclusion into the standard library means that ipaddress is way more popular nowadays. If you look at the download numbers, you'll see that nearly 10 times as many users are using ipaddress on Python 2.x.
cool, thanks for the history!
https://github.com/google/ipaddr-py (formerly http://code.google.com/p/ipaddr-py/) has existed for a while...