Как стать автором
Обновить

Комментарии 12

ЗакрепленныеЗакреплённые комментарии

Добрый день. Библиотека asyncpg-lite обновлена до версии 0.3.1. Все предыдущие версии были удалены и больше не доступны для установки.

В этой версии все методы библиотеки были переписаны. Если ранее библиотека работала исключительно с чистым asyncpg, то теперь asyncpg используется как асинхронный драйвер для взаимодействия с PostgreSQL, а все запросы выполняются через SQLAlchemy.

Основная причина переписывания библиотеки — улучшение безопасности. Старые версии имели определенные уязвимости, которые теперь устранены.

Подробный разбор новой версии библиотеки я постараюсь опубликовать завтра.

  1. Очень сильно не хватает в примерах отладочного вывода с sql, который уходит на сервер.

  2. так будет работать?

        user_data = {'user_id': None, 'user_name': 'Вася', 'user_surname': 'Сидоров', 'user_age': 40}
        await manager.insert_data(table_name="new_users", records_data=user_data)

По поводу отладочного вывода. Планирую сегодня-завтра на все методы повесить флаг debug_ sql. При установке флага в True будет выводить сформированый sql запрос.

Исходники уже удалил с системы, но различные библиотеки просто льют логи в свой логгер с разными уровнями (INFO/DEBUG) и не парются с флагами. Пример Requests. А уже программист сам настраивает нужный уровень логирования и игнорирования конкретных библиотек.

Отдельно умилил следующий кусочек кода:

                if count_dict == 1:
                    self.logger.info(f"Успешно добавлена 1 запись в таблицу {table_name}.")
                else:
                    self.logger.info(f"Успешно добавлена {count_dict} запись в таблицу {table_name}.")

Да ладно вам, просто было влом условие писать под корректное согласовывание русского текста, а ситуация с одной записью в таблицу частая) в новом обновлении исравлю)

В новой версии исправлено

На мой вгляд dsn_flag - это совершенно лишнее. Не по-питонски это, как будто что-то из ардуино )

Если вам не передали аргумент dsn, то вы же сами ставите ему значение по умолчанию None. Так что проверку можно свести к простому 'if not dsn:'

Благодарю за отзыв и замечание. Согласен. Можно оптимизировать)

В новой версии это исправил. Теперь запись имеет такой вид: self.dsn_flag = bool(dsn), а флага dsn_flag больше нет.

Благодарю всех за обратную связь. Библиотеку обновил до версии 0.22.2.1, учтя ваши пожилания. Все изменения описал в своем посте.

Здравствуйте!
Проверив вашу библиотеку я пришёл к выводу что новичкам НЕ рекомендуется использовать её в данный момент пока вы не исправите: https://github.com/Yakvenalex/asyncpg_lite/issues/1

Добрый день. Библиотека asyncpg-lite обновлена до версии 0.3.1. Все предыдущие версии были удалены и больше не доступны для установки.

В этой версии все методы библиотеки были переписаны. Если ранее библиотека работала исключительно с чистым asyncpg, то теперь asyncpg используется как асинхронный драйвер для взаимодействия с PostgreSQL, а все запросы выполняются через SQLAlchemy.

Основная причина переписывания библиотеки — улучшение безопасности. Старые версии имели определенные уязвимости, которые теперь устранены.

Подробный разбор новой версии библиотеки я постараюсь опубликовать завтра.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории