pypostgresutil


Namepypostgresutil JSON
Version 1.0.2 PyPI version JSON
download
home_pagehttps://github.com/An0nX/PostgreSQLController
SummaryPython library for simple PostgreSQL management
upload_time2023-12-22 17:08:34
maintainer
docs_urlNone
authorAn0nX
requires_python>=3.7
license
keywords python library postgresql management pypi tool database interaction relational databases python programming
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PostgreSQLController Library

Библиотека для управления PostgreSQL базой данных, создана совместными усилиями [Lanutrix](https://github.com/Lanutrix) и [An0nX](https://github.com/An0nX).

## Установка

На pypi.org либо как покеазано ниже

```bash
pip install psycopg2-binary
pip install loguru
```

## Использование

```python
from pypostgresutil import PostgreSQLController

# Инициализация контроллера
controller = PostgreSQLController()

# Чтение данных
data = controller.read(table="example_table", columns="*", requirement="column_name='value'")
print(data)

# Запись данных
success = controller.write(table="example_table", columns="column1, column2", values="'value1', 'value2'")
print(success)

# Обновление данных
update_success = controller.update(table="example_table", data="column1='new_value'", requirement="column2='old_value'")
print(update_success)

# Удаление данных
delete_success = controller.delete(table="example_table", requirement="column_name='value'")
print(delete_success)

# Закрытие соединения
controller.close()
```

## API

### Конструктор
```python
def __init__(self, host: str = "localhost", user: str = "postgres", password: str = "postgres", database: str = "postgres", table_definition: str = None) -> None:
    """
    Инициализация нового экземпляра класса.

    Параметры:
        host (str): Адрес сервера PostgreSQL. По умолчанию "localhost".
        user (str): Имя пользователя PostgreSQL. По умолчанию "postgres".
        password (str): Пароль пользователя PostgreSQL. По умолчанию "postgres".
        database (str): Имя базы данных PostgreSQL. По умолчанию "postgres".
        table_definition (str): Запрос определения таблицы для создания таблицы в базе данных.

    Возвращает:
        None

    Вызывает:
        Exception: Если произошла ошибка при работе с PostgreSQL.
    """
```

### Чтение данных
```python
def read(self, table: str, columns: str, requirement: str = "") -> list:
    """
    Чтение данных из указанной таблицы в базе данных.

    Аргументы:
        table (str): Имя таблицы для чтения.
        columns (str): Столбцы, которые нужно выбрать из таблицы.
        requirement (str, опционально): Дополнительное условие фильтрации данных. По умолчанию "".

    Возвращает:
        list: Список кортежей, представляющих результат запроса.
    """
```

### Запись данных
```python
def write(self, table: str, columns: str, values: str) -> bool:
    """
    Запись данных в указанную таблицу базы данных.

    Аргументы:
        table (str): Имя таблицы для записи.
        columns (str): Столбцы, в которые нужно вставить данные.
        values (str): Значения, которые нужно вставить в столбцы.

    Возвращает:
        bool: True, если операция записи успешна, False в противном случае.
    """
```

### Обновление данных
```python
def update(self, table: str, data: str, requirement: str) -> bool:
    """
    Обновление таблицы в базе данных с заданными данными и условием.

    Параметры:
        table (str): Имя таблицы для обновления.
        data (str): Данные для установки в таблице.
        requirement (str): Условие для идентификации строк для обновления.

    Возвращает:
        bool: True, если обновление прошло успешно, False в противном случае.
    """
```

### Удаление данных
```python
def delete(self, table: str, requirement: str) -> bool:
    """
    Удаление строки из указанной таблицы на основе заданного условия.

    Параметры:
        table (str): Имя таблицы, из которой нужно удалить строку.
        requirement (str): Условие, которому должна удовлетворять строка для удаления.

    Возвращает:
        bool: True, если удаление прошло успешно, False в противном случае.
    """
```

### Закрытие соединения
```python
def close(self):
    """
    Закрытие соединения с PostgreSQL.

    Эта функция закрывает соединение с PostgreSQL, установленное методом `connect`.
    Она регистрирует действие закрытия соединения с использованием объекта `logger`.

    Параметры:
        None

    Возвращает:
        None
    """
```

### Асинхронное чтение данных
```python
async def read_async(self, table: str, columns: str, requirement: str = "") -> list:
    """
    Асинхронное чтение данных из указанной таблицы.

    Аргументы:
        table (str): Имя таблицы для чтения.
        columns (str): Столбцы, которые нужно извлечь из таблицы.
        requirement (str, опционально): Условие для фильтрации данных. По умолчанию "".

    Возвращает:
        List[Record]: Результат запроса.
    """
```

### Асинхронная запись данных
```python
async def write_async(self, table: str, columns: str, values: str) -> bool:
    """
    Асинхронная функция записи данных в указанную таблицу базы данных.

    Параметры:
        table (str): Имя таблицы для записи данных.
        columns (str): Строка с именами столбцов для вставки данных.
        values (str): Строка с значениями для вставки в столбцы.

    Возвращает:
        bool: True, если операция записи успешна, False в противном случае.
    """
```

### Асинхронное обновление данных
```python
async def update_async(self, table: str, data: str, requirement: str) -> bool:
    """
    Асинхронное обновление таблицы в базе данных с заданными данными и условием.

    Аргументы:
        table (str): Имя таблицы для обновления.
        data (str): Данные для установки в таблице.
        requirement (str): Условие для обновления строк.

    Возвращает:
        bool: True, если обновление успешно, False в противном случае.
    """
```
    
### Асинхронное удаление данных
```python
async def delete_async(self, table: str, requirement: str) -> bool:
    """
    Асинхронное удаление строк из таблицы на основе заданного условия.

    Параметры:
        table (str): Имя таблицы, из которой нужно удалить строки.
        requirement (str): Условие для фильтрации строк для удаления.

    Возвращает:
        bool: True, если удаление успешно, False в противном случае.
    """
```
    
## Логирование

Для логирования используется библиотека loguru. Логи содержат информацию об установке соединения, создании таблицы, операциях чтения, записи, обновления и удаления данных, а также закрытии соединения.

## Обработка ошибок

В случае возникновения ошибок при работе с PostgreSQL, они логируются с использованием уровня логирования "critical" или "error". Сами ошибки не пробрасываются из библиотеки, чтобы избежать прекращения работы программы из-за исключений.

## Зависимости

- psycopg2-binary
- loguru

## Лицензия

Эта библиотека распространяется под лицензией MIT. Подробную информацию смотрите в файле LICENSE.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/An0nX/PostgreSQLController",
    "name": "pypostgresutil",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "Python Library PostgreSQL Management Pypi Tool Database Interaction Relational Databases Python Programming",
    "author": "An0nX",
    "author_email": "example@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/01/f8/42cd657a22df14f7006157eaa19eb701f84da26013ab4fec92d267c3a635/pypostgresutil-1.0.2.tar.gz",
    "platform": null,
    "description": "# PostgreSQLController Library\n\n\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f PostgreSQL \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u044b\u043c\u0438 \u0443\u0441\u0438\u043b\u0438\u044f\u043c\u0438 [Lanutrix](https://github.com/Lanutrix) \u0438 [An0nX](https://github.com/An0nX).\n\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n\n\u041d\u0430 pypi.org \u043b\u0438\u0431\u043e \u043a\u0430\u043a \u043f\u043e\u043a\u0435\u0430\u0437\u0430\u043d\u043e \u043d\u0438\u0436\u0435\n\n```bash\npip install psycopg2-binary\npip install loguru\n```\n\n## \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n\n```python\nfrom pypostgresutil import PostgreSQLController\n\n# \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\ncontroller = PostgreSQLController()\n\n# \u0427\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\ndata = controller.read(table=\"example_table\", columns=\"*\", requirement=\"column_name='value'\")\nprint(data)\n\n# \u0417\u0430\u043f\u0438\u0441\u044c \u0434\u0430\u043d\u043d\u044b\u0445\nsuccess = controller.write(table=\"example_table\", columns=\"column1, column2\", values=\"'value1', 'value2'\")\nprint(success)\n\n# \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\nupdate_success = controller.update(table=\"example_table\", data=\"column1='new_value'\", requirement=\"column2='old_value'\")\nprint(update_success)\n\n# \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\ndelete_success = controller.delete(table=\"example_table\", requirement=\"column_name='value'\")\nprint(delete_success)\n\n# \u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f\ncontroller.close()\n```\n\n## API\n\n### \u041a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\n```python\ndef __init__(self, host: str = \"localhost\", user: str = \"postgres\", password: str = \"postgres\", database: str = \"postgres\", table_definition: str = None) -> None:\n    \"\"\"\n    \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043a\u043b\u0430\u0441\u0441\u0430.\n\n    \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n        host (str): \u0410\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 PostgreSQL. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \"localhost\".\n        user (str): \u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f PostgreSQL. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \"postgres\".\n        password (str): \u041f\u0430\u0440\u043e\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f PostgreSQL. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \"postgres\".\n        database (str): \u0418\u043c\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 PostgreSQL. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \"postgres\".\n        table_definition (str): \u0417\u0430\u043f\u0440\u043e\u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.\n\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:\n        None\n\n    \u0412\u044b\u0437\u044b\u0432\u0430\u0435\u0442:\n        Exception: \u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 PostgreSQL.\n    \"\"\"\n```\n\n### \u0427\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\n```python\ndef read(self, table: str, columns: str, requirement: str = \"\") -> list:\n    \"\"\"\n    \u0427\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.\n\n    \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b:\n        table (str): \u0418\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f.\n        columns (str): \u0421\u0442\u043e\u043b\u0431\u0446\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.\n        requirement (str, \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e): \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \"\".\n\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:\n        list: \u0421\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u0440\u0442\u0435\u0436\u0435\u0439, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430.\n    \"\"\"\n```\n\n### \u0417\u0430\u043f\u0438\u0441\u044c \u0434\u0430\u043d\u043d\u044b\u0445\n```python\ndef write(self, table: str, columns: str, values: str) -> bool:\n    \"\"\"\n    \u0417\u0430\u043f\u0438\u0441\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445.\n\n    \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b:\n        table (str): \u0418\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438.\n        columns (str): \u0421\u0442\u043e\u043b\u0431\u0446\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435.\n        values (str): \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u0442\u043e\u043b\u0431\u0446\u044b.\n\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:\n        bool: True, \u0435\u0441\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u0430, False \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435.\n    \"\"\"\n```\n\n### \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\n```python\ndef update(self, table: str, data: str, requirement: str) -> bool:\n    \"\"\"\n    \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c.\n\n    \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n        table (str): \u0418\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f.\n        data (str): \u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435.\n        requirement (str): \u0423\u0441\u043b\u043e\u0432\u0438\u0435 \u0434\u043b\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u043e\u043a \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f.\n\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:\n        bool: True, \u0435\u0441\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u043b\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e, False \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435.\n    \"\"\"\n```\n\n### \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\n```python\ndef delete(self, table: str, requirement: str) -> bool:\n    \"\"\"\n    \u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f.\n\n    \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n        table (str): \u0418\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0443\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443.\n        requirement (str): \u0423\u0441\u043b\u043e\u0432\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0434\u043e\u043b\u0436\u043d\u0430 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f.\n\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:\n        bool: True, \u0435\u0441\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u043b\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e, False \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435.\n    \"\"\"\n```\n\n### \u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f\n```python\ndef close(self):\n    \"\"\"\n    \u0417\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 PostgreSQL.\n\n    \u042d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 PostgreSQL, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043c `connect`.\n    \u041e\u043d\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430 `logger`.\n\n    \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n        None\n\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:\n        None\n    \"\"\"\n```\n\n### \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0435 \u0447\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\n```python\nasync def read_async(self, table: str, columns: str, requirement: str = \"\") -> list:\n    \"\"\"\n    \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0435 \u0447\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.\n\n    \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b:\n        table (str): \u0418\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f.\n        columns (str): \u0421\u0442\u043e\u043b\u0431\u0446\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.\n        requirement (str, \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e): \u0423\u0441\u043b\u043e\u0432\u0438\u0435 \u0434\u043b\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \"\".\n\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:\n        List[Record]: \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430.\n    \"\"\"\n```\n\n### \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0434\u0430\u043d\u043d\u044b\u0445\n```python\nasync def write_async(self, table: str, columns: str, values: str) -> bool:\n    \"\"\"\n    \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445.\n\n    \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n        table (str): \u0418\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.\n        columns (str): \u0421\u0442\u0440\u043e\u043a\u0430 \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.\n        values (str): \u0421\u0442\u0440\u043e\u043a\u0430 \u0441 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0432 \u0441\u0442\u043e\u043b\u0431\u0446\u044b.\n\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:\n        bool: True, \u0435\u0441\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u0430, False \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435.\n    \"\"\"\n```\n\n### \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\n```python\nasync def update_async(self, table: str, data: str, requirement: str) -> bool:\n    \"\"\"\n    \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c.\n\n    \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b:\n        table (str): \u0418\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f.\n        data (str): \u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435.\n        requirement (str): \u0423\u0441\u043b\u043e\u0432\u0438\u0435 \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a.\n\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:\n        bool: True, \u0435\u0441\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e, False \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435.\n    \"\"\"\n```\n    \n### \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445\n```python\nasync def delete_async(self, table: str, requirement: str) -> bool:\n    \"\"\"\n    \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f.\n\n    \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n        table (str): \u0418\u043c\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0443\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438.\n        requirement (str): \u0423\u0441\u043b\u043e\u0432\u0438\u0435 \u0434\u043b\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0441\u0442\u0440\u043e\u043a \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f.\n\n    \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442:\n        bool: True, \u0435\u0441\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e, False \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435.\n    \"\"\"\n```\n    \n## \u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\n\n\u0414\u043b\u044f \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 loguru. \u041b\u043e\u0433\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e\u0431 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f\u0445 \u0447\u0442\u0435\u043d\u0438\u044f, \u0437\u0430\u043f\u0438\u0441\u0438, \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f.\n\n## \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a\n\n\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 PostgreSQL, \u043e\u043d\u0438 \u043b\u043e\u0433\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0443\u0440\u043e\u0432\u043d\u044f \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \"critical\" \u0438\u043b\u0438 \"error\". \u0421\u0430\u043c\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 \u043d\u0435 \u043f\u0440\u043e\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438\u0437-\u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439.\n\n## \u0417\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438\n\n- psycopg2-binary\n- loguru\n\n## \u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\n\n\u042d\u0442\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 MIT. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0432 \u0444\u0430\u0439\u043b\u0435 LICENSE.\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Python library for simple PostgreSQL management",
    "version": "1.0.2",
    "project_urls": {
        "Homepage": "https://github.com/An0nX/PostgreSQLController"
    },
    "split_keywords": [
        "python",
        "library",
        "postgresql",
        "management",
        "pypi",
        "tool",
        "database",
        "interaction",
        "relational",
        "databases",
        "python",
        "programming"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a0357c7faff11e880be297c1df78da7651504dceb3d3f2f35dd490a95198b4c8",
                "md5": "ce78fc38b10a822df4732d8ad5c6814f",
                "sha256": "385166a2090f0c9e83af110f156788eb0d4c2db62b88185ac830b37092fbfa7c"
            },
            "downloads": -1,
            "filename": "pypostgresutil-1.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ce78fc38b10a822df4732d8ad5c6814f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 6451,
            "upload_time": "2023-12-22T17:08:32",
            "upload_time_iso_8601": "2023-12-22T17:08:32.983355Z",
            "url": "https://files.pythonhosted.org/packages/a0/35/7c7faff11e880be297c1df78da7651504dceb3d3f2f35dd490a95198b4c8/pypostgresutil-1.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "01f842cd657a22df14f7006157eaa19eb701f84da26013ab4fec92d267c3a635",
                "md5": "c472f0791b4cdb3925e1afe7d6fd0620",
                "sha256": "d9bc2ee062a7d691029ec948045fc7c62c02cba428f0e16727cd56a81d01f7f7"
            },
            "downloads": -1,
            "filename": "pypostgresutil-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "c472f0791b4cdb3925e1afe7d6fd0620",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 7359,
            "upload_time": "2023-12-22T17:08:34",
            "upload_time_iso_8601": "2023-12-22T17:08:34.530375Z",
            "url": "https://files.pythonhosted.org/packages/01/f8/42cd657a22df14f7006157eaa19eb701f84da26013ab4fec92d267c3a635/pypostgresutil-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-22 17:08:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "An0nX",
    "github_project": "PostgreSQLController",
    "github_not_found": true,
    "lcname": "pypostgresutil"
}
        
Elapsed time: 0.15809s