

04.05.202512:03
🚀 Jittor — фреймворк, использующий JIT-компиляцию и мета-операторы для оптимизации вычислений прямо во время выполнения.
Проект сочетает простоту Python-интерфейса с низкоуровневой компиляцией на C++/CUDA. В отличие от традиционных графовых подходов, он динамически компилирует операции под конкретную модель, что потенциально может ускорить выполнение сложных сетей.
🤖 GitHub
@pythonl
Проект сочетает простоту Python-интерфейса с низкоуровневой компиляцией на C++/CUDA. В отличие от традиционных графовых подходов, он динамически компилирует операции под конкретную модель, что потенциально может ускорить выполнение сложных сетей.
🤖 GitHub
@pythonl


01.05.202509:00
🖥 Microsoft: до 30 % кода уже пишет AI
На конференции LlamaCon CEO Microsoft Сатья Наделла объявил, что от 20 % до 30 % кода в репозиториях компании сегодня «написаны программным обеспечением», то есть с использованием искусственного интеллекта.
## Ключевые моменты
- Зависимость от языка. Лучшие результаты при генерации — на Python, более слабые — на C++.
- Интеграция на всех этапах. AI применяется не только для генерации чернового кода, но и для его ревью.
- Сравнение с конкурентами. Google уже сообщает о более 30 % AI-сгенерированного кода, Meta прогнозирует до 50 % при разработке своих языковых моделей.
- Долгосрочная перспектива. По прогнозам CTO Microsoft, к 2030 г. доля AI-генерируемого кода может вырасти до 95 %.
- Ограничения метрик. Пока не до конца ясно, что именно учитывается в «AI-коде» (автодополнение, шаблоны, бизнес-логика), поэтому цифры стоит воспринимать с осторожностью.
## Почему это важно
1. Ускорение разработки. Рутинные задачи автоматизируются, разработчики получают больше времени на архитектуру.
2. Новый уровень качества. Автоматическое ревью помогает быстрее находить ошибки, но требует строгой проверки.
3. Риски безопасности. Сгенерированный код нуждается в дополнительном анализе на уязвимости.
4. Эволюция ролей. Разработчики всё больше становятся архитекторами и аудиторами, а не «создателями» кода.
@pythonl
На конференции LlamaCon CEO Microsoft Сатья Наделла объявил, что от 20 % до 30 % кода в репозиториях компании сегодня «написаны программным обеспечением», то есть с использованием искусственного интеллекта.
## Ключевые моменты
- Зависимость от языка. Лучшие результаты при генерации — на Python, более слабые — на C++.
- Интеграция на всех этапах. AI применяется не только для генерации чернового кода, но и для его ревью.
- Сравнение с конкурентами. Google уже сообщает о более 30 % AI-сгенерированного кода, Meta прогнозирует до 50 % при разработке своих языковых моделей.
- Долгосрочная перспектива. По прогнозам CTO Microsoft, к 2030 г. доля AI-генерируемого кода может вырасти до 95 %.
- Ограничения метрик. Пока не до конца ясно, что именно учитывается в «AI-коде» (автодополнение, шаблоны, бизнес-логика), поэтому цифры стоит воспринимать с осторожностью.
## Почему это важно
1. Ускорение разработки. Рутинные задачи автоматизируются, разработчики получают больше времени на архитектуру.
2. Новый уровень качества. Автоматическое ревью помогает быстрее находить ошибки, но требует строгой проверки.
3. Риски безопасности. Сгенерированный код нуждается в дополнительном анализе на уязвимости.
4. Эволюция ролей. Разработчики всё больше становятся архитекторами и аудиторами, а не «создателями» кода.
@pythonl


29.04.202507:40
⚡️ snnTorch — нейросети, которые работают как мозг. Этот проект предлагает необычный подход к машинному обучению, используя импульсные нейронные сети вместо классических искусственных нейронов.
Инструмент передает информацию через импульсы, что ближе к принципам работы биологического мозга. Библиотека построена на PyTorch и позволяет обучать такие сети с помощью обратного распространения ошибки, используя специальные суррогатные градиенты.
🤖 GitHub
@pythonl
Инструмент передает информацию через импульсы, что ближе к принципам работы биологического мозга. Библиотека построена на PyTorch и позволяет обучать такие сети с помощью обратного распространения ошибки, используя специальные суррогатные градиенты.
🤖 GitHub
@pythonl
26.04.202509:00
Твой Senior зарабатывает 800к не потому, что он умнее тебя!
Если ты:
– мучаешься от синдрома самозванца
– устал от токсичности в IT
– не понимаешь, как пройти собеседование в топовые компании
– думаешь «я не дорос/туповат/не готов» (спойлер: это не так!)
…тебе нужно на островок поддержки в мире IT.
Это канал Глеба Михайлова, который прошел путь от тупящего на собесах аналитика до дата саентиста, который поддерживает, вдохновляет и помогает другим процветать в суровой и токсичной IT-индустрии.
Здесь ты найдешь:
– разбор реальных задач с технических собесов (без занудства)
– рабочие советы по подготовке от человека, который работал в Сбере, Альфа-Банке и Яндексе
– инсайты про то, как пройти собеседования в топовых компаниях
– занимательные истории из корпоративной жизни, после которых ты поймешь, что везде работают обычные люди.
Подписывайся на канал, если хочешь расти в IT без токсичности, занудства и пафоса.
Реклама
Если ты:
– мучаешься от синдрома самозванца
– устал от токсичности в IT
– не понимаешь, как пройти собеседование в топовые компании
– думаешь «я не дорос/туповат/не готов» (спойлер: это не так!)
…тебе нужно на островок поддержки в мире IT.
Это канал Глеба Михайлова, который прошел путь от тупящего на собесах аналитика до дата саентиста, который поддерживает, вдохновляет и помогает другим процветать в суровой и токсичной IT-индустрии.
Здесь ты найдешь:
– разбор реальных задач с технических собесов (без занудства)
– рабочие советы по подготовке от человека, который работал в Сбере, Альфа-Банке и Яндексе
– инсайты про то, как пройти собеседования в топовых компаниях
– занимательные истории из корпоративной жизни, после которых ты поймешь, что везде работают обычные люди.
Подписывайся на канал, если хочешь расти в IT без токсичности, занудства и пафоса.
Реклама


24.04.202508:02
❓ Как повысить свои навыки в аналитике данных за 90 минут?
Прийти на бесплатный практический урок 28 апреля, где мы расскажем, как эффективно работать с данными с помощью Python и Pandas: как заполнять пропуски, устранять дубликаты и правильно работать с выбросами.
👥 Кому будет полезен вебинар?
- тем, кто только начинает свой путь в Data Science и хочет освоить базовые навыки
- тем, кто работает с данными в электронных таблицах, но хочет перейти на Python и Pandas
- тем, кто сталкивался с ошибками при анализе из-за «мусора» в данных
- тем, кто планирует изучать машинное обучение (ML), где чистота данных критически важна
📍 Зарегистрируйтесь и получите скидку на большое обучение «Специализация Machine Learning»: https://otus.pw/UkAO/?erid=2W5zFG6E7sW
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Прийти на бесплатный практический урок 28 апреля, где мы расскажем, как эффективно работать с данными с помощью Python и Pandas: как заполнять пропуски, устранять дубликаты и правильно работать с выбросами.
👥 Кому будет полезен вебинар?
- тем, кто только начинает свой путь в Data Science и хочет освоить базовые навыки
- тем, кто работает с данными в электронных таблицах, но хочет перейти на Python и Pandas
- тем, кто сталкивался с ошибками при анализе из-за «мусора» в данных
- тем, кто планирует изучать машинное обучение (ML), где чистота данных критически важна
📍 Зарегистрируйтесь и получите скидку на большое обучение «Специализация Machine Learning»: https://otus.pw/UkAO/?erid=2W5zFG6E7sW
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.


22.04.202511:01
🖥 ex — это утилита для создания одного исполняемого файла .pex, внутри которого содержится вся ваша программа на Python и её зависимости. По сути это самодостаточная, переносимая среда выполнения, похожая на virtualenv, но упакованная в один файл.
Зачем это нужно?
Простота развёртывания: чтобы установить и запустить приложение, достаточно скопировать файл app.pex и запустить его — никакой дополнительной настройки.
Портируемость: один файл может включать сборки для разных платформ (Linux, macOS).
Изоляция зависимостей: все библиотеки (включая C‑расширения) уже внутри, конфликтов версий нет.
Как пользоваться:
Устанавливаем сам инструмент:
Собираем .pex-файл:
После этого fetch.pex — готовый исполняемый файл, который при запуске сразу импортирует и запускает библиотеку requests.
Интеграция с другими сборщиками:
Системы вроде
Лицензия: Apache 2.0
▪ GitHub: https://github.com/pex-tool/pex
▪Документация: https://docs.pex-tool.org/
@pythonl
Зачем это нужно?
Простота развёртывания: чтобы установить и запустить приложение, достаточно скопировать файл app.pex и запустить его — никакой дополнительной настройки.
Портируемость: один файл может включать сборки для разных платформ (Linux, macOS).
Изоляция зависимостей: все библиотеки (включая C‑расширения) уже внутри, конфликтов версий нет.
Как пользоваться:
Устанавливаем сам инструмент:
pip install pex
Собираем .pex-файл:
pex requests -o fetch.pex --script=requests
После этого fetch.pex — готовый исполняемый файл, который при запуске сразу импортирует и запускает библиотеку requests.
Интеграция с другими сборщиками:
Системы вроде
Pants, Buck и {py}gradle
умеют автоматически собирать .pex-архивы из вашего кода.Лицензия: Apache 2.0
▪ GitHub: https://github.com/pex-tool/pex
▪Документация: https://docs.pex-tool.org/
@pythonl


03.05.202509:22
👣 Pyrefly — это новая, высокопроизводительная система статической типизации и IDE-платформа, написанная на Rust, для Python, разрабатываемая командой Facebook.
Главное:
🔍 Наследник Pyre
Pyrefly задуман как следующая версия проверяльщика типов Pyre от Meta, но с упором на скорость, модульную архитектуру и возможность генерации «типизированного» AST.
🚀 Реализовано на Rust
Большая часть кода написана на Rust для лучшей безопасности памяти и конкурентности. Только ~1 % кода в Python и ~6 % в TypeScript (для интерфейса сайта и LSP).
⚙️ Три этапа проверки
Сбор экспорта каждого модуля (решение всех import * рекурсивно)
Преобразование кода в набор «байндингов» (definitions, uses, anon) с учётом потоковых типов
Решение этих байндингов (flow-types, phi-функции при ветвлениях и рекурсии)
💡 Масштабируемость и инкрементальность
Модульно-ориентированный подход: проверка каждого модуля целиком, с возможностью параллельного запуска и минимальной сложности по сравнению с тонкозернистыми DAG-алгоритмами.
🛠️ Интеграция и упаковка
Разработчикам Rust: cargo build, cargo test
Во внутренних проектах Meta: запуск через Buck2 (buck2 run pyrefly -- check file.py)
Для PyPI: сборка колес через Maturin (pip install maturin && maturin build)
📡 IDE-функции и LSP
Включена поддержка Language Server Protocol для автодополнения, перехода к определению и интерактивной отладки в редакторах.
📆 Планы
Полная замена Pyre к концу 2025 года с выпуском стабильных версий на PyPI каждую неделю.
📜 Лицензия
MIT — свободное использование и вклад в проект приветствуются.
🔜 Узнать подробнее и принять участие можно в репозитории: Github
@pythonl
Главное:
🔍 Наследник Pyre
Pyrefly задуман как следующая версия проверяльщика типов Pyre от Meta, но с упором на скорость, модульную архитектуру и возможность генерации «типизированного» AST.
🚀 Реализовано на Rust
Большая часть кода написана на Rust для лучшей безопасности памяти и конкурентности. Только ~1 % кода в Python и ~6 % в TypeScript (для интерфейса сайта и LSP).
⚙️ Три этапа проверки
Сбор экспорта каждого модуля (решение всех import * рекурсивно)
Преобразование кода в набор «байндингов» (definitions, uses, anon) с учётом потоковых типов
Решение этих байндингов (flow-types, phi-функции при ветвлениях и рекурсии)
💡 Масштабируемость и инкрементальность
Модульно-ориентированный подход: проверка каждого модуля целиком, с возможностью параллельного запуска и минимальной сложности по сравнению с тонкозернистыми DAG-алгоритмами.
🛠️ Интеграция и упаковка
Разработчикам Rust: cargo build, cargo test
Во внутренних проектах Meta: запуск через Buck2 (buck2 run pyrefly -- check file.py)
Для PyPI: сборка колес через Maturin (pip install maturin && maturin build)
📡 IDE-функции и LSP
Включена поддержка Language Server Protocol для автодополнения, перехода к определению и интерактивной отладки в редакторах.
📆 Планы
Полная замена Pyre к концу 2025 года с выпуском стабильных версий на PyPI каждую неделю.
📜 Лицензия
MIT — свободное использование и вклад в проект приветствуются.
🔜 Узнать подробнее и принять участие можно в репозитории: Github
@pythonl


30.04.202508:05
🖥 PyXL — аппаратный процессор, исполняющий Python без интерпретатора
Разработчик представил PyXL — уникальный аппаратный процессор, который исполняет Python-программы без использования традиционного интерпретатора или виртуальной машины.
Архитектура PyXL:
Python → CPython Bytecode → собственный набор инструкций для прямого исполнения на "железе".
Основан на стековой модели, полностью конвейерный, с сохранением динамической типизации Python без ограничений статических типов.
⏩ Бенчмарк GPIO:
PyXL выполняет переключение GPIO с задержкой всего 480 наносекунд.
Для сравнения: MicroPython на Pyboard — 14–25 микросекунд, несмотря на более высокую частоту (168МГц против 100МГц у PyXL).
Разработчик самостоятельно создал:
Компилятор, линкер и генератор кода
Аппаратную реализацию процессора
Проект демонстрирует, что возможно аппаратное исполнение Python с высокой скоростью и без потери гибкости языка. Полные технические детали будут представлены на PyCon 2025.
🎬 Демо и подробности: https://runpyxl.com/gpio
@pythonl
Разработчик представил PyXL — уникальный аппаратный процессор, который исполняет Python-программы без использования традиционного интерпретатора или виртуальной машины.
Архитектура PyXL:
Python → CPython Bytecode → собственный набор инструкций для прямого исполнения на "железе".
Основан на стековой модели, полностью конвейерный, с сохранением динамической типизации Python без ограничений статических типов.
⏩ Бенчмарк GPIO:
PyXL выполняет переключение GPIO с задержкой всего 480 наносекунд.
Для сравнения: MicroPython на Pyboard — 14–25 микросекунд, несмотря на более высокую частоту (168МГц против 100МГц у PyXL).
Разработчик самостоятельно создал:
Компилятор, линкер и генератор кода
Аппаратную реализацию процессора
Проект демонстрирует, что возможно аппаратное исполнение Python с высокой скоростью и без потери гибкости языка. Полные технические детали будут представлены на PyCon 2025.
🎬 Демо и подробности: https://runpyxl.com/gpio
@pythonl
28.04.202515:01
🖥 Задача: "Кэширование и ленивые вычисления в многопоточном окружении"
🔜 Условие:
Вам нужно реализовать декоратор
- Кэширует результат вызова функции по её аргументам (аналог
- Если несколько потоков одновременно вызывают функцию с одинаковыми аргументами:
- Только один поток реально выполняет функцию,
- Остальные ждут, пока результат будет вычислен, и получают готовый результат.
- Кэш никогда не удаляется (неограниченный размер).
Ограничения:
- Решение должно работать для произвольных функций и аргументов (hashable).
- Нельзя использовать готовый
- Нужно обеспечить корректную работу в многопоточной среде без гонок данных.
---
▪️ Подсказки:
- Для кэширования подойдёт
- Для защиты доступа к кэшу понадобится
- Для ожидания завершения вычисления другими потоками можно использовать
- Продумайте carefully: как отличить "результат уже посчитан" от "результат в процессе вычисления".
---
▪️ Что оценивается:
- Умение работать с многопоточностью в Python.
- Правильная организация кэширования.
- Чистота и лаконичность кода.
- Умение обрабатывать тонкие случаи, например: одновременные вызовы.
---
▪️ Разбор возможного решения:
Основная идея:
- Создать кэш
- Одновременно создать словарь "ожиданий"
- Если кто-то начал считать значение:
- Остальные ждут
Пример реализации:
---
▪️ Пояснения к коду:
- При первом вызове для новых аргументов поток создаёт
- Остальные потоки видят
- Как только результат посчитан,
- Доступ к
---
▪️ Возможные подводные камни:
- ❗ Если не удалять
- ❗ Если ошибка случится внутри
- ❗ Нельзя держать
---
▪️ Вопросы на собеседовании по этой задаче:
- Как изменить реализацию, чтобы кэш имел ограничение по размеру (например, максимум 1000 элементов)?
- Как адаптировать декоратор под асинхронные функции (`async def`)?
- Что будет, если
- Как изменить реализацию так, чтобы кэш удалял устаревшие данные через TTL (Time-To-Live)?
---
@pythonl
🔜 Условие:
Вам нужно реализовать декоратор
@thread_safe_cached
, который:- Кэширует результат вызова функции по её аргументам (аналог
functools.lru_cache
, но свой).- Если несколько потоков одновременно вызывают функцию с одинаковыми аргументами:
- Только один поток реально выполняет функцию,
- Остальные ждут, пока результат будет вычислен, и получают готовый результат.
- Кэш никогда не удаляется (неограниченный размер).
Ограничения:
- Решение должно работать для произвольных функций и аргументов (hashable).
- Нельзя использовать готовый
functools.lru_cache
или другие библиотеки кэширования.- Нужно обеспечить корректную работу в многопоточной среде без гонок данных.
---
▪️ Подсказки:
- Для кэширования подойдёт
dict
с ключами по аргументам (`*args`, `**kwargs`).- Для защиты доступа к кэшу понадобится
threading.Lock
.- Для ожидания завершения вычисления другими потоками можно использовать
threading.Event
.- Продумайте carefully: как отличить "результат уже посчитан" от "результат в процессе вычисления".
---
▪️ Что оценивается:
- Умение работать с многопоточностью в Python.
- Правильная организация кэширования.
- Чистота и лаконичность кода.
- Умение обрабатывать тонкие случаи, например: одновременные вызовы.
---
▪️ Разбор возможного решения:
Основная идея:
- Создать кэш
cache: Dict[Key, Result]
.- Одновременно создать словарь "ожиданий"
in_progress: Dict[Key, threading.Event]
.- Если кто-то начал считать значение:
- Остальные ждут
Event
, пока оно не будет установлено.Пример реализации:
---
▪️ Пояснения к коду:
- При первом вызове для новых аргументов поток создаёт
Event
и начинает считать результат.- Остальные потоки видят
Event
и вызывают wait()
, пока первый поток не установит set()
.- Как только результат посчитан,
Event
сигнализирует всем ждущим потокам, что данные готовы.- Доступ к
cache
и in_progress
защищён через lock
для избежания гонок.---
▪️ Возможные подводные камни:
- ❗ Если не удалять
Event
из in_progress
, кэш постепенно раздуется мусором.- ❗ Если ошибка случится внутри
func
, необходимо всё равно освободить Event
, иначе потоки будут вечно ждать.- ❗ Нельзя держать
lock
во время выполнения тяжёлой функции func
, иначе все потоки будут блокироваться.---
▪️ Вопросы на собеседовании по этой задаче:
- Как изменить реализацию, чтобы кэш имел ограничение по размеру (например, максимум 1000 элементов)?
- Как адаптировать декоратор под асинхронные функции (`async def`)?
- Что будет, если
func
иногда бросает исключения? Как кэшировать ошибки или не кэшировать их?- Как изменить реализацию так, чтобы кэш удалял устаревшие данные через TTL (Time-To-Live)?
---
@pythonl


25.04.202514:10
🖥 PDF Craft — библиотека на Python для конвертации PDF (в первую очередь сканированных книг) в Markdown и EPUB с использованием локальных AI-моделей и LLM для структурирования содержимого
GitHub
🌟 Основные возможности
- Извлечение текста и макета
Использует сочетание DocLayout-YOLO и собственных алгоритмов для детектирования и фильтрации заголовков, колонтитулов, сносок и номеров страниц
- Локальный OCR
Распознаёт текст на странице через OnnxOCR, поддерживает ускорение на GPU (CUDA)
- Определение порядка чтения
С помощью layoutreader строит поток текста в том порядке, в котором его воспринимает человек
- Конвертация в Markdown
Генерирует .md с относительными ссылками на изображения (иллюстрации, таблицы, формулы) в папке assets
- Конвертация в EPUB
На основе промежуточных результатов OCR передаёт данные в LLM (рекомендуется DeepSeek) для построения оглавления, глав, корректировки ошибок и включения аннотаций
Установка и требования
Python ≥ 3.10 (рекомендуется 3.10.16).
Для EPUB-конвейера нужен доступ к LLM-сервису (например, DeepSeek).
🟡 Github
@pythonl
GitHub
🌟 Основные возможности
- Извлечение текста и макета
Использует сочетание DocLayout-YOLO и собственных алгоритмов для детектирования и фильтрации заголовков, колонтитулов, сносок и номеров страниц
- Локальный OCR
Распознаёт текст на странице через OnnxOCR, поддерживает ускорение на GPU (CUDA)
- Определение порядка чтения
С помощью layoutreader строит поток текста в том порядке, в котором его воспринимает человек
- Конвертация в Markdown
Генерирует .md с относительными ссылками на изображения (иллюстрации, таблицы, формулы) в папке assets
- Конвертация в EPUB
На основе промежуточных результатов OCR передаёт данные в LLM (рекомендуется DeepSeek) для построения оглавления, глав, корректировки ошибок и включения аннотаций
Установка и требования
Python ≥ 3.10 (рекомендуется 3.10.16).
pip install pdf-craft и pip install onnxruntime==1.21.0 (или onnxruntime-gpu==1.21.0 для CUDA).
Для EPUB-конвейера нужен доступ к LLM-сервису (например, DeepSeek).
🟡 Github
@pythonl


23.04.202510:58
🖥 Новинка в Python 3.14: t-строки — типобезопасные f-строки
Python 3.14 вводит t"..." — новый синтаксис для строк, ориентированных на безопасность типов и интеграцию с системами шаблонов, SQL, HTML и др.
🔹 Что такое t-строка?
t"..." — это как f"...", но:
- интерполяция ограничена и контролируема;
- поддерживается строгое соответствие шаблону;
- можно передавать переменные явно, предотвращая SQL-инъекции и XSS.
🔸 Пример:
🔐 Зачем это нужно?
✅ Безопасность при генерации SQL, HTML, JSON
✅ Улучшение инструментов и проверки типов (через static analysis)
✅ Контроль над контекстом исполнения (больше нельзя просто вставить переменную как есть — нужно передать её явно)
📦 Использование:
t-строки — это первый шаг к "template string literals" как в TypeScript.
Можно использовать с функциями:
💡 Почему это важно?
Старый код:
🛡 Пример: безопасный HTML
Функция html() может вернуть не просто строку, а полноценный HTMLElement.
Больше никакой "грязи" — всё чисто и типобезопасно.
🔍 Работа с шаблоном
t-строки позволяют получить доступ к содержимому:
Можно и вручную собрать шаблон:
🚀 Вывод:
t"..." — шаг к безопасным шаблонам и типизации строк в Python.
Готовься к будущему Python — безопасному по умолчанию.
📌 Подробнее здесь
@pythonl
Python 3.14 вводит t"..." — новый синтаксис для строк, ориентированных на безопасность типов и интеграцию с системами шаблонов, SQL, HTML и др.
🔹 Что такое t-строка?
t"..." — это как f"...", но:
- интерполяция ограничена и контролируема;
- поддерживается строгое соответствие шаблону;
- можно передавать переменные явно, предотвращая SQL-инъекции и XSS.
🔸 Пример:
🔐 Зачем это нужно?
✅ Безопасность при генерации SQL, HTML, JSON
✅ Улучшение инструментов и проверки типов (через static analysis)
✅ Контроль над контекстом исполнения (больше нельзя просто вставить переменную как есть — нужно передать её явно)
📦 Использование:
t-строки — это первый шаг к "template string literals" как в TypeScript.
Можно использовать с функциями:
💡 Почему это важно?
Старый код:
🛡 Пример: безопасный HTML
Функция html() может вернуть не просто строку, а полноценный HTMLElement.
Больше никакой "грязи" — всё чисто и типобезопасно.
🔍 Работа с шаблоном
t-строки позволяют получить доступ к содержимому:
Можно и вручную собрать шаблон:
🚀 Вывод:
t"..." — шаг к безопасным шаблонам и типизации строк в Python.
Готовься к будущему Python — безопасному по умолчанию.
📌 Подробнее здесь
@pythonl


22.04.202509:00
Мечтаете не просто разбираться в управлении данными, а использовать уникальные инструменты для работы с Big Data? Научитесь этому на бесплатном студкемпе Яндекс Образования и ИТМО по дата-инженерии!
🧠 Программа — интенсивная, актуальная, от лидеров индустрии. С 30 июня по 12 июля вы погрузитесь в мир распределённых хранилищ, микросервисной архитектуры, DataOps/MLOps и пайплайнов для сбора, анализа и визуализации данных. А ещё познакомитесь с технологиями, которые используют в крупных компаниях. В общем, получите реальные навыки, которые ценят на рынке!
🏙 Кампус — в самом центре Санкт-Петербурга. Несмотря на то, что студкемп проходит на базе ИТМО, заявки ждут от студентов из любых вузов и регионов России. Проезд и проживание будут оплачены Яндекс Образованием, так что вам останется сосредоточиться на главном — знаниях, опыте и новых возможностях.
🕐 Регистрация — открыта до 4 мая, но подать заявку можно уже сейчас! Если давно хотели пообщаться с топовыми айтишниками и почувствовать, каково это — учиться в одном из ведущих технических вузов, не откладывайте и заполняйте анкету по ссылке.
🧠 Программа — интенсивная, актуальная, от лидеров индустрии. С 30 июня по 12 июля вы погрузитесь в мир распределённых хранилищ, микросервисной архитектуры, DataOps/MLOps и пайплайнов для сбора, анализа и визуализации данных. А ещё познакомитесь с технологиями, которые используют в крупных компаниях. В общем, получите реальные навыки, которые ценят на рынке!
🏙 Кампус — в самом центре Санкт-Петербурга. Несмотря на то, что студкемп проходит на базе ИТМО, заявки ждут от студентов из любых вузов и регионов России. Проезд и проживание будут оплачены Яндекс Образованием, так что вам останется сосредоточиться на главном — знаниях, опыте и новых возможностях.
🕐 Регистрация — открыта до 4 мая, но подать заявку можно уже сейчас! Если давно хотели пообщаться с топовыми айтишниками и почувствовать, каково это — учиться в одном из ведущих технических вузов, не откладывайте и заполняйте анкету по ссылке.


02.05.202510:39
🖥 Задача (с подвохом). Что выведет этот код?
🧩 Решение
Механика дефолтного списка
В сигнатуре функции lst=[] создаётся один список при определении функции и затем переиспользуется во всех вызовах, где lst не передан.
Первый вызов
```python
list1 = extend_list(10)
lst не передан → берётся дефолтный список.
Добавляем 10.
⇒ list1 становится [10].
```p
Второй вызов
```python
list2 = extend_list(123, [])```
Передаём новый пустой список [].
В него добавляется 123.
⇒ list2 становится [123].
Третий вызов
```python
list3 = extend_list('a')```
Опять не передан
Добавляем 'a'.
⇒ дефолтный список становится [10, 'a'], и list3 тоже ссылается на [10, 'a'].
Итоговый вывод программы:
```python
list1 = [10, 'a']
list2 = [123]
list3 = [10, 'a']```
Обратите внимание, что
@pythonl
🧩 Решение
Механика дефолтного списка
В сигнатуре функции lst=[] создаётся один список при определении функции и затем переиспользуется во всех вызовах, где lst не передан.
Первый вызов
```python
list1 = extend_list(10)
lst не передан → берётся дефолтный список.
Добавляем 10.
⇒ list1 становится [10].
```p
Второй вызов
```python
list2 = extend_list(123, [])```
Передаём новый пустой список [].
В него добавляется 123.
⇒ list2 становится [123].
Третий вызов
```python
list3 = extend_list('a')```
Опять не передан
lst
→ используется тот же дефолтный список, куда уже был добавлен 10.Добавляем 'a'.
⇒ дефолтный список становится [10, 'a'], и list3 тоже ссылается на [10, 'a'].
Итоговый вывод программы:
```python
list1 = [10, 'a']
list2 = [123]
list3 = [10, 'a']```
Обратите внимание, что
list1 и list3
— это один и тот же дефолтный список, поэтому изменения сохраняются между вызовами.@pythonl


29.04.202512:03
Что выведет этот код при запуске на Python 3.10+ (например, 3.11)?
📌 Подсказка: Подумайте о порядке проверок, о том, какие атрибуты попадают в others, и об использовании __match_args__.
Ответ:
Automatic mode
Mode manual, other keys: ['threshold', 'debug']
Low threshold 0
Краткое пояснение:
Для первого объекта (mode="auto", threshold=10) срабатывает первый case Config(mode="auto") → Automatic mode.
Для второго (mode="manual", threshold=5, debug=True) первый не совпадает, второй с threshold<5 не проходит (5 < 5 → False), зато третий case Config(mode=mode, **others) — биндинг mode='manual', остальные ключи (threshold и debug) попадают в others → Mode manual, other keys: ['threshold', 'debug'].
Для третьего (threshold=0) первый и третий не подходят (нет mode), а второй — case Config(threshold=threshold) if threshold<5 — срабатывает (0<5) → Low threshold 0.
@pythonl
📌 Подсказка: Подумайте о порядке проверок, о том, какие атрибуты попадают в others, и об использовании __match_args__.
Ответ:
Automatic mode
Mode manual, other keys: ['threshold', 'debug']
Low threshold 0
Краткое пояснение:
Для первого объекта (mode="auto", threshold=10) срабатывает первый case Config(mode="auto") → Automatic mode.
Для второго (mode="manual", threshold=5, debug=True) первый не совпадает, второй с threshold<5 не проходит (5 < 5 → False), зато третий case Config(mode=mode, **others) — биндинг mode='manual', остальные ключи (threshold и debug) попадают в others → Mode manual, other keys: ['threshold', 'debug'].
Для третьего (threshold=0) первый и третий не подходят (нет mode), а второй — case Config(threshold=threshold) if threshold<5 — срабатывает (0<5) → Low threshold 0.
@pythonl


27.04.202510:16
🔹 1000 гайдов для разработчиков в одном репозитории!
Разработчик из Твиттера собирал этот настоящий кладезь знаний целых 10 лет.
Внутри — буквально всё:
от шпаргалок по горячим клавишам для ускорения работы до фундаментальных руководств по языкам программирования, веб-разработке, созданию ПО, сетям, безопасности и многому другому.
Что там есть:
📚 Инструменты для работы с CLI, GUI, вебом и локальными сетями.
📦 Списки всех актуальных фреймворков и библиотек 2025 года.
🛡 Гайды по тестированию и взлому приложений.
🔥 Шпаргалки по командной строке.
📰 Огромная подборка блогов, YouTube-каналов, онлайн-СМИ и журналов, чтобы быть в курсе и не терять хватку.
Фолиант знаний ждёт тебя!
📌 Github
@pythonl
Разработчик из Твиттера собирал этот настоящий кладезь знаний целых 10 лет.
Внутри — буквально всё:
от шпаргалок по горячим клавишам для ускорения работы до фундаментальных руководств по языкам программирования, веб-разработке, созданию ПО, сетям, безопасности и многому другому.
Что там есть:
📚 Инструменты для работы с CLI, GUI, вебом и локальными сетями.
📦 Списки всех актуальных фреймворков и библиотек 2025 года.
🛡 Гайды по тестированию и взлому приложений.
🔥 Шпаргалки по командной строке.
📰 Огромная подборка блогов, YouTube-каналов, онлайн-СМИ и журналов, чтобы быть в курсе и не терять хватку.
Фолиант знаний ждёт тебя!
📌 Github
@pythonl


25.04.202512:09
Пропал опытный разработчик!
Нашедшему просьба обратиться в Ozon Tech.
Вознаграждение за рекомендацию 150 000 ₽ гарантируют.
Особые приметы, требования, условия на этой странице ⬅️
Нашедшему просьба обратиться в Ozon Tech.
Вознаграждение за рекомендацию 150 000 ₽ гарантируют.
Особые приметы, требования, условия на этой странице ⬅️


23.04.202510:04
🖥 Groovy — это транспилер, преобразующий функции Python в их эквиваленты на JavaScript!
🌟 Он используется в библиотеке Gradio, позволяя разработчикам писать функции на Python, которые затем выполняются на стороне клиента как JavaScript, обеспечивая быструю работу. Groovy поддерживает подмножество стандартной библиотеки Python и некоторые специфические классы Gradio, с акцентом на подробное сообщение об ошибках при попытке транспиляции неподдерживаемого кода.
🔐 Лицензия: Apache-2.0
🖥 Github
@pythonl
🌟 Он используется в библиотеке Gradio, позволяя разработчикам писать функции на Python, которые затем выполняются на стороне клиента как JavaScript, обеспечивая быструю работу. Groovy поддерживает подмножество стандартной библиотеки Python и некоторые специфические классы Gradio, с акцентом на подробное сообщение об ошибках при попытке транспиляции неподдерживаемого кода.
🔐 Лицензия: Apache-2.0
🖥 Github
@pythonl


21.04.202508:29
🔥 Smolmodels — это библиотека на Python, которая позволяет создавать модели машинного обучения, описывая их поведение на естественном языке и используя минимальное количество кода!
🔍 Основные возможности Smolmodels:
🌟 Определение моделей с помощью естественного языка: Пользователь описывает намерение модели и её входные и выходные схемы на обычном языке, а библиотека автоматически выбирает метрику для оптимизации и генерирует логику для инженерии признаков, обучения модели и её оценки.
🌟 Построение модели: Метод model.build() принимает набор данных (существующий или сгенерированный) и создаёт множество возможных решений модели, обучая и оценивая их для выбора наилучшего.
🌟 Генерация данных и определение схемы: Библиотека может генерировать синтетические данные для обучения и тестирования, что полезно при отсутствии реальных данных или для дополнения существующих.
🔐 Лицензия: Apache-2.0
🖥 Github
@pythonl
🔍 Основные возможности Smolmodels:
🌟 Определение моделей с помощью естественного языка: Пользователь описывает намерение модели и её входные и выходные схемы на обычном языке, а библиотека автоматически выбирает метрику для оптимизации и генерирует логику для инженерии признаков, обучения модели и её оценки.
🌟 Построение модели: Метод model.build() принимает набор данных (существующий или сгенерированный) и создаёт множество возможных решений модели, обучая и оценивая их для выбора наилучшего.
🌟 Генерация данных и определение схемы: Библиотека может генерировать синтетические данные для обучения и тестирования, что полезно при отсутствии реальных данных или для дополнения существующих.
🔐 Лицензия: Apache-2.0
🖥 Github
@pythonl
01.05.202513:02
🖥 TUIFIManager
Это кроссплатформенный терминальный termux-ориентированный файловый менеджер, предназначенный для использования с проектом Uni-Curses
📌 Как использовать:
Запустите tuifi в терминале, или импортируйте его в один из ваших проектов Uni-Curses как компонент, например:
Установка
sudo pip3 install tuifimanager --upgrade
pip3 install TUIFIManager --upgrade
https://github.com/GiorgosXou/TUIFIManager
@pythonl
Это кроссплатформенный терминальный termux-ориентированный файловый менеджер, предназначенный для использования с проектом Uni-Curses
📌 Как использовать:
Запустите tuifi в терминале, или импортируйте его в один из ваших проектов Uni-Curses как компонент, например:
from TUIFIManager import *
Установка
sudo pip3 install tuifimanager --upgrade
pip3 install TUIFIManager --upgrade
https://github.com/GiorgosXou/TUIFIManager
@pythonl


29.04.202510:04
Хочешь понять, твое ли аналитика — без курсов, затрат и лишнего стресса?
🔍 Пройди кейс-тест на реальной бизнес-задаче — всё, как в работе настоящего аналитика, но без необходимости иметь профильные навыки. Только мышление, логика и внимательность.
⚡️ Всего 10 конкретных вопросов — от постановки цели до финальных выводов. За 60 минут: — получишь реальные вводные от "коллег",
— прокачаешь структурное мышление,
— поймешь, насколько тебе подходит аналитика,
— получишь обратную связь на каждый шаг.
🔥 Это бесплатный шанс примерить новую профессию — вдруг это именно твое?
👉 Нажми, чтобы начать тест прямо сейчас
🔍 Пройди кейс-тест на реальной бизнес-задаче — всё, как в работе настоящего аналитика, но без необходимости иметь профильные навыки. Только мышление, логика и внимательность.
⚡️ Всего 10 конкретных вопросов — от постановки цели до финальных выводов. За 60 минут: — получишь реальные вводные от "коллег",
— прокачаешь структурное мышление,
— поймешь, насколько тебе подходит аналитика,
— получишь обратную связь на каждый шаг.
🔥 Это бесплатный шанс примерить новую профессию — вдруг это именно твое?
👉 Нажми, чтобы начать тест прямо сейчас


26.04.202511:00
👾 FlexGet — инструмент, превращающий рутинные задачи в автоматизированные workflows: от скачивания сериалов по RSS до организации медиатеки.
Особенно удобна модульная архитектура проекта. Базовый функционал составляет 150+ плагинов для интеграции с qBittorrent, Plex и другими сервисами. При этом вся логика описывается с помощью декларирования.
🤖 GitHub
@pythonl
Особенно удобна модульная архитектура проекта. Базовый функционал составляет 150+ плагинов для интеграции с qBittorrent, Plex и другими сервисами. При этом вся логика описывается с помощью декларирования.
🤖 GitHub
@pythonl


23.04.202508:02
Уже разбираетесь в Python, но хотите большего? Тогда вам на PiterPy 2025
🗓️16–17 мая
📍 Питер + онлайн
PiterPy — конференция для всех, кто использует Python в работе. Здесь собираются бэкенд-разработчики, тестировщики, DevOps, дата- и ML-инженеры и аналитики, а также тимлиды.
Перед вами выступят спикеры из Яндекса, Т-Банка, Точки, Авито, Ozon и других известных компаний. Вас ждет два дня докладов про бэкенд и архитектуру, библиотеки и инструменты, практики разработки и Core Python, а еще мастер-класс по программированию роботов.
А вот что с билетами:
→ Дают скидку 15% на билет для частных лиц по промокоду
→ Есть билет для студентов и преподавателей вузов — в два раза дешевле персонального;
→ Можно попросить руководство приобрести вам корпоративный билет.
Бонус: в соседних залах пройдет ML-конференция IML. Участники PiterPy смогут послушать доклады IML бесплатно.
За подробностями и билетами
🗓️16–17 мая
📍 Питер + онлайн
PiterPy — конференция для всех, кто использует Python в работе. Здесь собираются бэкенд-разработчики, тестировщики, DevOps, дата- и ML-инженеры и аналитики, а также тимлиды.
Перед вами выступят спикеры из Яндекса, Т-Банка, Точки, Авито, Ozon и других известных компаний. Вас ждет два дня докладов про бэкенд и архитектуру, библиотеки и инструменты, практики разработки и Core Python, а еще мастер-класс по программированию роботов.
А вот что с билетами:
→ Дают скидку 15% на билет для частных лиц по промокоду
DJANGO
;→ Есть билет для студентов и преподавателей вузов — в два раза дешевле персонального;
→ Можно попросить руководство приобрести вам корпоративный билет.
Бонус: в соседних залах пройдет ML-конференция IML. Участники PiterPy смогут послушать доклады IML бесплатно.
За подробностями и билетами


20.04.202513:17
🐍 Как просто создать мультисловарь (Multi-dictionary) в Python
Хочешь, чтобы один ключ в словаре указывал на несколько значений?
Легко!
Используй collections.defaultdict и встроенный list:
🔁 Теперь каждый ключ по умолчанию сопоставляется с пустым списком. А append добавляет новое значение в этот список.
Но будь внимателен: это немного “обман”. На самом деле словарь всё ещё отображает один ключ → одно значение. Просто это значение — список, в который ты уже сам кладёшь что угодно.
Почему
Потому что тебе не нужно проверять, есть ли ключ в словаре. Пустой список будет создан автоматически при первом обращении к ключу.
@pythonl
Хочешь, чтобы один ключ в словаре указывал на несколько значений?
Легко!
Используй collections.defaultdict и встроенный list:
🔁 Теперь каждый ключ по умолчанию сопоставляется с пустым списком. А append добавляет новое значение в этот список.
Но будь внимателен: это немного “обман”. На самом деле словарь всё ещё отображает один ключ → одно значение. Просто это значение — список, в который ты уже сам кладёшь что угодно.
Почему
defaultdict
удобен?Потому что тебе не нужно проверять, есть ли ключ в словаре. Пустой список будет создан автоматически при первом обращении к ключу.
@pythonl
Shown 1 - 24 of 175
Log in to unlock more functionality.