From a0ee963c8036e9c9cd58035b6aeabeba8e7b8f2b Mon Sep 17 00:00:00 2001 From: Pablo Minue Date: Tue, 2 Jul 2024 14:51:08 +0200 Subject: [PATCH] Removed pyodbc due to errors on linux systems --- dist/pysqltools-0.2.2-py3-none-any.whl | Bin 0 -> 9961 bytes dist/pysqltools-0.2.2.tar.gz | Bin 0 -> 7979 bytes pyproject.toml | 2 +- pysqltools/src/connection/connection.py | 5 +++-- pysqltools/src/log/log.py | 26 ++++++++++++++++++++++++ 5 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 dist/pysqltools-0.2.2-py3-none-any.whl create mode 100644 dist/pysqltools-0.2.2.tar.gz diff --git a/dist/pysqltools-0.2.2-py3-none-any.whl b/dist/pysqltools-0.2.2-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..4edee3503bf4e5813cb12e5000ffe3e35880a5b6 GIT binary patch literal 9961 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 Iml+E9Kb)pETmS$7 literal 0 HcmV?d00001 diff --git a/dist/pysqltools-0.2.2.tar.gz b/dist/pysqltools-0.2.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5d768921bf494cd6ce93f1eebfa9047aa3473224 GIT binary patch literal 7979 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 literal 0 HcmV?d00001 diff --git a/pyproject.toml b/pyproject.toml index e48dbdb..9933dc8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "pysqltools" -version = "0.2.1" +version = "0.2.2" description = "PySQLTools" authors = ["Pablo Minué"] license = "None" diff --git a/pysqltools/src/connection/connection.py b/pysqltools/src/connection/connection.py index c571ce3..def3384 100644 --- a/pysqltools/src/connection/connection.py +++ b/pysqltools/src/connection/connection.py @@ -6,7 +6,8 @@ import mysql.connector import pymssql import pymysql -import pyodbc + +# import pyodbc import sqlalchemy import trino @@ -27,7 +28,7 @@ def __init__( trino.dbapi.Connection, pymssql.Connection, sqlite3.Connection, - pyodbc.Connection, + # pyodbc.Connection, mysql.connector.connection.MySQLConnection, mysql.connector.connection_cext.CMySQLConnection, ibm_db.IBM_DBConnection, diff --git a/pysqltools/src/log/log.py b/pysqltools/src/log/log.py index 55b5721..0b252ea 100644 --- a/pysqltools/src/log/log.py +++ b/pysqltools/src/log/log.py @@ -1,11 +1,14 @@ """Logger""" import logging +from typing import Any, Callable import pandas as pd +import rich from rich.console import Console from rich.logging import RichHandler from rich.markdown import Markdown +from rich.progress import Progress from rich.table import Table COLORS = [ @@ -70,3 +73,26 @@ def add_title(self, title: str): md_ = f" # **{title}** " md = Markdown(md_) self.console.print(md) + + +def progress_function( + task_name: str = "Task in progress...", color: str = "green", total: int = 100 +): + """ + Decorator to use a rich progress bar + """ + + def decorator(fun: Callable[..., Any]): + """Decorator""" + + def inner(*args, **kwargs): + """Wrapped""" + with Progress() as progress: + task = progress.add_task("f[{color}] {task_name}...", total=total) + result = fun(progress, task, *args, **kwargs) + progress.update(task, advance=total) + return result + + return inner + + return decorator