home.social

#sqlalchemy — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #sqlalchemy, aggregated by home.social.

  1. Три архитектурных решения для multi-tenant B2B SaaS, о которых я пожалел, что не узнал раньше

    Самая дорогая ошибка моего B2B SaaS имела ровно одну строчку Самая дорогая ошибка моего B2B SaaS имела ровно одну строчку: TENANT_ID = “tenant-1” в config.py . Полтора дня поиска бага показали, почему multi-tenant архитектуру нужно закладывать с первого коммита. Разбор трёх архитектурных решений для multi-tenant SaaS в регулируемой отрасли — tenant_id helper, PostgreSQL EXCLUDE USING gist против double-booking, 152-ФЗ как код на FastAPI и SQLAlchemy.

    habr.com/ru/articles/1033488/

    #multitenant #fastapi #postgresql #sqlalchemy #exclude_using_gist #argon2id #pbkdf2 #152фз #audit_log #b2b_saas

  2. novo artigo: sua aplicação pode estar travando sob carga mesmo com queries rápidas e banco saudável.

    o culpado quase sempre é o pool de conexões que ninguém configurou.

    cobre pool_size, max_overflow, pool_recycle, pool_pre_ping, NullPool e PgBouncer — com critérios claros para cada escolha.

    riverfount.dev.br/posts/connec

    #python #sqlalchemy #performance #produção

  3. Как я за выходные собрала сервис озвучки книг на FastAPI + Edge TTS + Telegram Mini App

    Привет, Хабр! Я люблю слушать книги, но не все есть на Литрес и Storytel. Особенно это касается профессиональной литературы, фанфиков, статей и документов — всего того, что вряд ли когда-нибудь озвучат профессиональные дикторы. Я поняла, что нейросетевые голоса уже достаточно хороши для комфортного прослушивания. И подумала: а что если сделать Telegram-бота, которому можно просто скинуть файл — а через пару минут слушать аудиокнигу в удобном плеере прямо в Telegram? Так родился VoiceBooks — open-source сервис для озвучки книг, который работает полностью бесплатно. В этой статье я разберу архитектуру open-source проекта: как организован парсинг 6 форматов в единый пайплайн, как работает фоновая генерация аудио без Celery и RabbitMQ, и как элегантно обойти лимиты Telegram Bot API на загрузку файлов. Стек: Python 3.12, FastAPI, aiogram 3, Edge TTS, SQLAlchemy 2.0 + PostgreSQL. Деплой — Railway. Читать разбор архитектуры

    habr.com/ru/articles/1010306/

    #python #fastapi #telegram_bot #aiogram #edge_tts #sqlalchemy #postgresql #архитектура #petпроект #аудиокниги

  4. Векторный поиск в PostgreSQL: PGVector, SQLAlchemy и FastAPI

    Реализуем сервис семантического поиска на базе PostgreSQL с расширением PGVector. В статье: настройка БД через Docker, миграции Alembic, асинхронный слой на SQLAlchemy и API на FastAPI. Иллюстрация на обложке - нейрослоп для привлечения внимания

    habr.com/ru/articles/1006364/

    #PGVector #SQLAlchemy #FastAPI

  5. Векторный поиск в PostgreSQL: PGVector, SQLAlchemy и FastAPI

    Реализуем сервис семантического поиска на базе PostgreSQL с расширением PGVector. В статье: настройка БД через Docker, миграции Alembic, асинхронный слой на SQLAlchemy и API на FastAPI. Иллюстрация на обложке - нейрослоп для привлечения внимания

    habr.com/ru/articles/1006364/

    #PGVector #SQLAlchemy #FastAPI

  6. Векторный поиск в PostgreSQL: PGVector, SQLAlchemy и FastAPI

    Реализуем сервис семантического поиска на базе PostgreSQL с расширением PGVector. В статье: настройка БД через Docker, миграции Alembic, асинхронный слой на SQLAlchemy и API на FastAPI. Иллюстрация на обложке - нейрослоп для привлечения внимания

    habr.com/ru/articles/1006364/

    #PGVector #SQLAlchemy #FastAPI

  7. Векторный поиск в PostgreSQL: PGVector, SQLAlchemy и FastAPI

    Реализуем сервис семантического поиска на базе PostgreSQL с расширением PGVector. В статье: настройка БД через Docker, миграции Alembic, асинхронный слой на SQLAlchemy и API на FastAPI. Иллюстрация на обложке - нейрослоп для привлечения внимания

    habr.com/ru/articles/1006364/

    #PGVector #SQLAlchemy #FastAPI

  8. #GutenMorgen #GoodMorning aus dem regnerischen #Naxos. Der (diesen Winter etwas regelmässigere) Regen tut der Insel gut, die ganze #Insel ist grün -- ganz anders als es unsere Sommerbesucher kennen. Unsere Wasserspeicher sind allerdings noch bei weitem nicht voll.

    Ich werde ein paar Stunden investieren, um die #SQLAlchemy -Dokumentation zu lesen, wenigstens kann ich dabei zwischendurch durchs Fenster auf die grün-graue Landschaft schauen. Nachmittags will ich dann wieder etwas zeichnen.

  9. Хроники тестирования Data Quality

    В современных data-процессах ключевую роль играет обеспечение качества данных. Рассмотрим четыре популярных подхода: DBT, SQL, Python (Pandas/SQLAlchemy) и Great Expectations, оценив их эффективность для различных сценариев проверки данных. Эта статья будет интересна и полезна Data-инженерам, аналитикам данных и специалистам Data Quality для выбора оптимального метода валидации данных в зависимости от стека технологий и сложности бизнес-логики. Материал ориентирован на начинающий уровень подготовки: тем, кто еще не сталкивался системно с инструментами управления качеством данных. Привет, Хабр! Меня зовут Мария, я Data-инженер в SimbirSoft, и предлагаю для начала немного познакомиться с каждым из вышеперечисленных инструментов. Читать далее ⚡

    habr.com/ru/companies/simbirso

    #data_engineering #data_quality #dbt #sql #python #pandas #great_expectations #sqlalchemy #greenplum

  10. Практическое тестирование приложений

    Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс. Ну что ж, приступим

    habr.com/ru/articles/958014/

    #python #faststream #dishka #litestar #fastapi #sqlalchemy #pydantic #asgi #pytest

  11. Практическое тестирование приложений

    Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс. Ну что ж, приступим

    habr.com/ru/articles/958014/

    #python #faststream #dishka #litestar #fastapi #sqlalchemy #pydantic #asgi #pytest

  12. Практическое тестирование приложений

    Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс. Ну что ж, приступим

    habr.com/ru/articles/958014/

    #python #faststream #dishka #litestar #fastapi #sqlalchemy #pydantic #asgi #pytest

  13. Практическое тестирование приложений

    Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс. Ну что ж, приступим

    habr.com/ru/articles/958014/

    #python #faststream #dishka #litestar #fastapi #sqlalchemy #pydantic #asgi #pytest

  14. @dashdsrdash Oh yeah, I'm not a fan of directly emitting SQL (hi, injection vectors!). Totally willing to wrap the creation of the SQL in a language-specific well-typed abstract syntax tree.

    What's biting me in the ORM I'm using is that the ORM has a lot of implicit behavior around class construction but that abstraction is leaky. Among the leaks:

    • alembic auto-builds migration steps based on the shape of a sqlalchemy model. It can build migration scripts that don't run (for example, if you don't name your foreign keys it builds them with None names in the alembic script and aelmbic can't roll back an unnamed key).

    • we have a binding layer between sqlalchemy and strawberry (GraphQL API generation) that treats fields that are mapped columns and fields that are relationships differently. Knowing which fields are relationships and which are mapped columns is just something you go look up in the model.

    At this point, I'd like to throw out about half of this magic and just have alembic migration files and a GraphQL binding layer that just builds SQL queries to populate GraphQL fields.

    Part of me also wonders how much of my irritation is ORMs in general and how much is sqlalchemy in particular. The docs for sqlalchemy include examples for making one-to-one, one-to-many, and many-to-many mappings between model ORM constructs. Those three terms aren't keywords in the API, they're patterns you have to hold your mouth a specific way to make them happen in the model bindings. All this magic and they didn't provide a macro for the three most common patterns in relational database association? "But why though?"

    #sqlalchemy #alembic #strawberry

  15. Tests are passing?! I can go to bed. Yay.

    Mini Rack Root update: I've been working on search functionality, because I don't have enough in the backlog already for Rack Root, and I've discovered just how little I know about database searches. After MANY iterations back and forth on all the ways not to do it, I've finally found a working piece of code.

    I even used ChatGPT, which I almost never do and it was mostly helpful. Sometimes a search engine won't quite get you there and that's how ChatGPT helped. Here's an example with code, help me fix it.

    I've also had oh-so-much fun with database schemas being case sensitive (camel case is out, snake case is in), triggers going...somewhere unknown, calling make_searchable() in the right places, and making sure my test environment was _really_ doing what it should have when I dropped the tables to recreate everything. Testing is close to, but not the same as, day to day use when an app is running, of course.

    That's a really good stopping point for tonight and I will take it. 55 tests, all green.

    #homelab #programming #rackroot #opensource #sqlalchemy #python #postgresql #alwayslearning

  16. Hi folks. I started with a #cli tool that should manage db migrations for different #data projects on different db types. How do you manage your databases and migrations that are not bound to an application let's say? #sqlalchemy #python #typer #alembic? What features would you like to have?

  17. ⚙️Are you looking for an #online #database #modeling #tool with #SQL generation?

    With the latest updates (e.g. modeling of #association #classes), BESSER is your ideal tool to #design and #generate your databases in many different "flavours" :

    ☑️ #SQLLite

    ☑️ #PostgresQL

    ☑️ #MySQL

    ☑️ #MariaDB

    ☑️ #MSSQLServer

    ☑️ and even #SQLAlchemy

    Ready to give it a try? No installation required! ➡️ editor.besser-pearl.org/

    Did I already mention is completely 🆓 and #opensource?

  18. FastAPI + Keycloak: Простая и безопасная авторизация в веб-приложении на примере реального проекта

    Keycloak - это мощная open-source платформа для аутентификации и авторизации, которую используют даже банки и крупные корпоративные клиенты для защиты своих приложений и данных. В статье на реальном примере (FastAPI + Python) простым языком объясню, как Keycloak помогает упростить управление доступом и почему его принципы универсальны для любого бэкенда, независимо от выбранного языка программирования

    habr.com/ru/companies/amvera/a

    #keycloak #fastapi #авторизация #базы_данных #python #keycloak_fastapi #вебразработка #sqlalchemy_20 #sqlalchemy #javascript

  19. Создание анонимного чата в Telegram: Бот с MiniApp интерфейсом. Часть 1 — Бэкенд на FastAPI, Aiogram, Redis и Centrifugo

    Это первая статья из цикла, посвященного разработке телеграм-бота с MiniApp для случайных чатов. В этой части мы сосредоточимся на создании бэкенда, используя современные технологии: FastAPI для разработки API, Redis для хранения данных в реальном времени и Centrifugo для обеспечения мгновенного взаимодействия между пользователями. Сегодня мы подробно разберем архитектуру проекта, настройку серверов и реализацию логики бота. В следующей статье мы переключимся на фронтенд и займемся разработкой MiniApp с использованием фреймворка Vue.js . Это позволит создать интуитивно понятный интерфейс для пользователей, где они смогут настраивать параметры поиска собеседника и общаться в режиме реального времени (Real time).

    habr.com/ru/companies/amvera/a

    #fastapi #telegram_mini_app #telegram_webapp #python #centrifugo #centrifugo_v6 #sqlalchemy #redis #redis_python #бэкенд

  20. LitestarCatsCV. Тренируемся на кошках. Реализация API и работа с данными

    Что вас ждёт: Если в первой части мы заложили фундамент проекта (выбор инструментов, настройка окружения и структура), то здесь мы превратим этот каркас в полноценное API для управления резюме кошек (или людей — как вам ближе). Мы подключим базу данных, добавим тесты, настроим миграции и даже проверим всё в действии. К концу статьи у вас будет рабочее API, которое можно потрогать руками (или лапками 🐾). Полный код доступен на GitHub — ссылка в конце!

    habr.com/ru/companies/ntechlab

    #python #python3 #litestar #alembic #sqlalchemy #orm #pytest #asyncpg

  21. Kdybych #juniorguru dělal znova, možná bych místo #Peewee použil #SQLAlchemy. Možná spolu s #PyDantic. A možná bych na to použil sqlmodel.tiangolo.com/ Možná. Kdo ví.

  22. FastAPI и Vue.js 3: телеграм-бот с MiniApp для записи и автоматических уведомлений. Пишем бэкенд

    Сегодня я рад представить новый масштабный проект, в рамках которого мы подробно рассмотрим технологии и подходы, ранее не освещенные в моих статьях. На этот раз мы создадим телеграм-бота с MiniApp (ранее известным как WebApp) — это будет бот с интегрированным мини-сайтом прямо в Telegram. Для реализации проекта мы используем два основных фреймворка: 1. FastAPI — мощный Python-фреймворк, который мы задействуем для разработки API нашего телеграм-бота. Мы рассмотрим уникальный подход, позволяющий создать полноценный бэкенд, который будет закрывать как API-методы, так и функционал телеграм-бота. 2. Vue.js 3 — JavaScript-фреймворк, выбранный за его удобство разработки и возможности создания сложных визуальных элементов. В этой статье мы сосредоточимся на описании бэкенда, а создание приложения на Vue.js 3 будет вынесено на следующую статью.

    habr.com/ru/companies/amvera/a

    #fastapi #sqlalchemy #sqlalchemy_20 #telegram_bot #telegram_bot_api #telegram_mini_app #telegram_web_app #telegram_web_app_bot #apscheduler #python

  23. Структура FastAPI приложения

    В данной статья я решил описать свой опыт создания шаблона для проектов, использующих FastAPI, SQLAlchemy, Docker

    habr.com/ru/articles/871018/

    #FastAPI #Python #Docker #SQLAlchemy #Alembic #Репозиторий #Шаблон #Структура

  24. Рекурсивные запросы в SQLAlchemy

    Когда возникает необходимость работать с иерархической структурой данных, кажется, что решение давно найдено, ведь подобные задачи уже неоднократно решались. Возможно, даже выбран инструмент, например, Python и SQLAlchemy. Однако, углубляясь в задачу, понимаешь, что вариантов множество, даже в вопросе, как извлечь данные из базы: использовать стратегию selectin для загрузки родительских элементов? Или, возможно, стоит применить joinload? А может, лучше воспользоваться CTE‑запросами, которые рекомендуются в 90% статей? Но насколько CTE действительно эффективно по сравнению с другими методами? Более того, большинство примеров рассматривают ситуации в идеальных условиях, далёких от реальных проектов. В этой статье я рассмотрю основные способы получения иерархической структуры из БД на примере реального многослойного приложения с использованием SQLAlchemy 2.0. Как обычно, есть важные нюансы, о которых редко упоминают, хотя они весьма любопытны. В завершение проведу сравнение производительности всех описанных подходов. Погружаемся

    habr.com/ru/companies/domclick

    #sqlalchemy_20 #sqlalchemy #sqlalchemy_валидация_с_pydantic

  25. , the migration tool for , supports not only schema upgrades but also downgrades and branch merges, so I didn't have much trouble moving between different branches with slightly different schemas in my local development environment, which is something I don't think many database migration tools offer.

    alembic.sqlalchemy.org/en/late

  26. SQLAlchemy 2.0 + Python Generic, или как создать универсальный репозиторий для работы с БД

    Доброго времени суток, товарищи, эта статья, так скажем, продолжение предыдущей статьи об SQLAlchemy 2.0 для новичков , в этой статье мы узнаем что такое Python Generic и как его можно использовать в наших целях при взаимодействии с БД.

    habr.com/ru/articles/853326/

    #python #python3 #sqlalchemy_20 #sqlalchemy #generic #generics #типизация #пайтон #дженерики

  27. Асинхронный SQLAlchemy 2: пошаговый гайд по управлению сессиями, добавлению и извлечению данных с Pydantic

    Продолжаем цикл статей по асинхронной SQLAlchemy в стиле ORM! Если вы ещё не успели ознакомиться с первой частью, настоятельно рекомендую сделать это, так как сегодняшний материал будет опираться на уже освоенные знания. Что нас ждёт сегодня? - Сессии и фабрики сессий: Узнаем, как эффективно управлять сессиями для взаимодействия с базой данных. - Добавление данных в таблицы: Освоим безопасные методы добавления новых записей с использованием ORM-методов. - Извлечение данных из таблиц: Погрузимся в мир извлечения данных. Рассмотрим простые запросы и более сложные фильтры для работы с данными. После прочтения этой статьи вы сможете уверенно добавлять и извлекать данные с помощью SQLAlchemy для любых табличных баз данных. Не пропустите, будет интересно и полезно!

    habr.com/ru/companies/amvera/a

    #sqlalchemy #python #АсинхронноеПрограммирование #orm #PostgreSQL #БазыДанных #pydantic #SQLAlchemy_ORM #sqlalchemy_20 #async_sqlalchemy

  28. Асинхронный SQLAlchemy 2: простой пошаговый гайд по настройке, моделям, связям и миграциям с использованием Alembic

    Наконец-то пришло время взяться за то, что я давно планировал — подробный гайд по асинхронной версии SQLAlchemy 2.0 в стиле ORM . В этой серии статей я подробно расскажу обо всех аспектах: от создания моделей и установления связей между ними до миграций с Alembic и взаимодействия с данными в базе. Мы будем шаг за шагом разбирать ключевые моменты работы с асинхронной базой данных, что позволит вам глубже понять SQLAlchemy и применить эти знания на практике. Для начала, давайте разберёмся, что такое SQLAlchemy и почему каждый разработчик, работающий с реляционными базами данных (такими как SQLite, PostgreSQL, MySQL и т. д.), должен знать о ней. После этого — настройка. Мы будем работать с PostgreSQL, но не переживайте: код, который мы напишем, универсален для всех реляционных баз данных. Мы начнем с базовой настройки SQLAlchemy для асинхронного взаимодействия, а затем перейдём к созданию таблиц в современном декларативном стиле.

    habr.com/ru/companies/amvera/a

    #sqlalchemy #postgresql #асинхронная_sqlalchemy #alembic #миграции_базы_данных

  29. Telegram Web App, FastAPI и вебхуки в одном приложении: Создаем Telegram-бот с веб-интерфейсом для приема заявок

    Сегодня мы создадим полноценное веб-приложение на FastAPI, которое будет взаимодействовать с Telegram-ботом через MiniApp и вебхуки. В основе проекта — асинхронное взаимодействие с базой данных SQLite с помощью SQLAlchemy, что позволит нам реализовать масштабируемое и эффективное приложение. Наше приложение будет включать как фронтенд, так и API методы для обработки запросов. Все взаимодействия с Telegram-ботом будут осуществляться через вебхуки, что обеспечит быструю и надежную связь. Важным аспектом является то, что мы будем использовать FastAPI для поднятия бота, что позволит интегрировать все компоненты в одном приложении. Для разработки самого бота мы воспользуемся библиотекой Aiogram 3, которая обеспечит удобный и мощный интерфейс для взаимодействия с Telegram API. Это позволит нам быстро реализовать необходимые функции и сделать процесс разработки более эффективным.

    habr.com/ru/companies/amvera/a

    #fastapi #telegram_bot #aiogram_3 #sqlalchemy #telegram_webapp #telegram_webhook #telegram_mini_app #Telegram_Web_App #Telegram_Web_App_JS #Telegram_Web_App_bot

  30. SQLAlchemy 2.0 для новичков

    Данная статья представляет собой ознакомление с базовым синтаксисом SQLAlchemy 2.0, информации здесь хватит для того, чтобы сразу начать пользоваться и удовлетворить 80% ваших нужд, да и на неё вы потратите меньше времени, чем на чтение документации). Предполагается, что вы знакомы с базовым синтаксисом языка Python и, возможно, новичок в программировании, как я :-)

    habr.com/ru/articles/848592/

    #sqlalchemy_20 #sqlalchemy #python #python3 #sqlite #sqlite3

  31. Простой мини-чат на FastApi: Современный интерфейс, вебсокеты и SQLAlchemy с деплоем

    Привет, друзья! Сегодня я подготовил для вас увлекательную практическую статью о создании мини-чата на FastApi. Мы погрузимся в мир вебсокетов, узнаем, зачем они нужны и как применяются в реальных приложениях. Также я продемонстрирую работу с асинхронной SQLAlchemy на примере взаимодействия с базой данных SQLite. Для создания современного интерфейса мы обратимся к интересному и бесплатному сервису Websim.ai, который за пару минут сгенерирует нам интерфейс, включая страничку для входа/регистрации и страницу самого чата. Чтобы наш чат мог обслуживать множество пользователей одновременно, мы выполним деплой нашего FastApi приложения. Для этого воспользуемся сервисом

    habr.com/ru/companies/amvera/a

    #fastapi #sqlalchemy #sqlite #вебсокеты #fastapi_вебсокеты #websocket #websockets_fastapi #alembic #javascript #java_script_websockets

  32. Am I the only one that dont like other ORMs than Rails Active Record? I mean, FastAPI's SQLAlchemy, SQLModel in combination with pydantic as well as Symfonys Doctrine feels a little bit pain in the a** when it comes to complex relations. Active Record just feels smooth compared to the other ones...

    #rubyonrails #activerecord #fastapi #sqlalchemy #sqlmodel #pydantic #doctrine #symfony #python #orm #database

  33. Создание собственного API на Python (FastAPI): Авторизация, Аутентификация и роли пользователей

    Друзья, приветствую! К сожалению, не хватает времени, чтобы чаще публиковаться, и надеюсь, что вы ждали этой статьи. Как вы поняли из названия, сегодня мы поговорим про авторизацию и аутентификацию. Прежде чем вы приступите к прочтению статьи, настоятельно рекомендую вам ознакомиться с прошлым материалом по теме разработки собственного API через FastApi.

    habr.com/ru/articles/829742/

    #fastapi #fastapi_dependecies #python #postgresq #sqlalchemy_20 #sqlalchemy

  34. Создание собственного API на Python (FastAPI): Router и асинхронные запросы в PostgreSQL (SQLAlchemy)

    Друзья, приветствую! Если вы читали мои прошлые статьи из серии «Создание собственного API на Python (FastAPI) и повторяли за мной, то сейчас вы готовы к полноценной интеграции PostgreSQL в ваше API. Сегодня мы научимся ещё более качественно структурировать своим проекты, разберемся что такое Router и внедрим в свой код все базовые методы по асинхронной работе с базой данных PostgreSQL через FastApi.

    habr.com/ru/articles/828328/

    #postgresql #sqlalchemy #sqlalchemy_20 #fastapi #pyhon

  35. Создание собственного API на Python (FastAPI): Структура проекта, SQLAlchemy PostgreSQL, миграции и первые модели таблиц

    Приветствую всех, друзья! Наша последняя статья по созданию собственного API на FastAPI вызвала огромный интерес, и за это я искренне благодарен. Ранее мы рассматривали базовые аспекты работы с FastAPI: различные типы запросов, их валидацию и обработку, а также ответы на эти запросы. Однако, это лишь верхушка айсберга. Уже на данном этапе код становится громоздким и сложным для понимания. К тому же, хранение данных в JSON-файлах — это далеко не самый профессиональный подход. "Нормальные ребята" используют SQLAlchemy, причем асинхронно. Сегодня мы займемся интеграцией асинхронной SQLAlchemy в наше FastAPI-приложение. Для упрощения навигации и понимания кода я предложу структуру проекта, которую сам использую в каждом FastAPI-приложении. Отдельное внимание уделим миграциям с Alembic: что это такое и зачем они нужны. Конкретные функции для взаимодействия с базой данных мы будем рассматривать в следующей статье. Сегодня же займемся подключением, миграциями, описанием моделей таблиц и их созданием.

    habr.com/ru/articles/827222/

    #alembic #sqlalchemy #sqlalchemy_20 #fastapi

  36. Asynpg-lite: лёгкость асинхронных операций на PostgreSQL с SQLAlchemy

    Привет, друзья! Эта статья станет настоящей находкой для всех, кто уже знаком с библиотекой asyncpg-lite, хочет с ней познакомиться или просто стремится легко и эффективно использовать асинхронные возможности SQLAlchemy вместе с asyncpg. Что такое asynpg-lite? Представьте себе библиотеку, которая сочетает в себе мощь асинхронного программирования через asyncpg и безграничные возможности SQLAlchemy. Это asynpg-lite — простая и надёжная библиотека, созданная для того, чтобы каждый, даже новичок, мог воспользоваться её потенциалом. Почему это важно? В мире, где асинхронное программирование становится всё более востребованным, asynpg-lite предлагает идеальное решение для работы с PostgreSQL. Вам не нужны глубокие знания программирования или сложные концепции. Достаточно базового понимания Python (списки, словари, строки и т.д.) и основ SQL и PostgreSQL (таблицы, CRUD-операции, типы колонок и т.д.). Что вас ждёт? Мы начнем с самых основ и шаг за шагом разберём базовые методы этой библиотеки. Это позволит вам сразу же начать использовать её в своих проектах и ощутить все преимущества асинхронной работы с базой данных. Готовы погрузиться в мир асинхронных операций на PostgreSQL с помощью asynpg-lite и SQLAlchemy? Тогда давайте начнем!

    habr.com/ru/articles/823400/

    #sqlalchemy #sqlalchemy_20 #asyncpglite #python

  37. Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka

    Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье. Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке. Для написания прототипа я буду использовать Litestar , FastStream и dishka . Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах. Ну что ж, приступим

    habr.com/ru/companies/pt/artic

    #python #Litestar #прототип #web #faststream #asgi #sqlalchemy #alembic #pydantic #dishka

  38. Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka

    Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье. Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке. Для написания прототипа я буду использовать Litestar , FastStream и dishka . Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах. Ну что ж, приступим

    habr.com/ru/companies/pt/artic

    #python #Litestar #прототип #web #faststream #asgi #sqlalchemy #alembic #pydantic #dishka

  39. Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka

    Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье. Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке. Для написания прототипа я буду использовать Litestar , FastStream и dishka . Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах. Ну что ж, приступим

    habr.com/ru/companies/pt/artic

    #python #Litestar #прототип #web #faststream #asgi #sqlalchemy #alembic #pydantic #dishka

  40. "So why do we use #sqlalchemy and #alembic ?"

    "Because treating data as semantic types is way better than treating it as raw strings. And these tools do the marshalling for us so we don't have to digest SQL responses or build raw SQL queries."

    "Cool. So why are you throwing that chair through a window?"

    "Because my alembic migration failed because server_default=False is a runtime error; Alembic expects server_default='false' because it's just gluing the value into a SQL statement under the hood."

  41. TIL: `alembic --autogenerate` can be taught to use sequential revision ids in the filename: stackoverflow.com/a/67398484/1

  42. some notes of mine, on upgrading/transitioning alembic to an async set-up and what I'm especially proud of, on how to differentiate the environment for alembic in a, in my opinion, most easy and concise way:
    hrdina.me/posts/async-alembic-

    Would love to read some opinions/comments!

  43. Sunday night and Monday were spent on sqlalchemy and alembic and async stuff. My dream in the night from Monday to Tuesday were very sqlalchemy intense. That work will probably result in one or two blog posts about my findings :) Let's see what tonight's dream bring.

  44. We could also use devs, long-term remote . Python is 3.6/3.9 using and .

    Would be awesome if you have a background, along with and .