https://github.com/comcast/ip4s
Defines immutable, safe data structures for describing IP addresses, multicast joins, socket addresses and similar IP & network related data types
https://github.com/comcast/ip4s
functional-programming scala scalajs
Last synced: 25 days ago
JSON representation
Defines immutable, safe data structures for describing IP addresses, multicast joins, socket addresses and similar IP & network related data types
- Host: GitHub
- URL: https://github.com/comcast/ip4s
- Owner: Comcast
- License: apache-2.0
- Created: 2018-06-20T12:32:06.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2025-01-19T14:02:25.000Z (3 months ago)
- Last Synced: 2025-04-01T07:44:20.549Z (about 1 month ago)
- Topics: functional-programming, scala, scalajs
- Language: Scala
- Homepage:
- Size: 1.24 MB
- Stars: 223
- Watchers: 9
- Forks: 26
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](http://search.maven.org/#search%7Cga%7C1%7Cip4s-core_3)
[](https://javadoc.io/doc/com.comcast/ip4s-core_3)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 NativeSee the [guide](docs/guide.md) and [ScalaDoc](https://javadoc.io/doc/com.comcast/ip4s-core_3) 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:
```scala
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](https://github.com/djspiewak/shims).
## Copyright and License
This project is made available under the [Apache License, Version 2.0](LICENSE). Copyright information can be found in [NOTICE](NOTICE).
## Code of Conduct
See the [Code of Conduct](CODE_OF_CONDUCT.md).