Skip to main content

IP-specific methods for akimbo

Project description

Akimbo-ip

Extension enabling fast vector processing of IPv4 and IPv6 values within nested/ragged columns of dataframes.

(experimental)

Installation

Run one of the following

> pip install git+https://github.com/intake/akimbo-ip  # dev version
> pip install akimbo-ip  # released version

Model

  • IPv4 addresses are (fixed) length 4 bytestrings, but can be represented by any 4-bye value, e.g., uint32 or fixed-4-length list of uint8
  • IPv6 addresses are (fixed) length 16 bytestrings or fixed-16-length list of uint8
  • Networks are records with an IPv4 or IPv6 field (nominally "address") and a uint8 field for the prefix length (nominally "prefix"). The field names can be overidden.

We can convert between hostmasks, netmasks and prefix lengths. Some methods require composite types like list-of-addresses, see the individual docstrings.

As with the normal functioning of akimbo, you can indicate which parts of a nested structure should be with the where= kwargs to any method.

Usage

>>> import akimbo.pandas
>>> import akimbo_ip

This will anable the .ak accessor for pandas series and dataframes (or pick a different dataframe library) and a subaccessor .ak.ip which makes available several methods that act on IP addresses and network.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

akimbo_ip-0.2.0.tar.gz (15.7 kB view hashes)

Uploaded Source

Built Distributions

akimbo_ip-0.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (336.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

akimbo_ip-0.2.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (343.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

akimbo_ip-0.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (336.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

akimbo_ip-0.2.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (343.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

akimbo_ip-0.2.0-cp312-none-win_amd64.whl (183.7 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

akimbo_ip-0.2.0-cp312-none-win32.whl (171.9 kB view hashes)

Uploaded CPython 3.12 Windows x86

akimbo_ip-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (335.9 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

akimbo_ip-0.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (345.1 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.5+ i686

akimbo_ip-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (286.4 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

akimbo_ip-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl (287.7 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

akimbo_ip-0.2.0-cp311-none-win_amd64.whl (183.4 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

akimbo_ip-0.2.0-cp311-none-win32.whl (171.9 kB view hashes)

Uploaded CPython 3.11 Windows x86

akimbo_ip-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (336.6 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

akimbo_ip-0.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (343.1 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

akimbo_ip-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (287.2 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

akimbo_ip-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl (288.6 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

akimbo_ip-0.2.0-cp310-none-win_amd64.whl (183.6 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

akimbo_ip-0.2.0-cp310-none-win32.whl (172.0 kB view hashes)

Uploaded CPython 3.10 Windows x86

akimbo_ip-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (336.2 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

akimbo_ip-0.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (343.1 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

akimbo_ip-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (287.3 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

akimbo_ip-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl (288.5 kB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

akimbo_ip-0.2.0-cp39-none-win_amd64.whl (183.9 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

akimbo_ip-0.2.0-cp39-none-win32.whl (172.3 kB view hashes)

Uploaded CPython 3.9 Windows x86

akimbo_ip-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (337.2 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

akimbo_ip-0.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (344.1 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ i686

akimbo_ip-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (287.7 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

akimbo_ip-0.2.0-cp39-cp39-macosx_10_12_x86_64.whl (289.0 kB view hashes)

Uploaded CPython 3.9 macOS 10.12+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page