NOT ORM hydrator
项目描述
Mayim
NOT ORM Python hydrator
什么是Mayim?
最简单的描述可能是称其为单向ORM。也就是说,它不会为您生成SQL语句。将其视为BYOQ(自带查询)。
为什么?
我并不反对ORM,事实上,它们在许多情况下都发挥着重要作用,可能是解决问题的正确工具。我只是更喜欢尽可能不使用它们。相反,我更希望控制自己的SQL语句。
然而,典型的权衡是需要更多的努力才能将SQL查询转换为对象。Mayim旨在解决这个问题。
入门
pip install mayim[postgres]
import asyncio
from typing import List
from mayim import Mayim, PostgresExecutor, sql
from dataclasses import dataclass
@dataclass
class Person:
name: str
class PersonExecutor(PostgresExecutor):
@sql("SELECT * FROM people LIMIT $limit OFFSET $offset")
async def select_all_people(
self, limit: int = 4, offset: int = 0
) -> List[Person]:
...
async def run():
executor = PersonExecutor()
Mayim(dsn="postgres://...")
print(await executor.select_all_people())
asyncio.run(run())
文档
框架支持
开箱即用,Mayim附带对Quart、Sanic和Starlette应用程序的支持扩展。有关更多信息,请参阅文档。
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
mayim-1.1.0.tar.gz (20.7 kB 查看哈希值)
构建的发行版
mayim-1.1.0-py3-none-any.whl (30.3 kB 查看哈希值)
关闭
mayim-1.1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 43c002dda52b584c6931841f56690181e75e97b0316fdf533d82f1d964e7ce29 |
|
MD5 | 88efd5b86fef326d0dff9899f841ae1f |
|
BLAKE2b-256 | 2fcf142038eb1ff39d76bf35692e7057b1f47864edd3e042992b01464053de02 |
关闭
mayim-1.1.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 918bfca7d7b34d7957127576fa0701b1517b5eeefb1f0183f3561b510d1bcc62 |
|
MD5 | 1fe9739eb75db75622e94a7e5d17831d |
|
BLAKE2b-256 | 462271ef50447d7b8e9ae12de4f4f2187ec49883faed7b38e3f457dcd71a544e |