Wanted to share the project I've worked on for more than a year. The core was done last summer but since then I couldn't find time to implement all the functionality I had in mind. But a few months ago, I made myself sit down and plan the introduction of the remaining things.
And with the release of 0.7.0 I can say that 85 percent is done and I'm ready to share it.
I wrote a Python package which serves as a layer on top of SQLAlchemy and allows you to write Django-style queries. The idea came from work where we had an additional helper file which had methods for select, filters and other simple queries. When we didn't use those helper methods we wrote queries using the SQLAlchemy syntax which took a lot of time and code space. Especially the fact that you need to specify a model in filtering.
In the end I decided to move all those helper methods to a package thereby we can just import them from one place. Django style format was selected because, personally, I found it easy to read and implement. The queries which took several lines of code including sometimes opening a session, writing filter clause with the actual model names now take fewer lines.
The package support async and sync SQLAlchemy. A session can be opened using sessionmaker or you can use your own session and manage it. Meaning it can be used in Flask or FastApi or any other framework. Additionally it has methods like create, update, delete and bulk versions of them.
In our case, it saved a lot of time and improved reliability because testing is additionally done on the package's level.
I hope you will find this package useful!
Looking forward to feedback and ideas how I can improve it more!