Robust & mature SQL
Lightweight & explicit
Practical API for
For applications using asyncpg directly,
GINO adds the ingredient of building SQLs
conveniently with SQLAlchemy core.
GINO provides SQLAlchemy-like Engine
with async APIs.
GINO could load data into POPOs
(Plain Old Python Objects) for
easier data access.
I built GINO because I found it difficult to access database in Python with asyncio in 2017, and I wanted all three of explicitness, development performance and runtime performance in a single library.
Following GNU’s naming style, GINO is recursively defined as GINO Is Not ORM, indicating that it’s almost an ORM but refuses to inherit the implicit behaviors found in typical ORMs.