и посмотреть медиа
Библиотека питониста: Python Django Flask
и посмотреть медиа
Все полезное для Python разработчиков: Django, Flask и библиотеки.
Все полезное для Python разработчиков: Django, Flask и библиотеки.
Комплексный канал для питонистов. Содержит подборки библиотек, гайды по Django и Flask, примеры кода и советы. Все самое нужное в одном месте для эффективной работы и обучения веб-разработке на Python.
✔️ Тест прошёл, но не потому что мок сработал Классическая ловушка с моками в Python: тест зелёный, но реальный API всё равно вызывается. Вот как это происходит и как проверить что мок реально перехватил вызов. Симптом Тест на исключение при невалидной валюте проходит. Но в моке настроен ответ "result": "success" — который никогда не выбросит исключение. Как тест зелёный? Реальный API вернул ошибку для несуществующей валюты «CTM». Мок вообще не сработал. Как доказать что мок перехватил вызов with pytest.raises(CurrencyConversionError): convert_currency( amount=Decimal("1.00"), from_currency="CAD", to_currency="CTM", ) mock_get.assert_called_once() # если упал — мок не перехватил, бил реальный API assert_called_once() — не опциональная проверка, а обязательная часть теста когда вы мокаете внешние вызовы. Главное правило: патчить там где имя используется, не где определено # модуль делает: import requests # правильно: mocker.patch("myapp.utils.currency.requests.get") # если модуль делает: from requests import get # то только так: mocker.patch("myapp.utils.currency.get") # requests.get здесь не перехватит ничего Это самая частая причина почему мок «не работает». Итоговый тест с pytest-mock def test_bad_currency_raises(self, mocker): mock_get = mocker.patch("myapp.utils.currency.requests.get") mock_get.return_value.json.return_value = { "result": "error", "error-type": "unknown-code", } with pytest.raises(CurrencyConversionError): convert_currency(Decimal("1.00"), "CAD", "CTM") mock_get.assert_called_once() Когда мок — не лучший инструмент Если каждый тест завязан на конкретный import path — это тест реализации, не поведения. Альтернатива: адаптер-класс для внешнего вызова + fake-реализация + dependency injection. Тогда не нужно патчить вообще. 📍 Навигация: Вакансии • Задачи • Собесы Библиотека питониста #буст
Открыть канал и посмотреть медиа⏰ Уже сегодня в 19:00 (МСК) стартует наш открытый урок! Знаем, летом хочется отложить учёбу на осень. Но пока остальные отдыхают 😅, мы предлагаем без лишней конкуренции прокачать свой workflow и начать закрывать тикеты в три раза быстрее. Тема: «AI-инструменты в разработке: пишем код быстрее» Мы покажем живой разбор реального проекта: как с помощью AI-ассистентов мгновенно разбираться в чужой кодовой базе, искать нужные участки и собирать Pull Request. Только рабочие промпты, которые сэкономят вам часы рутины. 🎙 Спикер — Ольга Лукьянова, руководитель команды в SourceCraft (18+ лет развивала инструменты в JetBrains и Huawei). 👉 Узнать, как ускорить разработку с AI
Открыть канал и посмотреть медиа📘 Tricky Python: квиз из самых коварных ловушек языка 20 вопросов, каждый раз случайная выборка из базы WTFPython. В конце показывает объяснение каждой ловушки и даёт карточку с результатом — можно делиться. ➡️ Ссылка на квиз 📍 Навигация: Вакансии • Задачи • Собесы Библиотека питониста #буст
Открыть канал и посмотреть медиа🤖 Мы тут подготовили небольшую игру по ИИ-агентам В ней нужно собрать AI-агента на LangGraph: выбрать узлы, пройти развилки и запустить собственный workflow. Никакой теории — сразу практика. Можно наглядно увидеть, как работают агентные системы, проверьте свои знания или показать другим как это всё работает 🔥 🎁 За прохождение получите персональную скидку на курс. Чем больше баллов наберете — тем больше будет скидка. Плюс сейчас действует предложение: покупаешь 1 курс, получаешь еще 2 любых в подарок. Для этого надо будет оставить заявку на сайте академии после прохождения игры. 🚀 Собрать своего AI-агента
Открыть канал и посмотреть медиа🤖 Используешь AI для написания кода? В Яндексе покажут, как применять AI для реальных задач разработки. 23 июня в 19:00 совместно с Яндексом проведём открытый урок «AI-инструменты в разработке: как писать код быстрее с помощью ассистентов». Спикер — Ольга Лукьянова, руководитель команды поиска и навигации по коду в SourceCraft. Более 18 лет развивала инструменты для разработчиков в JetBrains и руководила разработкой IDE в Huawei. Что получишь на уроке: — поймёшь, как использовать AI-ассистентов и облачных агентов в работе; — научишься быстрее разбираться в новых проектах и кодовой базе; — узнаешь, какие задачи стоит отдавать AI и как получать качественный результат; — увидишь полный workflow работы с AI: от постановки задачи до код-ревью. На уроке — живой разбор реального проекта с кодом. Ольга покажет промпты из рабочих сценариев и ответит на ваши вопросы в Q&A. ⚠️ Количество мест ограничено 🗓️ Когда: 23 июня, 19:00 (МСК) 👉 Занять место на открытом уроке
Открыть канал и посмотреть медиаБиблиотека питониста #развлекалово
Открыть канал и посмотреть медиа⏰ Уже сегодня в 19:00 (МСК) стартует открытый урок! Тема: «Мультиагентные системы: почему большинство архитектур переусложнены» 🔥 За 90 минут разберёмся, когда действительно стоит строить мультиагентную систему, а когда она только добавляет сложность, расходы и новые точки отказа. Поговорим о критериях выбора архитектуры, типичных ошибках и ограничениях современных ИИ-агентов, которые важно учитывать ещё до внедрения в продукт. 🎙️ Спикер — Дмитрий Юдин, руководитель AI/ML-направления в Сloud․ru. 🎁 Для всех участников подготовили промокод на скидку 10 000 ₽ на курс «Разработка ИИ-агентов». 👉 Успей присоединиться к уроку
Открыть канал и посмотреть медиа✳️ Pyodide 314.0: Python в браузере стал по-настоящему взрослым Вышел Pyodide 314.0, и это не просто очередной релиз. Несколько важных изменений которые меняют экосистему. ➡️ Главное: PEP 783 принят Теперь пакеты для Pyodide можно публиковать прямо на PyPI — как обычные wheels для Linux, macOS или Windows. Раньше команда Pyodide вручную собирала и хостила 300+ пакетов. Теперь это головная боль авторов пакетов, а не мейнтейнеров проекта. Для установки пакета в браузере достаточно: import micropip await micropip.install("ваш-пакет") И пакет приедет прямо с PyPI. ➡️ Новая схема версий Скачок с 0.29 до 314.0 не случаен — версия теперь соответствует версии Python. Pyodide 314.x = Python 3.14. Бинарная совместимость пакетов теперь привязана к версии Python, а не к релизу Pyodide. ➡️ Что ещё изменилось — ssl, sqlite3, lzma вернулись в стандартную библиотеку — больше не нужно устанавливать отдельно — Доступен новый модуль compression.zstd из Python 3.14 — Экспериментальная поддержка сокетов в Node.js — можно подключаться к MySQL, PostgreSQL, Redis — JsBigInt — числа больше 2^53 теперь корректно передаются между Python и JavaScript — Поддержка using из JavaScript Resource Management proposal: { using proxy = pyodide.runPython("some_object()"); // объект автоматически уничтожается при выходе из блока } Что ещё произошло в экосистеме 🐍 Python 3.14.6 и 3.13.14 — плановые релизы с исправлениями: 179 багфиксов в 3.14.6 и 240 в 3.13.14. Никаких новых фич, только стабильность. 🛡 Django 6.0.6 и 5.2.15 — security-релизы. Закрыли пять уязвимостей низкой критичности, включая баг с подписанными cookie (`get_signed_cookie()`) и риск отправки писем без TLS при сбое STARTTLS-хендшейка. Обновляться стоит, но паниковать не нужно — severity у всех «low». 🧪 Python 3.15.0b2 — вторая бета. Среди заявленных фич: PEP 810 (ленивые импорты для быстрого старта), PEP 814 (встроенный тип frozendict`), `PEP 661 (тип sentinel`) и встроенный профайлер из `PEP 799. До релиза ещё далеко — ожидается в октябре. 📍 Навигация: Вакансии • Задачи • Собесы Библиотека питониста #буст
Открыть канал и посмотреть медиаэто всего лишь библиотеки 😁 никаких тебе несовместимостей или ошибок импорта Библиотека питониста #развлекалово
Открыть канал и посмотреть медиаТолько зарегистрированные пользователи могут делиться своим мнением.
Станьте первым, кто поделится своим впечатлением об этом ресурсе!
Эксперт по цифровым активам делится инсайтами о блокчейне, AI, инвестициях и философии жизни. Полезные советы для энтузиастов крипты.
Канал с разнообразными постами: новости, мнения, полезная информация и свежий контент ежедневно.
Мотивация, цитаты и советы: цельтесь в луну, чтобы достичь звезд. Вдохновение ежедневно.