An easy to use mariadb context manager
Project description
MariaDB Conext Manager
Installation
pip install mariadb-context-manager
Manual Installation
Setting Up
Once you have your enviornment is set up, run the following in your terminal or command line to get the latest version:
pip install --upgrade git+https://github.com/avgra3/MariaDB-Context-Manager.git
An alternative to this would be to do the following:
git clone https://github.com/avgra3/MariaDB-Context-Manager.git
cd ./MariaDB-Context-Manager
python -m pip install --upgrade build
python -m build
python -m pip install install ./dist/MariaDB_Context_Manager-0.1.4-py3-none-any.whl
Note: For Linux or Mac systems, you may need to change "pip" to "pip3". Note: For Anaconda/Miniconda users, this module is not currently in any repositories, however, you can still use pip to install MariaDB package using the same command as above - but be aware that it may cause conflicts with packages you are using.
Implementing the Context Manager
Before you run your query, make sure that you have MariaDB installed locally or have a connection to a MariaDB database.
If you encounter an error/exception while trying to connect to the database, the connection will be closed and the exception will be printed to the console.
Example
from contextManager.contextManager import MariaDBCM
import pandas as pd
import polars as pl
# Our query we are using
query = """SELECT * FROM table;"""
# Database connection requirements
host = "HOST"
user = "USER"
password = "PASSWORD"
database = "DATABASE_NAME"
port = 3306 # The default MariaDB port
connection_params = {
"user": user,
"password": password,
"host": host,
"port": port,
"database": database,
}
# A dictionary containing results, column names and warnings
with MariaDBCM(**connection_params) as maria:
result_dictionary = maria.execute(query)
# Show data in a dataframe
df = pd.DataFrame(results["data"], columns=results["columns"])
# Maps the MariaDB data types to Python data types
df = df.astype(results["data_types"])
# Using Polars with some inital prep
prep = {}
i = 0
for column in result_dictionary["columns"]:
prep[column] = [x[0] for x in result_dictionary["data"]]
df_pl = pl.DataFrame(prep)
Supported Data Types
Several standard python types are converted into SQL types and returned as Python objects when a statement is executed.
Python Type | SQL Type |
---|---|
None | NULL |
Bool | TINYINT |
Float, Double | DOUBLE |
Decimal | DECIMAL |
Long | TINYINT, SMALLINT, INT, BIGINT |
String | VARCHAR, VARSTRING, TEXT |
ByteArray, Bytes | TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB |
DateTime | DATETIME |
Date | DATE |
Time | TIME |
Timestamp | TIMESTAMP |
For more information, see the documentation for more information.
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
File details
Details for the file mariadb_context_manager-0.1.15.tar.gz
.
File metadata
- Download URL: mariadb_context_manager-0.1.15.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad25278d04ffec5e9f7bba4b5f30baf2e9620ed6313532bf4cb6032dfbd46f41 |
|
MD5 | e2cbfd29df96b9da5e4b2e717bc92fbf |
|
BLAKE2b-256 | 87aa115c9c8e198a06dbd5d2b24d0d37ab7a2e3917778b0c7e3ca4be0de17c90 |
File details
Details for the file MariaDB_Context_Manager-0.1.15-py3-none-any.whl
.
File metadata
- Download URL: MariaDB_Context_Manager-0.1.15-py3-none-any.whl
- Upload date:
- Size: 6.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6722042bbe7d93dd6642ecea26a04ad00ba74bd9e7c056e2f0e9898420adc4aa |
|
MD5 | ceab98cafedb9d4f5ad97e4e90867570 |
|
BLAKE2b-256 | 378f93de732caf25fa241e4128f52bcaa67bfb8033ff02c95f6fb3553e42c1ef |