🐍 Библиотека для управления очередями сообщений
PGMQ - новая библиотека для облегченной обработки очереди сообщений для PostgreSQL в Python. Она отличается простотой и гибкостью системы очередей одновременно с надежностью и масштабируемостью баз данных.
Основные особенности:
- Гибкость. Поддержка различных конфигураций и расширений для индивидуальной настройки
- Надежность. Гарантированная единоразовая доставка сообщений в течении тайм-аута видимости
- Компактность. Только функции Postgres упакованные в расширение, никаких фоновых процессов или внешних зависимостей
- API-паритет с AWS SQS и RSMQ
Установка:
Самый легкий способ - запустить Tembo Docker, где PGMQ предустановлен в Postgres
▪ GitHub
#python #PostgreSQL #pgmq #MessageQueues
@pythonl
PGMQ - новая библиотека для облегченной обработки очереди сообщений для PostgreSQL в Python. Она отличается простотой и гибкостью системы очередей одновременно с надежностью и масштабируемостью баз данных.
Основные особенности:
- Гибкость. Поддержка различных конфигураций и расширений для индивидуальной настройки
- Надежность. Гарантированная единоразовая доставка сообщений в течении тайм-аута видимости
- Компактность. Только функции Postgres упакованные в расширение, никаких фоновых процессов или внешних зависимостей
- API-паритет с AWS SQS и RSMQ
Установка:
Самый легкий способ - запустить Tembo Docker, где PGMQ предустановлен в Postgres
docker run -d --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 quay.io/tembo/pg16-pgmq:latest
▪ GitHub
#python #PostgreSQL #pgmq #MessageQueues
@pythonl
py-pglite — обёртка PGlite для Python, позволяющая запускать настоящую базу PostgreSQL прямо при тестах. Без Docker, без настройки — просто импортируй и работай.
📌 Почему это круто:
- 🧪 Ноль конфигурации: никакого Postgres и Docker, только Python
- ⚡ Молниеносный старт: 2–3 с против 30–60 с на традиционные подходы :contentReference[oaicite:2]{index=2}
- 🔐 Изолированные базы: новая база для каждого теста — чисто и безопасно
- 🏗️ Реальный Postgres: работает с JSONB, массивами, оконными функциями
- 🔌 Совместимость: SQLAlchemy, Django, psycopg, asyncpg — любая связка :contentReference[oaicite:3]{index=3}
💡 Примеры установки:
pip install py-pglite
pip install py-pglite[sqlalchemy] # SQLAlchemy/SQLModel
pip install py-pglite[django] # Django + pytest-django
pip install py-pglite[asyncpg] # Асинхронный клиент
pip install py-pglite[all] # Всё сразу
🔧 Пример (SQLAlchemy)
python
def test_sqlalchemy_just_works(pglite_session):
user = User(name="Alice")
pglite_session.add(user)
pglite_session.commit()
assert user.id is not None
py‑pglite — идеальный инструмент для unit- и интеграционных тестов, где нужен настоящий Postgres, но без всей админской рутины.
Полноценный PostgreSQL — без его тяжеловесности.
▪Github
@pythonl
#python #sql #PostgreSQL #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM