Giter VIP home page Giter VIP logo

rayiik / iptools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hrbrmstr/iptools

0.0 0.0 0.0 13.26 MB

:fork_and_knife: A toolkit for manipulating, validating and testing IP addresses and ranges, along with datasets relating to IP addresses. While it primarily has support for the IPv4 address space, more extensive IPv6 support is intended.

Home Page: https://hrbrmstr.github.io/iptools/

License: Other

R 15.97% C++ 18.60% Scilab 65.43%

iptools's Introduction

DOI Travis-CI Build Status Project Status: Active - The project has reached a stable, usable state and is being actively developed. CRAN_Status_Badge downloads

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 and numeric_to_ip;
  • Validating and classifying IP addresses with ip_classify;
  • Range generation and checking with range_boundaries, range_generate and validate_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.

iptools's People

Contributors

hrbrmstr avatar tdsmith avatar kevinushey avatar ironholds avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.