Comcast/ip4s

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

Scala

232

1,436 commits

updated Jul 13, 2026

See the code

README

Published Artifact javadoc

ip4s: IP Addresses for Scala, Scala.js & Scala Native

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 Scala, Scala.js and Scala Native

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

As of 1.4, ip4s depends on cats and provides type class instances directly in data type companion objects. For Scalaz support, we recommend shims.

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.

functional-programming
scala
scalajs

Contributors

mpilquist

794 commits

scala-steward

530 commits

armanbilge

68 commits

matthughes

22 commits

Comcast/ip4s

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

Scala

232

1,436 commits

updated Jul 13, 2026

See the code

README

Published Artifact javadoc

ip4s: IP Addresses for Scala, Scala.js & Scala Native

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 Scala, Scala.js and Scala Native

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

As of 1.4, ip4s depends on cats and provides type class instances directly in data type companion objects. For Scalaz support, we recommend shims.

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.

functional-programming
scala
scalajs

Contributors

mpilquist

794 commits

scala-steward

530 commits

armanbilge

68 commits

matthughes

22 commits

Languages

Scala

100.0%