Custom Connection Factory class (RDS, Redshift) with build-in IAM authentication and SSL bundle downloader support.
Install package
poetry add psycopg2-iam
from psycopg2_iam import connect
conn = connect(secret="secretId")
from psycopg2_iam import connect
connect(dsn="...")
import psycopg2
from psycopg2_iam import IAMConnection
psycopg2.connect(dsn="...", connection_factory=IAMConnection)
import boto3
import json
import psycopg2
from psycopg2_iam import IAMConnection, dsn_from_rds_secret
secrets = boto3.client("secretsmanager")
db_secret = json.loads(secrets.get_secret_value(SecretId="/dynks/rds/readonly").get("SecretString"))
psycopg2.connect(dsn=dsn_from_rds_secret(db_secret), connection_factory=IAMConnection)