Wednesday, August 27, 2008

netaddr Python Library

I recently got several feature requests for my NetCIDR Python library, and in the course of a conversation with one user in particular, I was made aware of the netaddr project. I took some time to explore the code details and was quite impressed: drkjam did a great job. The manner in which he implemented the many features (especially the IP math) was the kind of thing I wanted to do for NetCIDR ... at some point. After about an hour of digging around, testing out the API, and pondering, I decided to retire NetCIDR and encourage my users to migrate to netaddr.

There are a couple more esoteric features in NetCIDR that netaddr currently doesn't have, but we've started talking about adding support for those in netaddr, at which point there will be no need to use NetCIDR.

To facilitate this, I've added a wiki page on the netaddr Google Code project for helping users make the transition from NetCIDR to the netaddr API.


Naveen said...

I was in the works developing my own smaller CIDR util, and I came across netaddr. It does everything I neede & it's very pythonic. i'm well impressed.

Been using it to gather information from Juniper routers (that can output _anything_ in XML), particularly the ARP table, config, and routes, to determine subnet utilization. Works a treat.

Duncan McGreggor said...


That's great to hear!