🎁 Конкурс от Proglib Academy!
Кстати, если кто-то ещё не в курсе — у нас тут раздают MacBook Pro 14.
Да-да, не шутка, настоящий, железный, с M3 Pro
Но! Чтобы успеть пройти 2 недели обучения к 15 ноября, курс нужно взять до конца октября — и сейчас на всё скидка 40%.
Чтобы поучаствовать, нужно:
1️⃣ Покупаешь любой курс до конца октября;
2️⃣ Проходишь 2 недели обучения к 15 ноября;
3️⃣ Написать куратору в чат #розыгрыш.
До 15 ноября, потом всё — поезд (и макбук) уйдёт.
👉 Участвовать в розыгрыше
Кстати, если кто-то ещё не в курсе — у нас тут раздают MacBook Pro 14.
Да-да, не шутка, настоящий, железный, с M3 Pro
Но! Чтобы успеть пройти 2 недели обучения к 15 ноября, курс нужно взять до конца октября — и сейчас на всё скидка 40%.
Чтобы поучаствовать, нужно:
1️⃣ Покупаешь любой курс до конца октября;
2️⃣ Проходишь 2 недели обучения к 15 ноября;
3️⃣ Написать куратору в чат #розыгрыш.
До 15 ноября, потом всё — поезд (и макбук) уйдёт.
👉 Участвовать в розыгрыше
Please open Telegram to view this post
VIEW IN TELEGRAM
😁29💯3
🧪 Pytest Fixtures: как сделать тесты чистыми, переиспользуемыми и модульными
Фикстуры в
Они позволяют:
✔️ Не дублировать код: создаёте данные один раз и используете их в нескольких тестах.
✔️ Переиспользовать данные между модулями: через
✔️ Параметризовать тесты:
✔️ Автоматически подключать фикстуры:
Пример простой фикстуры для пользователя:
Советы по организации фикстур:
✔️ Для маленьких проектов фикстуры можно держать в
✔️ Для больших проектов удобно создавать отдельную папку
✔️ Используйте
✔️ Параметр
Как используют фикстуры известные проекты:
🔥 Pydantic — держат фикстуры в тестовых модулях, высокая когезия.
🔥 Streamlit — комбинируют unit-тесты и e2e-тесты с фикстурами в
🔥 Hypothesis — генерирует случайные данные для property-based testing.
➡️ Чуть подробнее в полезной статье
🐸 Библиотека питониста
#буст
Фикстуры в
pytest — это мощный инструмент для организации тестовой архитектуры. Они позволяют:
conftest.py фикстуры становятся доступны во всех тестах.params запускает один тест с разными входными данными.autouse=True делает их доступными без явного указания в тестах.Пример простой фикстуры для пользователя:
import pytest
from dataclasses import dataclass
@dataclass
class User:
name: str
email: str
@pytest.fixture()
def user_fixture():
return User(name="Patrick", email="[email protected]")
def test_valid_user(user_fixture):
assert validate_user(user_fixture).is_valid
def test_valid_email(user_fixture):
assert validate_email(user_fixture).is_valid
Советы по организации фикстур:
conftest.py.fixtures/ и импортировать их в conftest.py.scope (function, module, session) для контроля времени жизни фикстуры.name помогает давать понятные имена фикстурам.Как используют фикстуры известные проекты:
🔥 Pydantic — держат фикстуры в тестовых модулях, высокая когезия.
🔥 Streamlit — комбинируют unit-тесты и e2e-тесты с фикстурами в
conftest.py.🔥 Hypothesis — генерирует случайные данные для property-based testing.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤5🔥4
Pyfory — это реализация Apache Fory™ для Python — универсального фреймворка сериализации, который можно использовать как drop-in замену для
pickle и cloudpickle, но с серьёзными апгрейдами:Основные фичи:
__reduce__, __reduce_ex__, __getstate__⚡️ Быстрее, компактнее и безопаснее — Pyfory делает сериализацию Python-объектов по-настоящему современной.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3🔥1
🎃 Хэллоуин в Proglib Academy: скидки, призы и... немного паники
Сегодня 31 октября, и это не просто время тыкв и призраков, это ПОСЛЕДНИЙ ДЕНЬ, когда ты можешь выиграть макбук!
→ Купи любой курс со скидкой 40% 💸
→ Начни обучение, чтобы пройти 2 недели к 15 ноября 🎓
→ Напиши куратору #розыгрыш ✍️
Всё! Теперь ты в игре.
👉 Сейчас или никогда!
Сегодня 31 октября, и это не просто время тыкв и призраков, это ПОСЛЕДНИЙ ДЕНЬ, когда ты можешь выиграть макбук!
→ Купи любой курс со скидкой 40% 💸
→ Начни обучение, чтобы пройти 2 недели к 15 ноября 🎓
→ Напиши куратору #розыгрыш ✍️
Всё! Теперь ты в игре.
👉 Сейчас или никогда!
Media is too big
VIEW IN TELEGRAM
Не ждали, а она тут — новая версия Python 3.14 🚀
И лучше просто кликнуть сейчас по ссылке и послушать краткий обзор от Евгения Афонасьева, тимлида разработки Antifraud в Авито, чем потом упускать полезные фичи и искать этот пост.
В ролике разобрали как небольшие обновления, так и те, что лучше внедрять в свою работу уже сейчас.
📺 Смотрим и обсуждаем по ссылке!
И лучше просто кликнуть сейчас по ссылке и послушать краткий обзор от Евгения Афонасьева, тимлида разработки Antifraud в Авито, чем потом упускать полезные фичи и искать этот пост.
В ролике разобрали как небольшие обновления, так и те, что лучше внедрять в свою работу уже сейчас.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁22❤6🥱2
Почему фреймворк Django получил именно такое название?
Anonymous Quiz
14%
В честь персонажа из фильма Квентина Тарантино
34%
Это аббревиатура от “Dynamic JSON Application Generator”
44%
В честь джазового гитариста Джанго Рейнхардта
8%
Это случайное имя из списка генератора проектов Python
❤5👏1🥱1
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
👍8
⚙️ Инструменты и фреймворки
— Красивые CLI-приложения с Typer и Rich — как создавать удобные, цветные и дружелюбные консольные приложения с современным интерфейсом.
— No-code инструмент для сокрытия Python-кода — новый open-source toolkit, позволяющий защитить Python-код без ручного шифрования и обфускации.
— 5 библиотек, которые выведут вас на новый уровень — подборка свежих и недооценённых библиотек, расширяющих возможности Python-разработчика.
🧠 Изучение и практика
— Pytest для начинающих с домашним заданием — пошаговый туториал по базовым тестам, фикстурам и параметризации.
— CPython простыми словами — объяснение того, как устроен интерпретатор Python под капотом — память, байткод, GIL и оптимизации.
— Шаблоны и принципы деления кода на классы — как структурировать большие проекты и проектировать классы.
🌐 Веб и асинхронщина
— Стриминг больших ответов в Django — как эффективно отправлять большие ответы через StreamingHttpResponse и async-генераторы.
— Создаём MCP-сервер на практике — пошаговая инструкция по разработке MCP-сервера (Model Context Protocol) — новой инфраструктуры для взаимодействия с LLM.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥1
Forwarded from Библиотека задач по Data Science | тесты, код, задания
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека задач по Data Science | тесты, код, задания
Опрос Django Developers Survey 2025 собрал ответы более 4600 разработчиков со всего мира и показал, что экосистема Django продолжает активно развиваться — даже спустя 20 лет с момента появления фреймворка:
django-mongodb-backend.#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2😁1
👉 CocoIndex — база знаний о вашем коде для AI и IDE
CocoIndex — это инструмент для построения и обновления индекса кода в реальном времени. Он использует Tree-sitter для точного разбора кода и поддерживает инкрементальную обработку — пересчитывает только изменённые части проекта.
Возможности и кейсы:
— Семантический контекст для AI-агентов (Claude, Codex, Gemini CLI)
— MCP-интеграции с IDE: Cursor, Windsurf, VSCode
— Semantic code search и поиск кода по естественному языку
— Автоматический AI code review, анализ и суммаризация PR
— Масштабные авторефакторинги и миграции кода
— SRE и DevOps сценарии: быстрое RCA, анализ влияния изменений, поиск по IaC и конфигам
— Автогенерация и обновление design-документации из кода
🔍 Реальное время, точность и масштабируемость — всё, что нужно для умных инструментов поверх кода.
📱 Github
🐸 Библиотека питониста
#буст
CocoIndex — это инструмент для построения и обновления индекса кода в реальном времени. Он использует Tree-sitter для точного разбора кода и поддерживает инкрементальную обработку — пересчитывает только изменённые части проекта.
Возможности и кейсы:
— Семантический контекст для AI-агентов (Claude, Codex, Gemini CLI)
— MCP-интеграции с IDE: Cursor, Windsurf, VSCode
— Semantic code search и поиск кода по естественному языку
— Автоматический AI code review, анализ и суммаризация PR
— Масштабные авторефакторинги и миграции кода
— SRE и DevOps сценарии: быстрое RCA, анализ влияния изменений, поиск по IaC и конфигам
— Автогенерация и обновление design-документации из кода
🔍 Реальное время, точность и масштабируемость — всё, что нужно для умных инструментов поверх кода.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4
Когда проект растёт, обычные
.toml, .yaml и .json превращаются в кошмар — без импортов, функций, комментариев и валидации.CueLang решает почти всё: строгая типизация, DRY, схемы и экспорт в JSON/YAML. Но беда — только Go, без питонячих биндингов.
А вот Starlark неожиданно оказался достойной альтернативой:
— безопасен (песочница, без доступа к FS и сети);
— расширяем (можно подключать Python-функции);
— даёт контроль над импортами и окружением;
— похож на Python, но только внешне — внутри это совсем другой зверь.
Пример:
import starlark
with open("config.star") as f:
code = f.read()
module = starlark.Module()
stdlib = starlark.Globals.standard()
ast = starlark.parse("config.star", code)
starlark.eval(module, ast, stdlib, None)
Starlark — не замена CueLang, а отличный инструмент, если нужно встроить безопасный DSL в продукт.
Но для личных проектов — Python + Pydantic всё ещё проще и удобнее.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3
Теперь в Python 3.15 можно будет использовать распаковку прямо в comprehensions (списковых, словарных и генераторных выражениях).
Python Steering Council внёс небольшое уточнение — и потребовал использовать явные циклы вместо
yield from, чтобы сохранить простоту и симметрию между синхронными и асинхронными выражениями.💡 Это сделает comprehensions более мощными и при этом предсказуемыми.
Наконец-то появятся явные ленивые импорты через ключевое слово
lazy.Теперь можно будет писать:
lazy import numpy
from pandas lazy import DataFrame
Импорт произойдёт только при первом обращении к модулю, что ускорит запуск и сократит время старта больших проектов.
Также добавят
sys.get_lazy_imports() и уточнят приоритет между флагами среды (PYTHON_LAZY_IMPORTS, -X, sys.set_lazy_imports()).#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥2