Provides connections pool for work with database
Project description
classic-db-pool — это библиотека для управления соединениями с базой данных
эффективным способом. Она позволяет создавать пул соединений с базой данных,
который может использоваться несколькими запросами или процессами одновременно.
Это гарантирует, что ваше приложение всегда имеет доступ к готовому
к использованию соединению без необходимости ожидания первоначальной
настройки соединения каждый раз.
Вклад
Этот проект является форком проекта Embrace.
Установка
Для установки classic-db-pool вы можете использовать pip:
pip install classic-db-pool
Использование
Вот несколько примеров использования classic-db-pool.
Создание пула соединений
from classic.db_utils import ConnectionPool
import pymssql
pool = ConnectionPool(
lambda: pymssql.connect(
server='server',
database='database',
user='user',
password='password',
),
limit=1,
)
with pool.connect() as conn:
conn.cursor().execute('SQL query')
Использование декоратора takes_connection
Декоратор takes_connection позволяет автоматически получать соединение из атрибута объекта и передавать его в метод. Это упрощает работу с соединениями в классах.
from classic.db_utils import takes_connection
class SomeClass:
def __init__(self, connect):
self.connect = connect # метод для получения соединения
@takes_connection
def get_user(self, user_id, connection):
with connection.cursor() as cur:
cur.execute('SELECT * FROM users WHERE id = %s', (user_id,))
return cur.fetchone()
# Можно настроить имена атрибута и параметра
class CustomClass:
def __init__(self, db_connect):
self.db_connect = db_connect
@takes_connection(connect_attr='db_connect', connection_param='conn')
def get_user(self, user_id, conn):
with conn.cursor() as cur:
cur.execute('SELECT * FROM users WHERE id = %s', (user_id,))
return cur.fetchone()
Декоратор принимает следующие параметры:
connect_attr(по умолчанию 'connect'): имя атрибута объекта, содержащего метод для получения соединенияconnection_param(по умолчанию 'connection'): имя параметра, через который соединение будет передано в метод
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file classic_db_utils-2.0.0.tar.gz.
File metadata
- Download URL: classic_db_utils-2.0.0.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94fb0a907c2776797c15e71071c1c6fd049c17266ff2a781fbfc60a7f1afc46c
|
|
| MD5 |
8683f7fec9e090e7d4d49ff0d6f5d8c5
|
|
| BLAKE2b-256 |
eabcc1dc5d7721366dbbb39946e306157f61c5269737b0bc166ef4cee8c7b7f3
|
File details
Details for the file classic_db_utils-2.0.0-py3-none-any.whl.
File metadata
- Download URL: classic_db_utils-2.0.0-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee159701f4f99c484acb940fd3d2312373bfe964fed039b99326196bd5bc9d55
|
|
| MD5 |
4b09f17d21c3d5f451c73ca3205e39ca
|
|
| BLAKE2b-256 |
83644b8759f4decd4e16c1db227019da98336c0146a92a2952cebe139c070ff1
|