The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

ipaddress

CRAN status R build status Coverage status

ipaddress provides data classes and functions for working with IP addresses and networks. Its interface is inspired by the Python ipaddress module.

Here are some key features:

For data visualization of IP addresses and networks, check out the ggip package.

Installation

Install the released version from CRAN with:

install.packages("ipaddress")

Install the development version from GitHub with:

# install.packages("remotes")
remotes::install_github("davidchall/ipaddress")

Usage

Use ip_address() and ip_network() to create standalone vectors or data frame columns.

library(tibble)
library(ipaddress)

address <- ip_address(c("192.168.0.1", "2001:db8::8a2e:370:7334"))
network <- ip_network(c("192.168.100.0/22", "2001:db8::/80"))

tibble(address, network)
#> # A tibble: 2 × 2
#>                   address          network
#>                 <ip_addr>       <ip_netwk>
#> 1             192.168.0.1 192.168.100.0/22
#> 2 2001:db8::8a2e:370:7334    2001:db8::/80

It looks like we’ve simply stored the character vector, but we’ve actually validated each input and stored its native bit representation. When the vector is displayed, the print() method formats each value back to the human-readable character representation. There are two main advantages to storing IP data in their native bit representation:

Read vignette("ip-data") to learn more about these vector classes. For a demonstration of common recipes using ipaddress vectors and functions, see vignette("recipes").


Please note that the ipaddress project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.