python-gino.org (original) (raw)

GINO is a non-typical
object-relational mapping
library in Python for asyncio.

GitHub Project

asyncpg

High performance
PostgreSQL driver

SQLAlchemy

Robust & mature SQL
rendering engine

No Surprise

Lightweight & explicit
architecture

Being Pythonic

Practical API for
development performance

HIGHLIGHTS

GINO is an engineering product,
built on top of popular tools,
tailored for asyncio.

Read More

ARCHITECTURE

Query Builder

For applications using asyncpg directly,
GINO adds the ingredient of building SQLs
conveniently with SQLAlchemy core.

Async SQLAlchemy

GINO provides SQLAlchemy-like Engine
with async APIs.

Object Loader

GINO could load data into POPOs
(Plain Old Python Objects) for
easier data access.

Read More

SQLAlchemy core

GINO Async Wrapper

GINO Loader

GINO Dialect

asyncpg

SHOWCASE

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.

ROADMAP

1.0 Release

Redo packaging and automation


Embed aiocontextvars and move extensions out



Release candidates


Better documentation


Blog post


Cached prepared statement


MySQL support


Better typing support


SQLAlchemy 1.4 SQLAlchemy 2 support