This is a post to announce the creation of a brand new library for Python called NetAddr. It is a network address manipulation library released under the BSD license.
It supports several of the most common address formats (IPv4, IPv6 and MAC and IEEE EUI) as well as several aggregate notations such as CIDR. An effort has been made to provide an API that is as Pythonic as possible.
NetAddr is now in beta (latest release is 0.3.1) and is currently being actively developed. Developers and testers are needed to assist in improving the quality and availability of network library support for Python which is distinctly lacking when compared with other popular interpreted languages such as Ruby and Perl. NetAddr is an attempt to redress this imbalance to some extent.
Home page: http://netaddr.googlecode.com/
Features include :-
- Flexible support for the representation of multiple address types using the a common set of network address classes
- Address objects emulate standard Python types dependent on context. They behave as strings, integers, lists, compare and sort numerically, etc
- Efficient representation of large address spaces via several aggregate types. Also supports arbitrary network address ranges that don't necessarily fall on strict bit boundaries
- Generators are used throughout for efficient iteration, indexing and slicing of network address spaces and ranges
- Testing on both big and little endian architectures has carried out throughout the initial development of this library
- A lot more features are planned over coming releases
- Python 2.3 or higher (doesn't support Python 3.0 ... yet)
For more information, downloads and examples, please visit :-
Share and enjoy,