#sqlalchemy — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #sqlalchemy, aggregated by home.social.
-
"Wait… SQLAlchemy Core Support?", I hear you ask. Yes, #DBXS supports #SQLAlchemy Core, and has done so for quite some time. This was previously undocumented so I can certainly forgive you for not knowing.
So the *real* story of this release is not so much any big code changes, but rather updated dependency testing as well as *comprehensive documentation* for the SQLAlchemy feature. This may teach you a few things you didn't know about #Python database support. https://dbxs.readthedocs.io/en/latest/howto.html#sqlalchemy-core-support
-
"Wait… SQLAlchemy Core Support?", I hear you ask. Yes, #DBXS supports #SQLAlchemy Core, and has done so for quite some time. This was previously undocumented so I can certainly forgive you for not knowing.
So the *real* story of this release is not so much any big code changes, but rather updated dependency testing as well as *comprehensive documentation* for the SQLAlchemy feature. This may teach you a few things you didn't know about #Python database support. https://dbxs.readthedocs.io/en/latest/howto.html#sqlalchemy-core-support
-
"Wait… SQLAlchemy Core Support?", I hear you ask. Yes, #DBXS supports #SQLAlchemy Core, and has done so for quite some time. This was previously undocumented so I can certainly forgive you for not knowing.
So the *real* story of this release is not so much any big code changes, but rather updated dependency testing as well as *comprehensive documentation* for the SQLAlchemy feature. This may teach you a few things you didn't know about #Python database support. https://dbxs.readthedocs.io/en/latest/howto.html#sqlalchemy-core-support
-
"Wait… SQLAlchemy Core Support?", I hear you ask. Yes, #DBXS supports #SQLAlchemy Core, and has done so for quite some time. This was previously undocumented so I can certainly forgive you for not knowing.
So the *real* story of this release is not so much any big code changes, but rather updated dependency testing as well as *comprehensive documentation* for the SQLAlchemy feature. This may teach you a few things you didn't know about #Python database support. https://dbxs.readthedocs.io/en/latest/howto.html#sqlalchemy-core-support
-
"Wait… SQLAlchemy Core Support?", I hear you ask. Yes, #DBXS supports #SQLAlchemy Core, and has done so for quite some time. This was previously undocumented so I can certainly forgive you for not knowing.
So the *real* story of this release is not so much any big code changes, but rather updated dependency testing as well as *comprehensive documentation* for the SQLAlchemy feature. This may teach you a few things you didn't know about #Python database support. https://dbxs.readthedocs.io/en/latest/howto.html#sqlalchemy-core-support
-
Три архитектурных решения для 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.
https://habr.com/ru/articles/1033488/
#multitenant #fastapi #postgresql #sqlalchemy #exclude_using_gist #argon2id #pbkdf2 #152фз #audit_log #b2b_saas
-
Три архитектурных решения для 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.
https://habr.com/ru/articles/1033488/
#multitenant #fastapi #postgresql #sqlalchemy #exclude_using_gist #argon2id #pbkdf2 #152фз #audit_log #b2b_saas
-
Три архитектурных решения для 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.
https://habr.com/ru/articles/1033488/
#multitenant #fastapi #postgresql #sqlalchemy #exclude_using_gist #argon2id #pbkdf2 #152фз #audit_log #b2b_saas
-
Три архитектурных решения для 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.
https://habr.com/ru/articles/1033488/
#multitenant #fastapi #postgresql #sqlalchemy #exclude_using_gist #argon2id #pbkdf2 #152фз #audit_log #b2b_saas
-
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.
https://www.riverfount.dev.br/posts/connection-pooling-sqlalchemy/
-
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.
https://www.riverfount.dev.br/posts/connection-pooling-sqlalchemy/
-
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.
https://www.riverfount.dev.br/posts/connection-pooling-sqlalchemy/
-
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.
https://www.riverfount.dev.br/posts/connection-pooling-sqlalchemy/
-
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.
https://www.riverfount.dev.br/posts/connection-pooling-sqlalchemy/
-
I'm sure I'm doing something stupid, but I'm seeing SQLAlchemy+sqlite return a row that doesn't match the select condition. It is likely that SQLAlchemy is caching something, even though the session is fresh,
But the query is:
stmt = select(orm.Files).where(orm.Files.user == user and orm.Files.ontape == False).limit(1)and it's returning:
Files(user='someuser', uuid='1b9f0805-6587-46ba-a44d-df0e2a1654bb', name='filename', size=3181952, ontape=True)NEVER EVER should database software cache data at the start of a session. That's just wrong.
-
I'm sure I'm doing something stupid, but I'm seeing SQLAlchemy+sqlite return a row that doesn't match the select condition. It is likely that SQLAlchemy is caching something, even though the session is fresh,
But the query is:
stmt = select(orm.Files).where(orm.Files.user == user and orm.Files.ontape == False).limit(1)and it's returning:
Files(user='someuser', uuid='1b9f0805-6587-46ba-a44d-df0e2a1654bb', name='filename', size=3181952, ontape=True)NEVER EVER should database software cache data at the start of a session. That's just wrong.
-
I'm sure I'm doing something stupid, but I'm seeing SQLAlchemy+sqlite return a row that doesn't match the select condition. It is likely that SQLAlchemy is caching something, even though the session is fresh,
But the query is:
stmt = select(orm.Files).where(orm.Files.user == user and orm.Files.ontape == False).limit(1)and it's returning:
Files(user='someuser', uuid='1b9f0805-6587-46ba-a44d-df0e2a1654bb', name='filename', size=3181952, ontape=True)NEVER EVER should database software cache data at the start of a session. That's just wrong.
-
I'm sure I'm doing something stupid, but I'm seeing SQLAlchemy+sqlite return a row that doesn't match the select condition. It is likely that SQLAlchemy is caching something, even though the session is fresh,
But the query is:
stmt = select(orm.Files).where(orm.Files.user == user and orm.Files.ontape == False).limit(1)and it's returning:
Files(user='someuser', uuid='1b9f0805-6587-46ba-a44d-df0e2a1654bb', name='filename', size=3181952, ontape=True)NEVER EVER should database software cache data at the start of a session. That's just wrong.
-
I'm sure I'm doing something stupid, but I'm seeing SQLAlchemy+sqlite return a row that doesn't match the select condition. It is likely that SQLAlchemy is caching something, even though the session is fresh,
But the query is:
stmt = select(orm.Files).where(orm.Files.user == user and orm.Files.ontape == False).limit(1)and it's returning:
Files(user='someuser', uuid='1b9f0805-6587-46ba-a44d-df0e2a1654bb', name='filename', size=3181952, ontape=True)NEVER EVER should database software cache data at the start of a session. That's just wrong.
-
Ich versacke im #python Universum. Nachdem ich einen Griff an #fastapi @FastAPI bekommen und @pydantic ein wenig verstanden habe, habe ich mir #sqlalchemy angesehen und mir ist am Donnerstag #typer über den Weg gelaufen. Auth kommt dann auch noch.
Mit einem eigenen Skill führt mich @claudeai Stück für Stück zu einer umfangreichen Anwendung -
Ich versacke im #python Universum. Nachdem ich einen Griff an #fastapi @FastAPI bekommen und @pydantic ein wenig verstanden habe, habe ich mir #sqlalchemy angesehen und mir ist am Donnerstag #typer über den Weg gelaufen. Auth kommt dann auch noch.
Mit einem eigenen Skill führt mich @claudeai Stück für Stück zu einer umfangreichen Anwendung -
Developing a Robust CRUD Application with FastAPI and SQLAlchemy: A Comprehensive Tutorial
In 2026, the demand for high-performance, asynchronous web services continues to grow, making FastAPI the industry standard for Python-based backend development. This guide walks you through the essen...
📺 Watch here: https://www.youtube.com/watch?v=uGf2YTieHNw
-
Как я за выходные собрала сервис озвучки книг на 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. Читать разбор архитектуры
https://habr.com/ru/articles/1010306/
#python #fastapi #telegram_bot #aiogram #edge_tts #sqlalchemy #postgresql #архитектура #petпроект #аудиокниги
-
Как я за выходные собрала сервис озвучки книг на 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. Читать разбор архитектуры
https://habr.com/ru/articles/1010306/
#python #fastapi #telegram_bot #aiogram #edge_tts #sqlalchemy #postgresql #архитектура #petпроект #аудиокниги
-
Как я за выходные собрала сервис озвучки книг на 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. Читать разбор архитектуры
https://habr.com/ru/articles/1010306/
#python #fastapi #telegram_bot #aiogram #edge_tts #sqlalchemy #postgresql #архитектура #petпроект #аудиокниги
-
Как я за выходные собрала сервис озвучки книг на 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. Читать разбор архитектуры
https://habr.com/ru/articles/1010306/
#python #fastapi #telegram_bot #aiogram #edge_tts #sqlalchemy #postgresql #архитектура #petпроект #аудиокниги
-
In Which I Vibe-Code a Personal Library System https://hackaday.com/2025/12/03/in-which-i-vibe-code-a-personal-library-system/ #ArtificialIntelligence #barcodescanner #librarysystem #OriginalArt #SQLAlchemy #vibecoding #Featured #Interest #barcode #ChatGPT #library #flask
-
Асинхронный SQLAlchemy 2: пошаговый гайд по управлению сессиями, добавлению и извлечению данных с Pydantic
Продолжаем цикл статей по асинхронной SQLAlchemy в стиле ORM! Если вы ещё не успели ознакомиться с первой частью, настоятельно рекомендую сделать это, так как сегодняшний материал будет опираться на уже освоенные знания. Что нас ждёт сегодня? - Сессии и фабрики сессий: Узнаем, как эффективно управлять сессиями для взаимодействия с базой данных. - Добавление данных в таблицы: Освоим безопасные методы добавления новых записей с использованием ORM-методов. - Извлечение данных из таблиц: Погрузимся в мир извлечения данных. Рассмотрим простые запросы и более сложные фильтры для работы с данными. После прочтения этой статьи вы сможете уверенно добавлять и извлекать данные с помощью SQLAlchemy для любых табличных баз данных. Не пропустите, будет интересно и полезно!
https://habr.com/ru/companies/amvera/articles/850470/
#sqlalchemy #python #АсинхронноеПрограммирование #orm #PostgreSQL #БазыДанных #pydantic #SQLAlchemy_ORM #sqlalchemy_20 #async_sqlalchemy
-
Хроники тестирования Data Quality
В современных data-процессах ключевую роль играет обеспечение качества данных. Рассмотрим четыре популярных подхода: DBT, SQL, Python (Pandas/SQLAlchemy) и Great Expectations, оценив их эффективность для различных сценариев проверки данных. Эта статья будет интересна и полезна Data-инженерам, аналитикам данных и специалистам Data Quality для выбора оптимального метода валидации данных в зависимости от стека технологий и сложности бизнес-логики. Материал ориентирован на начинающий уровень подготовки: тем, кто еще не сталкивался системно с инструментами управления качеством данных. Привет, Хабр! Меня зовут Мария, я Data-инженер в SimbirSoft, и предлагаю для начала немного познакомиться с каждым из вышеперечисленных инструментов. Читать далее ⚡
https://habr.com/ru/companies/simbirsoft/articles/978504/
#data_engineering #data_quality #dbt #sql #python #pandas #great_expectations #sqlalchemy #greenplum
-
Создание анонимного чата в Telegram: Бот с MiniApp интерфейсом. Часть 1 — Бэкенд на FastAPI, Aiogram, Redis и Centrifugo
Это первая статья из цикла, посвященного разработке телеграм-бота с MiniApp для случайных чатов. В этой части мы сосредоточимся на создании бэкенда, используя современные технологии: FastAPI для разработки API, Redis для хранения данных в реальном времени и Centrifugo для обеспечения мгновенного взаимодействия между пользователями. Сегодня мы подробно разберем архитектуру проекта, настройку серверов и реализацию логики бота. В следующей статье мы переключимся на фронтенд и займемся разработкой MiniApp с использованием фреймворка Vue.js . Это позволит создать интуитивно понятный интерфейс для пользователей, где они смогут настраивать параметры поиска собеседника и общаться в режиме реального времени (Real time).
https://habr.com/ru/companies/amvera/articles/890976/
#fastapi #telegram_mini_app #telegram_webapp #python #centrifugo #centrifugo_v6 #sqlalchemy #redis #redis_python #бэкенд
-
Telegram Web App, FastAPI и вебхуки в одном приложении: Создаем Telegram-бот с веб-интерфейсом для приема заявок
Сегодня мы создадим полноценное веб-приложение на FastAPI, которое будет взаимодействовать с Telegram-ботом через MiniApp и вебхуки. В основе проекта — асинхронное взаимодействие с базой данных SQLite с помощью SQLAlchemy, что позволит нам реализовать масштабируемое и эффективное приложение. Наше приложение будет включать как фронтенд, так и API методы для обработки запросов. Все взаимодействия с Telegram-ботом будут осуществляться через вебхуки, что обеспечит быструю и надежную связь. Важным аспектом является то, что мы будем использовать FastAPI для поднятия бота, что позволит интегрировать все компоненты в одном приложении. Для разработки самого бота мы воспользуемся библиотекой Aiogram 3, которая обеспечит удобный и мощный интерфейс для взаимодействия с Telegram API. Это позволит нам быстро реализовать необходимые функции и сделать процесс разработки более эффективным.
https://habr.com/ru/companies/amvera/articles/848644/
#fastapi #telegram_bot #aiogram_3 #sqlalchemy #telegram_webapp #telegram_webhook #telegram_mini_app #Telegram_Web_App #Telegram_Web_App_JS #Telegram_Web_App_bot
-
FastAPI и Vue.js 3: телеграм-бот с MiniApp для записи и автоматических уведомлений. Пишем бэкенд
Сегодня я рад представить новый масштабный проект, в рамках которого мы подробно рассмотрим технологии и подходы, ранее не освещенные в моих статьях. На этот раз мы создадим телеграм-бота с MiniApp (ранее известным как WebApp) — это будет бот с интегрированным мини-сайтом прямо в Telegram. Для реализации проекта мы используем два основных фреймворка: 1. FastAPI — мощный Python-фреймворк, который мы задействуем для разработки API нашего телеграм-бота. Мы рассмотрим уникальный подход, позволяющий создать полноценный бэкенд, который будет закрывать как API-методы, так и функционал телеграм-бота. 2. Vue.js 3 — JavaScript-фреймворк, выбранный за его удобство разработки и возможности создания сложных визуальных элементов. В этой статье мы сосредоточимся на описании бэкенда, а создание приложения на Vue.js 3 будет вынесено на следующую статью.
https://habr.com/ru/companies/amvera/articles/873108/
#fastapi #sqlalchemy #sqlalchemy_20 #telegram_bot #telegram_bot_api #telegram_mini_app #telegram_web_app #telegram_web_app_bot #apscheduler #python
-
#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.
-
W31 progress note is out: https://www.goffi.org/b/libervia-progress-note-2021-w31-Ua14 .
It talks about the the preparation of 0.8 release and the work for ActivityPub gateway.
#libervia #salutatoi #XMPP #progress_note #pubsub #weblate #sqlalchemy #activitypub #nlnet -
Практическое тестирование приложений
Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс. Ну что ж, приступим
https://habr.com/ru/articles/958014/
#python #faststream #dishka #litestar #fastapi #sqlalchemy #pydantic #asgi #pytest
-
Практическое тестирование приложений
Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс. Ну что ж, приступим
https://habr.com/ru/articles/958014/
#python #faststream #dishka #litestar #fastapi #sqlalchemy #pydantic #asgi #pytest
-
Практическое тестирование приложений
Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс. Ну что ж, приступим
https://habr.com/ru/articles/958014/
#python #faststream #dishka #litestar #fastapi #sqlalchemy #pydantic #asgi #pytest
-
Практическое тестирование приложений
Всем привет! Эта статья — продолжение материала про универсальный прототип бэкенд-приложений. В ней я поделюсь практическим опытом написания тестов и покажу, как выбранная архитектура упрощает этот процесс. Ну что ж, приступим
https://habr.com/ru/articles/958014/
#python #faststream #dishka #litestar #fastapi #sqlalchemy #pydantic #asgi #pytest
-
Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka
Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье. Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке. Для написания прототипа я буду использовать Litestar , FastStream и dishka . Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах. Ну что ж, приступим
https://habr.com/ru/companies/pt/articles/820171/
#python #Litestar #прототип #web #faststream #asgi #sqlalchemy #alembic #pydantic #dishka
-
Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka
Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье. Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке. Для написания прототипа я буду использовать Litestar , FastStream и dishka . Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах. Ну что ж, приступим
https://habr.com/ru/companies/pt/articles/820171/
#python #Litestar #прототип #web #faststream #asgi #sqlalchemy #alembic #pydantic #dishka
-
Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka
Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье. Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке. Для написания прототипа я буду использовать Litestar , FastStream и dishka . Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах. Ну что ж, приступим
https://habr.com/ru/companies/pt/articles/820171/
#python #Litestar #прототип #web #faststream #asgi #sqlalchemy #alembic #pydantic #dishka
-
⚙️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! ➡️ https://editor.besser-pearl.org/
Did I already mention is completely 🆓 and #opensource?
-
Создание собственного API на Python (FastAPI): Авторизация, Аутентификация и роли пользователей
Друзья, приветствую! К сожалению, не хватает времени, чтобы чаще публиковаться, и надеюсь, что вы ждали этой статьи. Как вы поняли из названия, сегодня мы поговорим про авторизацию и аутентификацию. Прежде чем вы приступите к прочтению статьи, настоятельно рекомендую вам ознакомиться с прошлым материалом по теме разработки собственного API через FastApi.
https://habr.com/ru/articles/829742/
#fastapi #fastapi_dependecies #python #postgresq #sqlalchemy_20 #sqlalchemy
-
FastAPI + Keycloak: Простая и безопасная авторизация в веб-приложении на примере реального проекта
Keycloak - это мощная open-source платформа для аутентификации и авторизации, которую используют даже банки и крупные корпоративные клиенты для защиты своих приложений и данных. В статье на реальном примере (FastAPI + Python) простым языком объясню, как Keycloak помогает упростить управление доступом и почему его принципы универсальны для любого бэкенда, независимо от выбранного языка программирования
https://habr.com/ru/companies/amvera/articles/907990/
#keycloak #fastapi #авторизация #базы_данных #python #keycloak_fastapi #вебразработка #sqlalchemy_20 #sqlalchemy #javascript
-
Рекурсивные запросы в SQLAlchemy
Когда возникает необходимость работать с иерархической структурой данных, кажется, что решение давно найдено, ведь подобные задачи уже неоднократно решались. Возможно, даже выбран инструмент, например, Python и SQLAlchemy. Однако, углубляясь в задачу, понимаешь, что вариантов множество, даже в вопросе, как извлечь данные из базы: использовать стратегию selectin для загрузки родительских элементов? Или, возможно, стоит применить joinload? А может, лучше воспользоваться CTE‑запросами, которые рекомендуются в 90% статей? Но насколько CTE действительно эффективно по сравнению с другими методами? Более того, большинство примеров рассматривают ситуации в идеальных условиях, далёких от реальных проектов. В этой статье я рассмотрю основные способы получения иерархической структуры из БД на примере реального многослойного приложения с использованием SQLAlchemy 2.0. Как обычно, есть важные нюансы, о которых редко упоминают, хотя они весьма любопытны. В завершение проведу сравнение производительности всех описанных подходов. Погружаемся
-
SQLAlchemy 2.0 + Python Generic, или как создать универсальный репозиторий для работы с БД
Доброго времени суток, товарищи, эта статья, так скажем, продолжение предыдущей статьи об SQLAlchemy 2.0 для новичков , в этой статье мы узнаем что такое Python Generic и как его можно использовать в наших целях при взаимодействии с БД.
https://habr.com/ru/articles/853326/
#python #python3 #sqlalchemy_20 #sqlalchemy #generic #generics #типизация #пайтон #дженерики
-
SQLAlchemy 2.0 для новичков
Данная статья представляет собой ознакомление с базовым синтаксисом SQLAlchemy 2.0, информации здесь хватит для того, чтобы сразу начать пользоваться и удовлетворить 80% ваших нужд, да и на неё вы потратите меньше времени, чем на чтение документации). Предполагается, что вы знакомы с базовым синтаксисом языка Python и, возможно, новичок в программировании, как я :-)
https://habr.com/ru/articles/848592/
#sqlalchemy_20 #sqlalchemy #python #python3 #sqlite #sqlite3
-
Создание собственного API на Python (FastAPI): Router и асинхронные запросы в PostgreSQL (SQLAlchemy)
Друзья, приветствую! Если вы читали мои прошлые статьи из серии «Создание собственного API на Python (FastAPI) и повторяли за мной, то сейчас вы готовы к полноценной интеграции PostgreSQL в ваше API. Сегодня мы научимся ещё более качественно структурировать своим проекты, разберемся что такое Router и внедрим в свой код все базовые методы по асинхронной работе с базой данных PostgreSQL через FastApi.
-
Создание собственного API на Python (FastAPI): Структура проекта, SQLAlchemy PostgreSQL, миграции и первые модели таблиц
Приветствую всех, друзья! Наша последняя статья по созданию собственного API на FastAPI вызвала огромный интерес, и за это я искренне благодарен. Ранее мы рассматривали базовые аспекты работы с FastAPI: различные типы запросов, их валидацию и обработку, а также ответы на эти запросы. Однако, это лишь верхушка айсберга. Уже на данном этапе код становится громоздким и сложным для понимания. К тому же, хранение данных в JSON-файлах — это далеко не самый профессиональный подход. "Нормальные ребята" используют SQLAlchemy, причем асинхронно. Сегодня мы займемся интеграцией асинхронной SQLAlchemy в наше FastAPI-приложение. Для упрощения навигации и понимания кода я предложу структуру проекта, которую сам использую в каждом FastAPI-приложении. Отдельное внимание уделим миграциям с Alembic: что это такое и зачем они нужны. Конкретные функции для взаимодействия с базой данных мы будем рассматривать в следующей статье. Сегодня же займемся подключением, миграциями, описанием моделей таблиц и их созданием.