Skip to main content

Show HN: DbDeclare – A Python declarative layer for your database https://ift.tt/rqwMl7T

Show HN: DbDeclare – A Python declarative layer for your database Hi HN! I made and just published v0.0.1 of DbDeclare. I use Python a lot, and interact with Postgres a lot. I like using SQLAlchemy, and I love Alembic. Those wonderful tools primarily operate on tables, though, and I often find myself writing custom code to declare what databases, roles, schemas, privileges, etc. I want, and I have a hard time updating them reliably and in a repeatable fashion. That's where DbDeclare aims to help: declare what you want in your cluster (in addition to SQLAlchemy-defined tables and columns) in-code, alongside your tables. There is a lot this can't do yet (thus the v0.0.1), but I think there's a decent foundation here to build on and eventually have really nice features like autogenerating change statements between your in-code definition and what is actually in your database cluster (like Alembic). This is also my first attempt at building an open-source project, so I'm sure there are plenty of mistakes. Please feel free to provide feedback, I'd love to make it better. For what it's worth, I'm aware that you can do some of this at the infrastructure-as-code layer using a tool like Terraform/Pulumi. My personal preference is to have all this sit closer to my tables rather than my infrastructure, so here we are. Anyway, let me know what y'all think. Thanks! https://ift.tt/iHVhG5t February 27, 2023 at 10:04PM

Comments

Popular posts from this blog

Show HN: KittenDNS – easy to setup, rule engine, LetsEncrypt compatible https://ift.tt/JEbrc0i

Show HN: KittenDNS – easy to setup, rule engine, LetsEncrypt compatible My goal was to create a DNS server as simple as the LDAP server I've been contributing to (glauth) and here it is: https://ift.tt/i6S4IHQ A few things to know about it: - It is easy to configure using a Toml file - I am using it to bail my coredns/etcd instances when under attack - (yes, it also works as a service location server) - It comes with a simple, plain English, rule engine that doesn't do much at this point - It can be used with LetsEncrypt. I use it to retrieve certificates for my home servers. - RFC: all the nice ones :) Anyway, feedback is welcome. May 16, 2022 at 03:34AM