Catalog PyPI
PACKAGE EXPLORERView in registry

aggregate-prefixes

PyPI
Versions collected1
Direct dependencies0From release 0.7.2
Last observed21 Oct, 09:03 UTC

README

Version 0.7.2 documentation

aggregate-prefixes

Fast IPv4 and IPv6 prefix aggregator written in pure Python (no dependency required).

Aggregate-prefixes parses a list of unsorted IPv4 or IPv6 prefixes from either a file or SDTIN and returns a sorted list of aggregates to STDOUT. Errors go to STDERR.

Install

From pip

pip install aggregate-prefixes

From poetry

poetry add git+https://github.com/lamehost/aggregate-prefixes.git

From brew

brew install lamehost/aggregate-prefixes/aggregate-prefixes

From source

git clone https://github.com/lamehost/aggregate-prefixes.git
cd aggregate_prefixes
poetry build
pip install dist/aggregate_prefixes-0.7.2-py3-none-any.whl

CLI Syntax for executable

usage: aggregate-prefixes [-h] [--max-length LENGTH] [--strip-host-mask] [--truncate MASK] [--verbose] [--version] [prefixes]

Aggregates IPv4 or IPv6 prefixes from file or STDIN

positional arguments:
  prefixes              Text file of unsorted list of IPv4 or IPv6 prefixes. Use '-' for STDIN.

options:
  -h, --help            show this help message and exit
  --max-length LENGTH, -m LENGTH
                        Discard longer prefixes prior to processing
  --strip-host-mask, -s
                        Do not print netmask if prefix is a host route (/32 IPv4, /128 IPv6)
  --truncate MASK, -t MASK
                        Truncate IP/mask to network/mask
  --verbose, -v         Display verbose information about the optimisations
  --version, -V         show program's version number and exit

Usage as module

$ python
Python 3.9.1+ (default, Feb  5 2021, 13:46:56)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> from aggregate_prefixes import aggregate_prefixes
>>> list(aggregate_prefixes(['192.0.2.0/32', '192.0.2.1/32', '192.0.2.2/32']))
['192.0.2.0/31', '192.0.2.2/32']
>>>

Python version compatibility

Tested with:

  • Python 3.9
  • Python 3.10
  • Python 3.11
  • Python 3.12

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.7.219 Jun 20240

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
lamehost/aggregate-prefixes

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 09:03 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:dffd55014fb0e8002bad022f755a998cba34bb938aab69f4ab1182e324dd353e