splain
requests-scala
splain | requests-scala | |
---|---|---|
2 | 4 | |
369 | 702 | |
- | 1.0% | |
5.9 | 4.5 | |
12 days ago | 5 days ago | |
Scala | Scala | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
splain
-
Every time I sit down to use an HTTP client and JSON parser, I get really frustrated
Requires deep knowledge of implicits and how to debug them. Which if you have nested data structures is basically impossible without something like Splain.
-
Getting Comfortable with Implicits
In Scala 2.13 and above, there is a compiler switch that will print out the exact implicit you are missing at compile time and why (https://docs.scala-lang.org/overviews/compiler-options/errors.html). Prior to that in scala 2, you need the tek/splain compiler plugin (https://github.com/tek/splain).
requests-scala
-
Scala opensource projects
There's the Li Haoyi's ecosystem of tools and libraries that's fun to hack on, has a low entry-bar (with a design philosophy of using the least complex abstractions for the job), and has few libs like requests and cask that may appeal to those liking some python minimalism. That's not the fastest way to learn hardcore FP, that's not the worst either.
-
Scala Toolkit makes Scala powerful straight out of the box
Another thing that caught my attention is the choice for HTTP client. If the authors wanted to go with the simplest thing, they could have picked requests-scala (from the com-lihaoyi family of libraries). If they wanted to go with full blown Scala FP, they could have chosen http4s client (Ember). Sttp awkwardly sits in the middle being neither.
-
Scala vs Java/C# code examples
Finally, to give you an example of how simple Scala can be when you get rid of all the fancy stuff, take a look at the examples in Li Haoyi's requests-scala library, a port of the excellent requests Python library. I challenge anyone to call that code complex.
-
Every time I sit down to use an HTTP client and JSON parser, I get really frustrated
http4s (either with Blaze or Ember) is great, but you may need to think a bit about what you're doing. Maybe https://github.com/com-lihaoyi/requests-scala will be the best choice for your particular situation?
What are some alternatives?
sbt-dependency-check - SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs). :rainbow:
Akka HTTP - The Streaming-first HTTP server/module of Akka
better-monadic-for - Desugaring scala `for` without implicit `withFilter`s
Finch.io - Scala combinator library for building Finagle HTTP services
sbt-revolver - An SBT plugin for dangerously fast development turnaround in Scala
jefe - Manages installation, updating, downloading, launching, error reporting, and more for your application.
xsbt-web-plugin - Servlet support for sbt
Http4s - A minimal, idiomatic Scala interface for HTTP
sbt-sonatype - A sbt plugin for publishing Scala/Java projects to the Maven central.
Spray - A suite of scala libraries for building and consuming RESTful web services on top of Akka: lightweight, asynchronous, non-blocking, actor-based, testable
sbt-updates - sbt plugin that can check Maven and Ivy repositories for dependency updates
sttp - The Scala HTTP client you always wanted!