summaryrefslogtreecommitdiff
path: root/docs/source/introduction.rst
blob: 2a7cfd58bea70bca6e4bec71d08acf019e77cef6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
============
Introduction
============

A Python library for representing and manipulating network addresses.

Provides support for:

Layer 3 addresses

- IPv4 and IPv6 addresses, subnets, masks, prefixes
- iterating, slicing, sorting, summarizing and classifying IP networks
- dealing with various ranges formats (CIDR, arbitrary ranges and globs, nmap)
- set based operations (unions, intersections etc) over IP addresses and subnets
- parsing a large variety of different formats and notations
- looking up IANA IP block information
- generating DNS reverse lookups
- supernetting and subnetting

Layer 2 addresses

- representation and manipulation MAC addresses and EUI-64 identifiers
- looking up IEEE organisational information (OUI, IAB)
- generating derived IPv6 addresses

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.5.x through 3.5.x
- IPython (for netaddr interactive shell)

Installation
------------

See :doc:`installation` for details.

Documentation
-------------

This library has comprehensive docstrings and a full set of project
documentation (including tutorials): https://netaddr.readthedocs.io/en/latest/

Tests
-----

netaddr requires py.test (https://pytest.org/).

To run the test suite, clone the repository and run:

    python setup.py test

If any of the tests fail, *please* help the project's user base by filing
bug reports on the netaddr issue tracker:

- https://github.com/drkjam/netaddr/issues

Finally...
----------

Share and enjoy!