CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/postgresql-python-best-practices

PostgreSQL patterns for Python with psycopg and asyncpg — connection pooling,

99

1.15x
Quality

99%

Does it follow best practices?

Impact

99%

1.15x

Average score across 5 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

Evaluation results

99%

5%

Event Logging Pipeline

Criteria
Without context
With context

psycopg_pool ConnectionPool

85%

100%

Context managers for connections

100%

100%

%s parameterized queries

100%

100%

Transaction for batch event logging

75%

100%

Bulk insert for events

100%

100%

Transaction for archive operation

90%

100%

Pool shutdown cleanup

100%

100%

DATABASE_URL from environment

100%

100%

Dict row factory

100%

85%

Batched archival to avoid long locks

100%

100%

100%

16%

Inventory Management API

Criteria
Without context
With context

asyncpg pool with lifecycle

100%

100%

Bulk upsert for catalog import

28%

100%

Transaction for stock transfer

100%

100%

Stock validation before transfer

100%

100%

Async context managers for connections

100%

100%

$1/$2 parameterized queries

100%

100%

Server-side cursor for warehouse export

100%

100%

DATABASE_URL from environment

100%

100%

Pool timeout configuration

0%

100%

No SQL injection vectors

100%

100%

100%

20%

Notification Service

Criteria
Without context
With context

psycopg_pool ConnectionPool

83%

100%

Context managers for connections

100%

100%

Transaction for bulk scheduling

100%

100%

Efficient bulk insert

100%

100%

%s parameterized queries

100%

100%

Server-side cursor for patient history

0%

100%

Pool shutdown cleanup

75%

100%

DATABASE_URL from environment

100%

100%

Dict row factory for query results

100%

100%

max_lifetime or max_idle on pool

0%

100%

100%

7%

Reporting Dashboard Backend

Criteria
Without context
With context

psycopg_pool for sync reports

100%

100%

asyncpg pool for async API

100%

100%

Correct placeholder per driver

100%

100%

Context managers for sync connections

100%

100%

Async context managers for async connections

100%

100%

Server-side cursor for cohort export

41%

100%

Transaction for batch order sync

100%

100%

Bulk update for order sync

100%

100%

Both pools cleaned up on shutdown

100%

100%

DATABASE_URL from environment

100%

100%

Dict row factory for psycopg reports

100%

100%

No SQL injection vectors

100%

100%

100%

19%

User Analytics Service

Criteria
Without context
With context

asyncpg pool with create_pool

57%

100%

Pool lifecycle management

100%

100%

Async context managers for connections

100%

100%

Bulk insert for event ingestion

100%

100%

$1/$2 parameterized queries

100%

100%

Transaction for daily summary generation

20%

100%

Server-side cursor for user activity

100%

100%

DATABASE_URL from environment

100%

100%

command_timeout on pool

0%

100%

No SQL injection vectors

100%

100%

Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents