./net/py-netaddr, Python library for manipulating network addresses

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.3.0, Package name: py312-netaddr-1.3.0, Maintainer: pkgsrc-users

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


Required to run:
[devel/py-setuptools] [lang/python37]

Required to build:
[pkgtools/cwrappers]

Master sites:

Filesize: 2207.523 KB

Version history: (Expand)


CVS history: (Expand)


   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-06-07 13:04:13 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-netaddr: updated to 1.3.0

Release: 1.3.0

Added:

* Add partial address expansion in :class:`IPNetwork` via the ``expand_partial`` \ 
switch,
  this enables opting into pre-1.1.0 behavior

Fixed:

* Fix running the test suite on musl systems
* Fix :class:`IPAddress` IPv6 parsing with :data:`ZEROFILL` enabled
* Fix handling of the :data:`NOHOST` flag in the :class:`IPNetwork` copy constructor
   2024-02-23 12:35:58 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-netaddr: updated to 1.2.1

Release: 1.2.1

Fixed:

* Fix bad version 1.2.0 upload to PyPI – now yanked. No changes to the package.

Release: 1.2.0

Added:

* Add CLI tool subcommand to display :ref:`cli-network-info`.

Changed:

* Support running :ref:`interactive-shell` without IPython installed.

Fixed:

* Explicitly raise ``TypeError`` is a non-string value is passed to \ 
:func:`valid_ipv4`
  or :func:`valid_ipv6`.
   2024-02-16 23:18:45 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-netaddr: updated to 1.1.0

1.1.0
-----

Date: 2024-02-15

Added:

* Add the required Python version to the package metadata (GH :issue:`365`).
* Add :func:`expand_partial_ipv4_address` to the public API.

Fixed:

* Fix ``IPNetwork(...) in IPRange(...)`` false negatives (GH :issue:`157`).
* Fix a few :class:`IPNetwork` slicing edge cases (GH :issue:`214`).
* Fix support for partial IP addresses accidentally left in :class:`IPNetwork` \ 
in 1.0.0.

  When I removed the ``implicit_prefix`` switch I missed the fact that there was some
  partial IPv4 address expansion triggered unconditionally.

  If you need the old behavior use :func:`expand_partial_ipv4_address`.

  Related GH issue: :issue:`110`.
* Fixed an incorrect license classifier in the package metadata.
   2024-02-14 17:32:29 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-netaddr: updated to 1.0.0

Release: 1.0.0
--------------

Date: 2024-02-10

Removed:

* Drop support for Python versions lower than 3.7.
* Remove the flag shorthands: ``N``, ``P`` and ``Z``. Use :data:`NOHOST`, \ 
:data:`INET_PTON`
  and :data:`ZEROFILL` instead.
* Remove abbreviated CIDR format support in :class:`IPNetwork` \ 
(``implicit_prefix=True``),
  use :func:`cidr_abbrev_to_verbose` if you need this behavior.
* Remove the ``IPAddress.is_private`` method.

  There are more precise replacements for subset of the addresses that used to \ 
handled by ``is_private``:

  * :meth:`IPAddress.is_link_local`
  * :meth:`IPAddress.is_ipv4_private_use`
  * :meth:`IPAddress.is_ipv6_unique_local`
  * :meth:`IPAddress.is_global`

  The following address blocks used to be handled by ``is_private`` have no dedicated
  convenience methods and you'll have to handle them manually or request a method
  addition:

  * ``100.64.0.0/10`` – Shared Address Space
  * ``192.0.0.0/24`` – IETF Protocol Assignments (watch out – there are \ 
exceptions in there)
  * ``198.18.0.0/15`` – Benchmarking
  * ``239.0.0.0``-``239.255.255.255`` – ``240.0.0.0/4`` is Reserved, \ 
``239.0.0.0/8`` – unclear

Changed:

* Stop accepting leading zeros when parsing IPv4 addresses in :data:`INET_PTON` mode
  (it's been allowed on some platforms).

  If you need to allow and discard leading zeros use the :data:`ZEROFILL` flag.

  This change will affect implicit conversions from ``str`` in all relevant \ 
contexts. If you need
  to control the IPv4 parsing mode construct :class:`IPAddress` objects explicitly.
* Stop parsing IPv4 addresses permissively (``inet_aton()``-like) by default.

  :data:`INET_PTON` is the default mode.

  If you need to be permissive and parse using ``inet_aton()`` semantics use the
  :data:`INET_ATON` flag.

  This change will affect implicit conversions from ``str`` in all relevant \ 
contexts. If you
  need to control the IPv4 parsing mode construct :class:`IPAddress` objects \ 
explicitly.
* Apply the two changes above to :func:`valid_ipv4` as well.
* Update the address databases to the 2024-02-10 versions.

Fixed:

* Return ``False`` instead of raising :exc:`AddrFormatError` when an empty \ 
string is passed
  to :func:`valid_ipv4` or :func:`valid_ipv6`.
* Fix handling of ``dialect`` provided to :class:`EUI` during copy-construction.
   2024-01-03 07:53:25 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-netaddr: updated to 0.10.1

Release: 0.10.1

Fixed:

* Get rid of some warnings

Deprecated:

* Deprecate the flag shorthands: ``N``, ``P`` and ``Z``. Use :data:`NOHOST`, \ 
:data:`INET_PTON`
  and :data:`ZEROFILL` instead.
* Deprecate importing objects from ``netaddr`` subpackages. Only importing \ 
things from the
  top-level ``netaddr`` namespace is supported, everything else is considered \ 
private.

  This has already been the case but we can use a reminder.
* Deprecate permissive-by-default IPv4 parsing in :func:`valid_ipv4`. The \ 
``inet_pton()``
  semantics (with leading zeros always disallowed) will become the default. Use \ 
:data:`INET_ATON`
  and/or :data:`ZEROFILL` flags if you need the legacy behavior.
   2024-01-01 12:43:26 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-netaddr: updated to 0.10.0

Release: 0.10.0

Added:

* Add an :data:`INET_ATON` flag to explicitly request ``inet_aton()`` IPv4 \ 
parsing semantics
  from :class:`IPAddress`.
* Add an :meth:`IPAddress.is_ipv4_private_use` convenience method.
* Add an :meth:`IPAddress.is_global` convenience method to allow determining if \ 
an address is
  considered globally reachable.
* Add an :meth:`IPAddress.is_ipv6_unique_local` convenience method.

Fixed:

* Improve Python 3.13 compatibility, thank you John Eckersberg.

Deprecated:

* Deprecate Python 3.7 support.
* Deprecate abbreviated CIDR format support in :class:`IPNetwork`
  (``implicit_prefix=True``).
* Deprecate accepting leading zeros when parsing IPv4 addresses in \ 
:data:`INET_PTON` mode
  (it's been allowed on some platforms).

  If you need to allow and discard leading zeros use the :data:`ZEROFILL` flag.

  This change will implicit conversions from ``str`` in all relevant contexts. \ 
If you need
  to control the IPv4 parsing mode construct :class:`IPAddress` objects explicitly.
* Deprecate parsing IPv4 addresses permissively (``inet_aton()``-like) by default.

  :data:`INET_PTON` will become the default mode.

  If you need to be permissive and parse using ``inet_aton()`` semantics use the
  :data:`INET_ATON` flag.

  This change will implicit conversions from ``str`` in all relevant contexts. \ 
If you need
  to control the IPv4 parsing mode construct :class:`IPAddress` objects explicitly.
* Deprecate the :meth:`IPAddress.is_private` method. Migration instructions in the
  documentation.

Other:

* Raise an exception if invalid flags are passed to ``IPAddress``, ``IPNetwork`` \ 
or ``IPRange``.
* Improve the documentation substantially.
* Update the DB files to the latest versions (2023-12-23).
   2023-09-20 09:29:14 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-netaddr: updated to 0.9.0

Release: 0.9.0

Added:

* Add hash capabilities to OUI

Fixed:

* **Backwards incompatible:** Handle RFC 6164 IPv6 addresses (don't reserve first IP
  address in point-to-point subnets) ($267, Damien Claisse)
* **Technically backwards incompatible:** Fix for is_loopback behaviour – consider
  ``IPNetwork('::1/128')`` to be loopback
* Include tutorials in source distributions
* Fix a documentation typo
* Fix print syntax in the documentation to be Python 3 compatible
* Fix the Sphinx syntax in the documentation