и посмотреть медиа
Библиотека питониста: 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. До релиза ещё далеко — ожидается в октябре. 📍 Навигация: Вакансии • Задачи • Собесы Библиотека питониста #буст
Открыть канал и посмотреть медиаэто всего лишь библиотеки 😁 никаких тебе несовместимостей или ошибок импорта Библиотека питониста #развлекалово
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!
A service for simple exchange of cryptocurrencies. Quick swaps without swapsKYC, support for multiple blockchains. Ideal for traders and holding companies.
QuickSwap OfficialDecentralized exchange on Polygon. Fast trading, liquidity and pharming with minimal gases.
News and updates from the world of artificial intelligence in a convenient format.