powderkeg
sqlc-gen-python
powderkeg | sqlc-gen-python | |
---|---|---|
1 | 1 | |
158 | 82 | |
0.0% | - | |
10.0 | 6.6 | |
over 5 years ago | 14 days ago | |
Clojure | Go | |
Eclipse Public License 1.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.
powderkeg
-
Python: Just Write SQL
As a data engineer, the pattern the OP shares is very familiar. I find it much preferable to use of ORMs for wide variety of reasons. However, I view implementing with SQL as an antiquated problem rather than a pragmatic feature. The evolution of this pattern would be to integrate database querying into languages more directly and eliminate SQL entirely. While this could be achieved in Python, I find that a language like Clojure, via functional programming (FP) primitives and transducers, is a natural candidate, particularly for JVM implemented databases. Rather than encapsulating SQL via query building or ORM based APIs, an FP core could be integrated into database engines to allow, via transducers, complex native forms to be executed directly across database clusters. Apache Spark is an analog of this. In particular the Clojure project, powderkeg (https://github.com/HCADatalab/powderkeg) demonstrates the potential of utilizing transducers in a database cluster context.
sqlc-gen-python
-
Python: Just Write SQL
If you want to try out something cool, check out
https://github.com/sqlc-dev/sqlc
It's written in Go and used to convert sql migrations and queries into a typesafe code that you use access your database.
It currently has a plugin for Python that's in Beta, but what essentially does something similar to what this post is saying.
https://github.com/sqlc-dev/sqlc-gen-python
You write your migrations, and queries and a config file and it does the rest.
What are some alternatives?
pugsql - A HugSQL-inspired database library for Python
typed-sql
mini_sql - a minimal, fast, safe sql executor
squiller - Generate boilerplate from annotated SQL queries
sql-template-tag - ES2015 tagged template string for preparing SQL statements, works with `pg`, `mysql`, and `sqlite`
Sequel - Sequel: The Database Toolkit for Ruby
sqlz - Simple struct/slice/chan mapper for SQL rows.
sqlx - general purpose extensions to golang's database/sql
yesql - A Clojure library for using SQL.