hrbrmstr / Iptools
Programming Languages
Labels
Projects that are alternatives of or similar to Iptools
Easy IP address handling with iptools
iptools
is a set of tools for working with IP addresses. The aim is to
provide functionality not presently available with any existing R
package and to do so with as much speed as possible. To that end, many
of the operations are written in Rcpp
and require installation of the
AsioHeaders
package. A current, lofty goal is to mimic most of the
functionality of the Python iptools
module and make IP addresses first
class R objects.
Available on CRAN
NEW FOR 0.3.0.x+!
Thanks to @eddelbuettel weβve thinned down this version of iptools
and
it should also work on Windows now!
Functionality
The package primarily supports IPv4 addresses due to deficiencies in Rβs support for large numbers, but there is IPv6 support for some functionality, and we plan to build more in as R improves and as we do. Functionality includes:
- Converting IP addresses to their numeric form, and then back to
strings, with
ip_to_numeric
andnumeric_to_ip
; - Validating and classifying IP addresses with
ip_classify
; - Range generation and checking with
range_boundaries
,range_generate
andvalidate_range
,country_ranges
, and; - Several inbuilt IP-related datasets.
For more information, see the vignettes on the
functionality
and the
datasets
within iptools
.
Installation
To install the development version:
devtools::install_github("hrbrmstr/iptools")
# or
install.packages("iptools")
iptools
depends on the
AsioHeaders package which
is now in CRAN.
Test Results
library(iptools)
library(testthat)
date()
#> [1] "Sun Oct 14 11:29:55 2018"
test_dir("tests/")
#> β | OK F W S | Context
#> ββ testthat results ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
#> OK: 82 SKIPPED: 0 FAILED: 0
#>
#> ββ Results ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
#> Duration: 0.4 s
#>
#> OK: 0
#> Failed: 0
#> Warnings: 0
#> Skipped: 0
iptools Metrics
Lang | # Files | (%) | LoC | (%) | Blank lines | (%) | # Lines | (%) |
---|---|---|---|---|---|---|---|---|
C++ | 4 | 0.13 | 846 | 0.52 | 167 | 0.38 | 375 | 0.28 |
R | 20 | 0.67 | 444 | 0.27 | 133 | 0.31 | 638 | 0.47 |
HTML | 2 | 0.07 | 228 | 0.14 | 47 | 0.11 | 2 | 0.00 |
Rmd | 3 | 0.10 | 60 | 0.04 | 57 | 0.13 | 109 | 0.08 |
C/C++ Header | 1 | 0.03 | 37 | 0.02 | 30 | 0.07 | 223 | 0.17 |
Code of Conduct
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.