DBClient that includes allure decorator that logging your queries and query results
Project description
allure-db-client
The allure-db-client
is a Python library designed to facilitate the interaction with PostgreSQL databases. It leverages the psycopg
library for database connectivity and integrates with the Allure framework for enhanced logging and debugging capabilities. This library simplifies executing SQL queries and retrieving results in various formats, making it particularly useful in testing and debugging environments.
Features
- Easy connection to PostgreSQL databases using a connection string.
- Methods to fetch query results as lists, dictionaries, or individual values.
- Integration with Allure for logging SQL queries and results.
- Context management for automatic opening and closing of database connections.
- Safe parameter substitution in SQL queries to prevent SQL injection.
Installation
To install allure-db-client
, you will need to have Python installed on your system. The library can be installed using pip:
pip install allure-db-client
Usage
Creating a Client Instance
First, import DBClient
from allure-db-client
and create an instance with your database connection string:
from allure_db_client import DBClient
db_client = DBClient(connection_string="your_connection_string")
Executing Queries
You can execute various types of SQL queries using the provided methods:
get_list(query, params)
: Fetches the first column of each row as a list.get_dict(query, params)
: Fetches the first two columns of each row as a dictionary.select_all(query, params)
: Executes a query and fetches all rows.get_first_value(query, params)
: Fetches the first column of the first row.get_first_row(query, params)
: Fetches the first row.execute(query, params)
: Executes a non-returning SQL command (e.g., INSERT, UPDATE).
Context Management
The DBClient
can be used as a context manager to automatically handle database connections:
with DBClient(connection_string="your_connection_string") as db_client:
# Your database operations here
Examples
Here's an example of using DBClient
to fetch user data from a users
table:
with DBClient(connection_string="your_connection_string") as db_client:
users = db_client.select_all("SELECT * FROM users")
for user in users:
print(user)
Contributing
Contributions to allure-db-client
are welcome! Please read our contributing guidelines for details on how to submit pull requests, report issues, or request features.
License
allure-db-client
is released under the MIT License. See the LICENSE file for more details.
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file allure_db_client-1.1.3.tar.gz
.
File metadata
- Download URL: allure_db_client-1.1.3.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.0 Darwin/23.2.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b38f2b61d1755841ef219eda386963ee5081e8147b605cd1d1ba17974cf53994 |
|
MD5 | 1b73aab542449ab726f0053590880d65 |
|
BLAKE2b-256 | f168f0155a117e89ab2d1bb360849e5ebfbec7cdc8996b111e3e9561b97c0135 |
File details
Details for the file allure_db_client-1.1.3-py3-none-any.whl
.
File metadata
- Download URL: allure_db_client-1.1.3-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.0 Darwin/23.2.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d27e052b2900e9d162a818218ca312cc0d7d794e23cfa93dabf772cdb9ccfe4f |
|
MD5 | 6efe54ff19c69f7cda16b85eb93b4b86 |
|
BLAKE2b-256 | b16d6b6dfcf13162ca82612b614bcf1746e91d004ebf1ad545c693a59c2ef321 |