Agent Skills
› justrach/turboAPI
› turbopg
turbopg
GitHubTurboPG 是用于独立 PostgreSQL 查询的 Python 客户端,支持参数化查询、连接池及上下文管理器。适用于在 TurboAPI 路由外编写数据库代码、运行迁移、数据种子或构建脚本。
触发场景
需要执行独立的 PostgreSQL 查询
编写数据库迁移脚本
进行数据填充(seeding)
构建与 Postgres 交互的外部脚本
安装
npx skills add justrach/turboAPI --skill turbopg -g -y
SKILL.md
Frontmatter
{
"name": "turbopg",
"description": "Use TurboPG for standalone Postgres queries. Use when writing database code outside of TurboAPI routes, running migrations, seeding data, or building scripts that talk to Postgres."
}
TurboPG — Standalone Postgres Client
TurboPG ships with TurboAPI and works independently for any Python Postgres work.
Quick start
from turbopg import Database
db = Database("postgres://user:pass@localhost/mydb", pool_size=16)
# Multiple rows
users = db.query("SELECT * FROM users WHERE age > $1 LIMIT $2", [18, 10])
# Single row (or None)
user = db.query_one("SELECT * FROM users WHERE id = $1", [42])
# Execute (INSERT/UPDATE/DELETE) — returns affected row count
db.execute("INSERT INTO users (name, email) VALUES ($1, $2)", ["Alice", "a@b.com"])
affected = db.execute("DELETE FROM users WHERE id = $1", [99])
# Context manager
with Database("postgres://...") as db:
count = db.query_one("SELECT count(*) as n FROM users")
Parameters
Use $1, $2, ... for parameterized queries (Postgres-native, SQL injection safe):
db.query("SELECT * FROM users WHERE name = $1 AND age > $2", ["Alice", 18])
Return types
query()→list[dict]— each row as a dict with column names as keysquery_one()→dict | None— first row or Noneexecute()→int— number of affected rows- Decimals →
float, datetimes → ISO string, memoryview → decoded string
Connection modes
- With TurboAPI installed: Uses Zig pg.zig connection pool (zero overhead for TurboAPI db routes)
- Standalone: Falls back to psycopg2/psycopg (requires
pip install psycopg2-binary)
Unix sockets
db = Database("postgres://user:pass@/var/run/postgresql/mydb")
With TurboAPI
TurboPG powers TurboAPI's db_get, db_post, db_list, db_delete, and db_query decorators. The Zig-native path runs the entire request cycle without Python.
版本历史
- 0ef167c 当前 2026-07-25 10:01


