doobie
circe
Our great sponsors
doobie | circe | |
---|---|---|
12 | 12 | |
2,117 | 2,473 | |
- | 0.4% | |
8.8 | 7.4 | |
16 days ago | 6 days ago | |
Scala | Scala | |
MIT License | Apache License 2.0 |
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.
doobie
-
Grasping the concepts and getting them down to earth
Most important/known: * https://http4s.org/ - an HTTP client/server * https://github.com/typelevel/fs2 - streaming * https://github.com/tpolecat/doobie - JDBC
-
doobie map to PostGIS Point
So you need to use PGgeography scala type and import another set of implicits: https://github.com/tpolecat/doobie/blob/main/modules/postgres/src/main/scala/doobie/postgres/pgisgeographyinstances.scala
-
mod team resignation by BurntSushi · Pull Request #671 · rust-lang/team
Developer removing a library integration due to above politics
- Remove Quill Integration
-
It's unsafe to depend on Typelevel Libraries
Doobie removes Quill integration in order to make some sort of political protest. The Quill developers are harassed on Twitter.
- Why is tpolecat against ZIO?
- Removes integration with Quill, which is now part of the ZIO organization, which I will not support
-
Zio / Zionomicon : is it worth it ?
The libraries doobie and skunk are more closely associated with cats. They both use cats-effect and fs2 for implementing database connectiona and input-output operations. The doobie library is a wrapper on JDBC, and as such is compatible with many DBMS, such as MySQL, PostgreSQL, H2, Oracle... Whereas skunk is specific to PostgreSQL, and is based on using the server protocol of that database.
-
Hiding Doobie's ConnectionIO implementation detail
You may find this issue helpful. tl;dr you can easily make a Transactor with the void Strategy that just ignores the null Connection. But I’m with Rob: at that point, you’re not actually testing anything.
circe
-
Database abstraction library which allows a clean domain model
Using Circe so I define some classes that contain my custom Encoder[BusinessObject] in a file and I use that whenever I want to save/store a record, or handle a web request or respose. I also represent my mongo queries as JSON objects that I can freely build then pass to the driver.
- Scala Library To Generate Case Classes for JSON
-
What companies/startups are using Scala (open source projects on github)?
Circe adopters should be using Scala https://github.com/circe/circe
-
what popular companies uses Scala?
If you look at Circe's github repo you will see a very large list of very recognizable companies, that should give you some idea. Circe isn't the ONLY Json parsing library, but it is probably the most popular, so - should give you a rough idea of the types and variety of companies using Scala.
-
Every time I sit down to use an HTTP client and JSON parser, I get really frustrated
Has the worst error messages I've ever seen for a parser. "Attempt to decode value on failed cursor" is not helpful when all you have is missing fields. Has been an issue for 5 years.
-
It's unsafe to depend on Typelevel Libraries
Circe tries to drop Scala 2.12 support in retaliation for not enough users paying them.
-
Building a REST API in Scala 3 using Iron and Cats
Circe: https://circe.github.io/circe/
-
[Circe] Renaming fields for value classes during decoding
PR for the same functionality in Scala3: https://github.com/circe/circe/pull/1800
-
Scala 3.0 serialization
Otherwise I tend to just use ZIO-JSON or Circe both of which have been updated for Scala 3.
-
Performance of 12 JSON parsers for Scala
I've updated results of benchmarks of 12 JSON parsers for Scala: - AVSystem's scala-commons - Borer - Circe - DSL-JSON - Jackson - jsoniter-scala - Play-JSON, - play-json-jsoniter - Spray-JSON - uPickle - weePickle - zio-json
What are some alternatives?
Slick - Slick (Scala Language Integrated Connection Kit) is a modern database query and access library for Scala
json4s - JSON library
Quill - Compile-time Language Integrated Queries for Scala
spray-json - A lightweight, clean and simple JSON implementation in Scala
skunk - A data access library for Scala + Postgres.
play-json
ScalikeJDBC - A tidy SQL-based DB access library for Scala developers. This library naturally wraps JDBC APIs and provides you easy-to-use APIs.
zio-json - Fast, secure JSON library with tight ZIO integration.
Anorm - The Anorm database library
jackson-module-scala - Add-on module for Jackson (https://github.com/FasterXML/jackson) to support Scala-specific datatypes
Clickhouse-scala-client - Clickhouse Scala Client with Reactive Streams support
jsoniter-scala - Scala macros for compile-time generation of safe and ultra-fast JSON codecs