Quill
postgrest
Quill | postgrest | |
---|---|---|
15 | 100 | |
2,136 | 22,282 | |
0.0% | 1.3% | |
9.0 | 9.7 | |
7 days ago | 6 days ago | |
Scala | Haskell | |
Apache License 2.0 | MIT License |
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.
Quill
-
Dear Sir, You Have Built a Compiler (2022)
https://github.com/zio/zio-quill
This library does exactly what you prescribe. Pretty sure under the hood it's using macros with string templates
- Sketch of a Post-ORM
-
Why use Spark?
But I can connect to Postgress with something like Quill and run sophisticated queries to fetch data. Which then got me thinking, what is the difference between using Spark to connect to the database and using something like Quill or your normal pure JDBC driver?
-
What's the point of opaque type aliases (and are they actually sound)?
Just as an example, say you are using quill ( https://getquill.io/ ) to query your database.
- I want to move to Scala 3, but I'm not sure what libraries to use
-
Query DSL in Scala ?
I think Quill is the closest to your request: https://github.com/zio/zio-quill
-
Doobie tutorial: databases and pure FP in Scala
If this still looks like too much hassle, you can always go a bit higher-level and use something like Quill, which is also a powerful approach that uses a different, more ORM-like style.
-
Ask HN: What cutting-edge technology do you use?
I'm using it mostly for full-stack web development with ScalaJS (https://www.scala-js.org) in the frontend (https://outwatch.github.io/docs/readme.html) and in the backend with AWS lambdas.
The ecosystem is currently in the process of porting all the libraries to Scala 3. So if you're new to Scala, I'd recommend to start with Scala 2, which is rock-solid and already very powerful.
I never worked with SQLAlchemy. But on the scala database side, popular libraries are Doobie (https://tpolecat.github.io/doobie) and Quill (https://getquill.io). Keep in mind that these are for Scala on the JVM. On the ScalaJS side I'm using the javascript library pg. But I'd like to try if it works well with Prisma soon.
The nice thing about ScalaJS is, that you can use Javascript libraries. And if there are typescript facades, then you can transpile these to Scala and use them in a type safe way (https://scalablytyped.org).
-
Fp libraries that target scala 3 exclusively?
I know that libraries like Scodec and shapeless were rewritten practically from scratch for Scala 3, taking advantage of the next syntax and internals, as well as protoquill - a Scala 3 implementation of Quill.
-
Best Scala framework / libraries out there ?
Akka HTTP, Cats, Quill, ninny, Monix Observable, mill.
postgrest
-
Supabase – General Availability Week
hey hn, supabase ceo her
we just announced GA, after ~4 years of beta. for those who don't know: supabase is a postgres hosting company. we also host other open source "backend" tools that make it easy to get started with postgres (tools like PostgREST for auto-generate APIs [0])
we owe a lot to the HN community. you launched us 4 years ago [1], when we were just a few developers. since then HN has been a staple in our journey, one of the best sources of product feedback [2]
the GA badge is mostly to signify organizational readiness. we're at a stage where we can take any profile of customer. we have a support team that works 24/7, and a success team that will help customers improve their postgres usage. we released our Index Advisor [3] yesterday, and we'll be releasing a few more products this week that helps customer with performance and security.
on a personal note: i read HN most days, and love going through the ShowHN's to see what devs are building. thanks for being an awesome community and my favorite place to lurk on the internet. i'll stick around to answer any questions
[0] PostgREST: https://postgrest.org
[1] Launch: https://news.ycombinator.com/item?id=23319901
[2] HN journey: https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
[3] Index Advisor: https://news.ycombinator.com/item?id=40028111
-
The Many Ways Not to Build an API
If you use PostgreSQL and are proficient with using its row-level security feature, you can choose from several tools/services built above RLS, including Supabase, PostgREST, and PostGraphile. They all provide a way to expose database CRUD as a web API, assuming you've configured the RLS rules to properly secure the access.
- Soul: A SQLite REST and Realtime Server
-
Build a simple project management app with Neon, PostgREST, and DigitalOcean
wget 'https://github.com/PostgREST/postgrest/releases/download/v11.2.0/postgrest-v11.2.0-linux-static-x64.tar.xz'
-
Single Software Developer Projects
SupaBase is entirely based upon PostgREST. In fact, PostgREST is arguably 49% of their value proposition according to their own website. The other 49% is PostgreSQL. PostgreSQL of course is a super mature database, and some would argue the best RDBMS on the planet, so let's ignore that part for a moment, and consider it a mature thing and move on to PostgREST.
-
Oink: An API for PHP in a single file
You don't need this PHP snippet:
To get the same functionality without the extra step, simply use PostgREST [1]
[1] https://postgrest.org/
- Ask HN: Popular open source tool originally written in Haskell?
-
Use PostgREST and HTMX to Build RESTful APIs from PostgreSQL Databases
PostgREST is a standalone web server that turns your PostgreSQL database into a RESTful API using the database's structural constraints and permissions to define the API's endpoints and operations. In this tutorial, you will create a simple note-taking app by leveraging PostgREST to construct a RESTful API for the app and using htmx to deliver HTML content.
-
We built our customer data warehouse all on Postgres
You might find some info in the docs of PostgREST [1] or in the previous discussions on HN about it [2].
For the versioning, I just have a git repo where I keep every role, schema, table, view, function, trigger, etc. definitions. Every time I change something in the database I first change it in the git repo too to have an history.
[1] https://postgrest.org
[2] https://hn.algolia.com/?q=postgrest
-
Pandoc
Don't know if you would call this a "program" but PostgREST is written is Haskell too.
https://github.com/PostgREST/postgrest
What are some alternatives?
Slick - Slick (Scala Language Integrated Connection Kit) is a modern database query and access library for Scala
Hasura - Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.
doobie - Functional JDBC layer for Scala.
supabase - The open source Firebase alternative.
ScalikeJDBC - A tidy SQL-based DB access library for Scala developers. This library naturally wraps JDBC APIs and provides you easy-to-use APIs.
postgres-websockets - PostgreSQL + Websockets
Phantom - Schema safe, type-safe, reactive Scala driver for Cassandra/Datastax Enterprise
Appwrite - Build like a team of hundreds_
Clickhouse-scala-client - Clickhouse Scala Client with Reactive Streams support
gotrue - An SWT based API for managing users and issuing SWT tokens.
zio-protoquill - Quill for Scala 3
TimescaleDB - An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.