comcast / ip4s

Defines immutable, safe data structures for describing IP addresses, multicast joins, socket addresses and similar IP & network related data types

GitHub

Published Artifact Build Status

ip4s: IP Addresses for Scala & Scala.js

This project defines immutable, safe data structures for describing IP addresses, multicast joins, socket addresses and similar IP & network related data types.

There are two defining characteristics of this project that make it different from other similar projects:

  • all data types are immutable and every function/method is referentially transparent (e.g., no accidental DNS lookups by calling InetAddress.getByName(...))
  • published for both Scala and Scala.js

See the guide and ScalaDoc for more details.

Getting Binaries

This library is published on Maven Central under group id com.comcast and artifact id ip4s-core_${scalaBinaryVersion}. Add the following to your SBT build:

libraryDependencies += "com.comcast" %% "ip4s-core" % "version"

Interop

Modules for interopability with cats or Scalaz are available. A series of typeclass instances as well as helper functionality is available in these modules.

Supplemental guides are available for ip4s-cats and ip4s-scalaz.

libraryDependencies += "com.comcast" %% "ip4s-cats" % "version"

libraryDependencies += "com.comcast" %% "ip4s-scalaz" % "version"

Copyright and License

This project is made available under the Apache License, Version 2.0. Copyright information can be found in NOTICE.

Code of Conduct

See the Code of Conduct.