Ask HN: Python ORM Solutions in 2025?
We are currently using SQLAlchemy extensively for Python to PostgreSQL interactions. I have found the experience almost universally terrible, there is very little static type hinting, unexpected API choices and runtime errors.
I was expecting there to be a popular, modern, Pydantic like ORM tool for defining well typed DB tables in Python and was very surprised to find that not the case. After spending some time looking into this it seems there are a few very young projects (tortoise, piccolo etc) but no well-known, stable solution.
What are folks using for DB interactions in Python and what has your experience been?
SQLAlchemy is still arguably the most featureful and robust ORM in Python (although it is much more than an ORM). It is likely the best default choice unless you're already working within a framework that offers its own ORM.
SQLAlchemy does support type annotations [0], am curious what issues you're running into there?
[0]: https://docs.sqlalchemy.org/en/20/orm/extensions/mypy.html
[dead]