98 lines
3.0 KiB
Plaintext
98 lines
3.0 KiB
Plaintext
|
`netaddr` is a Python library for representing and manipulating network addresses.
|
||
|
|
||
|
It support the ability to work and interact with the following:
|
||
|
|
||
|
- IPv4 and IPv6 addresses and subnets
|
||
|
- MAC addresses, OUI and IAB identifiers, IEEE EUI-64 identifiers
|
||
|
- arbitrary (non-aligned) IP address ranges and IP address sets
|
||
|
- various non-CIDR IP range formats such as nmap and glob-style formats
|
||
|
|
||
|
There are routines that allow :
|
||
|
|
||
|
- generating, sorting and summarizing IP addresses and networks
|
||
|
- performing easy conversions between address notations and formats
|
||
|
- detecting, parsing and formatting network address representations
|
||
|
- performing set-based operations on groups of IP addresses and subnets
|
||
|
- working with arbitrary IP address ranges and formats
|
||
|
- accessing OUI and IAB organisational information published by IEEE
|
||
|
- accessing IP address and block information published by IANA
|
||
|
|
||
|
-------
|
||
|
Changes
|
||
|
-------
|
||
|
|
||
|
For details on the latest updates and changes, see :doc:`changes`
|
||
|
|
||
|
-------
|
||
|
License
|
||
|
-------
|
||
|
|
||
|
This software is released under the liberal BSD license.
|
||
|
|
||
|
See the :doc:`license` and :doc:`copyright` for full text.
|
||
|
|
||
|
------------
|
||
|
Dependencies
|
||
|
------------
|
||
|
|
||
|
Python 2.4 or higher.
|
||
|
|
||
|
Python 3.x support available from netaddr version 0.7.5 onwards.
|
||
|
|
||
|
Required IPython for the interactive netaddr shell.
|
||
|
|
||
|
------------
|
||
|
Installation
|
||
|
------------
|
||
|
|
||
|
See :doc:`installation` for details.
|
||
|
|
||
|
-------------
|
||
|
Documentation
|
||
|
-------------
|
||
|
|
||
|
The code contains thorough docstrings as well as detailed tutorials and
|
||
|
API documentation can be found here:
|
||
|
|
||
|
http://readthedocs.org/docs/netaddr/en/latest/
|
||
|
|
||
|
----------------------
|
||
|
Running The Test Suite
|
||
|
----------------------
|
||
|
|
||
|
No code can ever be deemed truly complete or trustworthy without reasonable
|
||
|
unit test coverage. Full coverage for netaddr is the certainly the ultimate
|
||
|
goal. To this end coverage.py by Ned Batchelder is being used from release
|
||
|
0.7.x onwards to help with this. The latest coverage report can be found in
|
||
|
the tests/ subdirectory. Feel free to add tests to help improve coverage ;-)
|
||
|
|
||
|
Wherever possible all changes and new features will be covered with specific
|
||
|
regression tests.
|
||
|
|
||
|
To run the unit tests, go into the netaddr directory and run the following
|
||
|
using your Python interpreter :-
|
||
|
|
||
|
python tests/__init__.py
|
||
|
|
||
|
Or if you are partial to distribute (nee setuptools) :
|
||
|
|
||
|
python setup_egg.py test
|
||
|
|
||
|
Tests are expected to run through without error. If any do fail, *please* help
|
||
|
the project's user base by filing bug reports at the following URL :-
|
||
|
|
||
|
http://github.com/drkjam/netaddr/issues
|
||
|
|
||
|
Efforts have been made to ensure this code works equally well on both big and
|
||
|
little endian architectures. However, the project does not own or have access
|
||
|
to any big endian hardware (e.g. SPARC or PowerPC) for continual regression
|
||
|
testing. If you happen to work on big endian architectures with Python and wish
|
||
|
to use netaddr *PLEASE* ensure you run the unit tests before you using it in a
|
||
|
production setting just to make sure everything is functioning as expected.
|
||
|
|
||
|
--------------
|
||
|
And finally...
|
||
|
--------------
|
||
|
|
||
|
Share and enjoy!
|