и посмотреть медиа
Библиотека питониста: Python Django Flask
и посмотреть медиа
Все полезное для Python разработчиков: Django, Flask и библиотеки.
Все полезное для Python разработчиков: Django, Flask и библиотеки.
Комплексный канал для питонистов. Содержит подборки библиотек, гайды по Django и Flask, примеры кода и советы. Все самое нужное в одном месте для эффективной работы и обучения веб-разработке на Python.
📱 330× быстрее: четыре способа ускорить Python-код Если ваш Python-код медленный, а нужен быстрый — есть много стратегий ускорения: от распараллеливания до компилируемых расширений. Но если использовать только один подход, легко упустить серьёзный потенциал. ✅ Вместо этого полезно думать в терминах практик — каждая из которых: — Ускоряет код по-своему; — Требует отдельных навыков; — Работает как по отдельности, так и в сочетании. В статье показан реальный пример, где применяются четыре практики: ✅ Efficiency — устранение лишних и повторяющихся вычислений (+2×). ✅ Compilation — использование компилируемого языка и обход его ограничений (+10×). ✅ Parallelism — задействование нескольких ядер. ✅ Process — рабочие процессы, приводящие к более быстрому коду. 📖 Читаем подробно 📍 Навигация: Вакансии • Задачи • Собесы Библиотека питониста #буст
Открыть канал и посмотреть медиаКуда на самом деле уходят токены во время агентного кодинга? ⚡️
Открыть канал и посмотреть медиа😱 Знакомо? Лимит уже закончился, а задача всё ещё не готова. Часть токенов могла уйти на повторное чтение файлов, лишний контекст и неудачные попытки. ⚡️ Этому посвящён отдельный блок курса «ИИ для разработчиков». Вы разберёте расходы на собственных проектах, сравните подходы и найдёте места, где агент выполняет лишнюю работу. В итоге станет понятнее, сколько ресурсов выделять на запуск, когда его останавливать и в какой момент лучше изменить подход 🔍 До 31 июля курс можно купить со скидкой, а все материалы останутся в бессрочном доступе. 🔗 Узнать подробности о курсе 🏃♀️ Proglib Academy
Открыть канал и посмотреть медиа🆕 pip 26.2: флаг --only-deps закрывает боль которая длилась 16 лет Есть проект — Flask API, скрипт, бэкенд. Не пакет для PyPI, просто приложение. Как поставить его зависимости на сервер? Раньше: pip install -r requirements.txt (надо вручную поддерживать), или pip install . (ставит сам проект как пакет что не нужно), или хаки вроде pip install $(python setup.py egg_info | ...). Теперь — просто: pip install --only-deps . Читает зависимости из pyproject.toml и ставит их. Сам проект не трогает. Выходит в конце июля вместе с pip 26.2. 📍 Навигация: Вакансии • Задачи • Собесы Библиотека питониста #буст
Открыть канал и посмотреть медиа📚Напоминаем про наш полный курс «Самоучитель по 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
Открыть канал и посмотреть медиаCPython ABI: что означают теги в именах wheel-файлов и почему это важно Когда pip устанавливает пакет, он выбирает нужный wheel по имени файла. Разобраться в этих тегах — значит понять почему одни пакеты устанавливаются, а другие нет. 📦 Анатомия имени wheel-файла cryptography-48.0.0-cp311-abi3-macosx_10_9_universal2.whl ↑ ↑ ↑ ↑ версия python abi платформа · py3-none-any — чистый Python, работает везде · cp314-cp314 — только CPython 3.14, версия-специфичный ABI · cp311-abi3 — CPython 3.11+, стабильный ABI (работает на 3.11 и новее) 🔤 API vs ABI — в чём разница API — что написано в заголовочном файле (`Python.h`): сигнатуры функций, макросы, типы. ABI — что реально в скомпилированном бинарнике: имена символов, смещения полей в структурах, размеры. Две библиотеки с разными ABI несовместимы — и падение может быть молчаливым. 🔑 Три уровня ABI в Python · cp3XY — версия-специфичный ABI. Один wheel на каждый Python. Нужно выпускать новый каждый год. · abi3 — стабильный ABI. Один wheel для Python 3.X и всех новых версий. Но не работает на free-threaded Python. · cp3XYt — ABI free-threaded Python (без GIL). Отдельные теги: cp313t, cp314t. ⚡ Почему free-threaded Python сломал abi3 В GIL-версии структура PyObject выглядела так: struct PyObject { Py_ssize_t ob_refcnt; // байт 0 PyTypeObject *ob_type; // байт 8 }; В free-threaded версии (Python 3.14+): struct PyObject { uintptr_t ob_tid; // id потока-владельца uint16_t ob_flags; PyMutex ob_mutex; // per-object lock uint8_t ob_gc_bits; uint32_t ob_ref_local; // локальный счётчик ссылок Py_ssize_t ob_ref_shared; // атомарный счётчик PyTypeObject *ob_type; // теперь на другом смещении! }; ob_type переехал — wheel скомпилированный под старую раскладку прочитает не те байты. Crash или тихая порча памяти. 🆕 Python 3.15: новый стабильный ABI abi3t PyObject стал непрозрачным (opaque struct) — нельзя обращаться к полям напрямую, только через функции API. Это скрывает детали реализации и делает возможным один wheel для обеих сборок. Стратегия для мейнтейнеров: Python 3.12-3.13 → cp312-abi3 (один wheel) Python 3.14 → + cp314t (free-threaded) Python 3.15+ → cp315-abi3.abi3t (оба в одном) Итого: тег в имени wheel = гарантия совместимости на уровне бинарного кода. 📍 Навигация: Вакансии • Задачи • Собесы Библиотека питониста #буст
Открыть канал и посмотреть медиа🎹 Хорошая документация теперь нужна не только команде. Ниже — почему без неё проект начинает жить своей жизнью 👇
Открыть канал и посмотреть медиа😳 Documentation Driven Development звучит как ещё один модный термин. Пока не попробуешь объяснить свой проект AI. Агент работает только с тем контекстом, который ему дали. Если документация неполная или устарела, он начинает додумывать — отсюда появляется неверный код. 🔘 На курсе «ИИ для разработчиков» эту тему разбирает Арсений Харланов. Он покажет, как подготовить документацию и контекст, чтобы агент понимал архитектуру проекта, ограничения и связи между компонентами. Также разберём, как выбирать модель под задачу: Claude, DeepSeek, Qwen и другие ✏️ Впереди 7 недель работы со своим репозиторием. Вебинары проходят вживую и остаются в записи. Стартуем 31 августа. До конца июля можно присоединиться по ранней цене, а доступ к материалам останется бессрочным 😀 🔗 Посмотреть, что будет на курсе 🏃♀️ Proglib Academy
Открыть канал и посмотреть медиа20 функций itertools: отсортированы по тому как часто реально нужны itertools импортируют все, но используют 3-4 функции. Вот полный список отсортированный по полезности — не как в документации. 🔥 Используешь постоянно · chain(it1, it2) — склеить несколько итерируемых в одну · chain.from_iterable(nested) — разгладить вложенный список лениво · islice(it, start, stop) — срез итератора (без отрицательных индексов) · compress('ABCDEF', [1,0,1,0,1,1]) — фильтр по булевой маске → A, C, E, F · filterfalse(pred, it) — противоположность filter(), где предикат False 🙂 Используешь периодически · starmap(pow, [(2,5),(3,2)]) — применить функцию с распаковкой кортежей · pairwise([1,2,3]) — скользящие пары: (1,2),(2,3) — Python 3.10+ · batched(range(10), 3) — разбить на чанки фиксированного размера — Python 3.12+ · groupby(items, key=func) — группировка (данные должны быть отсортированы!) · accumulate(nums, func) — накопительные суммы или любая бинарная функция · takewhile(pred, it) — брать пока предикат True · dropwhile(pred, it) — пропускать пока предикат True, потом всё остальное 🤔 Знаешь но редко тянешься · tee(it, n=2) — разделить один итератор на n независимых · zip_longest(a, b, fillvalue=None) — zip до самого длинного, заполняя пропуски · combinations(items, r) — все комбинации без повторений · combinations_with_replacement('AB', 2) — комбинации с повторениями: AA, AB, BB · permutations(items, r) — все перестановки, порядок важен 😴 Скорее забыл что существует · product(a, b) — декартово произведение = вложенные for-циклы · count(start, step) — бесконечный счётчик, удобно с zip() · cycle([1,2,3]) — бесконечно повторять итерируемое (хранит копию!) · repeat(10, times=3) — повторить объект n раз pairwise и batched — две которые большинство не знает, хотя именно они убирают кучу boilerplate кода. Согласны? 📍 Навигация: Вакансии • Задачи • Собесы Библиотека питониста #буст
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!
Topics of Poland: news, traditions, events and useful information in the Telegram channel.