fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

10K
active users

#fastapi

11 posts7 participants1 post today

GPT‑4.1 глазами веб‑разработчика: возможности, интеграция и примеры

В апреле 2025 года OpenAI представила серию моделей GPT‑4.1 – сразу три версии: GPT‑4.1 (полноразмерная) , GPT‑4.1 mini и GPT‑4.1 nano ​. Все они значительно превосходят предшественников (GPT‑4.0, также называемый GPT‑4o, и GPT‑4o mini) по качеству кодирования, следованию инструкциям и работе с длинным контекстом​. Главная сенсация – поддержка контекста до 1 000 000 токенов ​o. Это примерно 8 полных копий кода фреймворка React, которые теперь можно подать модели за один раз​! Для сравнения, у предыдущих GPT-4 максимальный контекст был 128 тысяч токенов. Обновился и «горизонт знаний» – GPT‑4.1 обучен на данных вплоть до июня 2024 года, что уменьшает количество ответов «не знаю» на современные вопросы. GPT‑4.1 (основная модель) – флагман с максимальными возможностями. Она улучшила результаты на множестве бенчмарков: например, решает ~54.6% задач на SWE-bench Verified (стандартный тест по разработке ПО), тогда как оригинальный GPT‑4o справлялся лишь с 33.2%​. Это рекордный показатель для моделей GPT и на 21% превышает результат GPT‑4o. Модель стала лучше генерировать код без лишних правок (доля «лишнего» кода снизилась с 9% до 2%​) и более строго придерживается форматов (например, может вносить правки в виде diff-патчей, а не переписывать файл целиком​). GPT‑4.1 mini – облегчённая модель, которая жертвует лишь небольшой долей качества ради скорости и цены. По многим заданиям mini догоняет или даже превосходит оригинальный GPT‑4.0. В тестах OpenAI «мини» не уступает GPT‑4o по интеллекту , но при этом выдаёт ответ почти вдвое быстрее и на 83% дешевле обходится по стоимости вызова​ (то есть стоимость снижена до ~17% от GPT‑4.0). Для разработчиков это означает, что многие задачи теперь можно решать “бюджетной” версией модели без ощутимой потери качества. GPT‑4.1 nano – новейшая и самая лёгкая модель в семействе, первый «нано»-уровень от OpenAI. Nano – рекордсмен по скорости и цене : как отмечает OpenAI, это «самая быстрая и дешёвая модель за всю историю компании»​. Например, nano возвращает первый токен ответа менее чем за 5 секунд даже если запрос содержит 128k токенов контекста​. Она также поддерживает 1М контекста и показывает неплохой уровень интеллекта: ~80.1% на знаниевом тесте MMLU и 50.3% на задачах GPQA​. Хотя nano уступает «старшим братьям» в сложных размышлениях, она отлично подходит для простых и массовых задач – классификация, автодополнение кода, чат-боты с короткими ответами​. В целом, появление mini и nano даёт веб-разработчикам гибкость: можно выбрать мощную GPT‑4.1 для сложной логики или обработки гигантского документа, а для быстрых откликов или фоновых задач – задействовать nano с минимальными затратами.

habr.com/ru/articles/900904/

ХабрGPT‑4.1 глазами веб‑разработчика: возможности, интеграция и примерыНовая линейка OpenAI GPT‑4.1: миллион токенов и три модели В апреле 2025 года OpenAI представила серию моделей GPT‑4.1 – сразу три версии: GPT‑4.1 (полноразмерная) , GPT‑4.1 mini и...
#ai#gpt#django

Open vAIR: как мы делали платформу виртуализации и пришли к стандарту разработки

Вы наверняка это видели: заходишь в проект, открываешь код — и сразу понятно, что тут поработали разные команды, каждая со своими привычками. Где-то копипастное болото, где-то хаос, документация — если повезёт, в устной форме от сеньора. А теперь представьте другую картину: модули — по местам, код — читается, как хорошая книга, документация — в порядке, новичок — в процессе, а не в шоке. Это не фантазия, а Open vAIR. Начинали как просто продукт, но по ходу обкатали архитектурные подходы, которые теперь используем как стандарт. И да — выложили всё в open source. Зачем? Сейчас расскажем. А заодно — что с этим делать вам.

habr.com/ru/companies/aerodisk

ХабрOpen vAIR: как мы делали платформу виртуализации и пришли к стандарту разработкиВы наверняка это видели: заходишь в проект, открываешь код — и сразу понятно, что тут поработали разные команды, каждая со своими привычками. Где-то копипастное болото, где-то хаос, документация —...

Always a good day when you get to shut down an old backend service. It was finally time to move my old Flask based server to the heavenly hunting grounds. It's been fully superseded since quite a while by a FastAPI based one. No clients really used the old one anymore so shutting it down was a pretty easy decision to make.

Continued thread

Un altre descobriment en aquest camí ha estat #Pydantic. Com podia viure programàticament parlant sense Pydantic?
Pydantic és una biblioteca de Python que serveix per validar i gestionar dades amb tipus. Et permet definir models (com classes) on s’especifica el tipus de cada camp, i automàticament valida i converteix les dades rebudes. Integrat a la perfecció amb fastAPI.

Continued thread

Totes les aplicacions client per Android funcionen amb #appy i el mateix passa amb les de iOS. Aquesta és la clau, volia aprofitar totes les apps existents per tant l'API havia de ser una copia de la de Mastodon però feta amb fastAPI, que ha resultat una tria excel·lent. fastAPI és brutal, fa tot i més i molt bé. I, a més, et genera automàticament la documentació sense ni preocupar-te per ella. Insisteixo, brutal.

Continued thread

L'estructura tècnica d'#appy funciona gràcies a Python, fastAPI, #Postgresql (base de dades) i #Redis (memòria cau).
Tot de manera asincrona per evitar punts de bloqueig, passen moltes coses en parall·lel, simultàniament, bàsic per a tenir fluïdesa tant en les interaccions amb altres servidors com amb les aplicacions client.
appy funciona bé fins i tot en una #Raspberry 4B, per tant també és una opció vàlida per a tenir el perfil fediversal auto gestionat i a casa.

Continued thread

Quan vaig posar en marxa mastodont.cat no en sabia res de Python i ActivityPub no existia (Mastodon funcionava a les hores amb el protocol Ostatus de GNU Social).
Qui podria pensar que acabaria programant el meu propi servidor? sí, estic content d'haver-ho aconseguit i de compartir el resultat amb la comunitat de programari lliure a codeberg.org/spla/appy
Queda feina encara però sí, ja ho considero un èxit 😃

Summary card of repository spla/appy
Codeberg.orgappya headless ActivityPub server written with Python and fastAPI.

Queden algorismes per polir, afegir funcionalitats com ara bloquejar o silenciar usuaris i servidors i depurar incidències però ja considero que #appy és un èxit.
Des de juny de l'any passat he estat (i estic) molt centrat en desenvolupar el meu propi servidor ActivityPub des de zero, sense copiar res de ningú, per pur plaer personal de superar reptes. He après molt pel camí, no és gens fàcil però he gaudit molt de cada fita.
Va ser tot un encert triar #Python i #fastAPI, van sobrats.

Как упростить контроль доступа в приложениях на FastAPI с помощью фреймворка Oso

В разработке современных веб-приложений контроль доступа является одним из критически важных компонентов. Хотя FastAPI предоставляет базовые инструменты для реализации аутентификации и авторизации, они могут оказаться недостаточными для сложных сценариев. Фреймворк Oso предлагает элегантное решение этой проблемы, значительно упрощая процесс и повышая безопасность вашего приложения. Давайте посмотрим, как это можно реализовать.

habr.com/ru/articles/898078/

ХабрКак упростить контроль доступа в приложениях на FastAPI с помощью фреймворка OsoВ разработке современных веб-приложений контроль доступа является одним из критически важных компонентов. Хотя FastAPI предоставляет базовые инструменты для реализации аутентификации и авторизации,...
Continued thread

I thought I was joking when I started writing that. But.. trivial extra overhead, fortune's ready to apt-get install. My little web service front-end is #nginx + #FastAPI in #Python.

It'd be nothing to make a reject filter for bad URIs that aren't valid for this system and return subprocess.getoutput() and write what's returned back to the curious caller.

Some of the code calling is surely logging weird replies it gets. That'd be fun.

Not high priority fun, but on the list.

Taigram: универсальная клавиатура и исключения

Продолжаем рассказывать о разработке нашего Open Source проекта Taigram . Taigram - это Open Source Self-Hosted решение по отправке уведомлений о событиях из менеджера управления проектами Taiga в Telegram.

habr.com/ru/articles/897118/

ХабрTaigram: универсальная клавиатура и исключенияПродолжаем рассказывать о разработке нашего Open Source проекта  Taigram . Taigram - это Open Source Self-Hosted решение по отправке уведомлений о событиях из менеджера управления проектами Taiga...

Дистанционное управление шлагбаумом с помощью MTC Exolve и GSM модуля

Несмотря на то, что я системный аналитик, проклятие, которое начинается с фразы «тыж программист…», иногда преследует и меня. Недавно у меня спросили совета, как сделать так, чтобы для нужных людей шлагбаум удаленно открывался без транспондера и сложных систем. К сожалению, сходу я не придумал ответа на вопрос, но задачка показалась мне любопытной, и я немного изучил вопрос. Решение нашёл быстро — в качестве аппаратной части можно использовать GSM-реле, а контроль доступа реализовать с помощью микро сервиса для переадресации вызова. И поскольку у меня наличествовал тестовый доступ к

habr.com/ru/companies/exolve/a

ХабрДистанционное управление шлагбаумом с помощью MTC Exolve и GSM модуляНесмотря на то, что я системный аналитик, проклятие, которое начинается с фразы  «тыж программист…», иногда преследует и меня. Недавно у меня спросили совета, как сделать так, чтобы для нужных...

Part2: #dailyreport #fastapi #webdevelopment #web #html #cookies
else:
return sync_wrapper

In async_wrapper:
if asyncio.iscoroutine(result):
result = await result
return result

Authentification handled by cookies I use simple sessions
based on two salts generated at server side with
expiration date and generate session tokens as hesh with
username and salt I use hashing sha256 to generate
session tokens. passwords stored in JSON as bcrypt
hashes with help of passlib.

With AI, I added simple brutefore protection by IP.

Part1: #dailyreport #fastapi #webdevelopment #web #html #cookies
#webauthentification #authentification
I made small web site with authentification and simple
forms to allow boss and clients to control our server
with help of FastAPI and Jinja2 templates.

Page is just table <table> with rows that have <form>
with hidden field of id and buttons to save or delete,
add button with <form> at bottom.

pydantic used for forms verification.

All GET and POST functions wrapped with decorator that
catch exception and send notification to Telegram
messanger. It have async_wrapper and sync_wrapper.

if asyncio.iscoroutinefunction(func):
return async_wrapper