🐍 Python-библиотеки для Linux-администраторов
Набор must-have инструментов, которые помогут автоматизировать системные задачи, управлять файлами, процессами и сетью:
🔸
https://docs.python.org/3/library/os.html
🔸
https://docs.python.org/3/library/subprocess.html
🔸
https://pypi.org/project/psutil/
🔸
https://docs.python.org/3/library/platform.html
🔸
https://docs.python.org/3/library/socket.html
🔸
https://docs.python.org/3/library/pwd.html
🔸
https://docs.python.org/3/library/pathlib.html
🔸
https://docs.python.org/3/library/shutil.html
🔸
https://docs.python.org/3/library/tarfile.html
📦 Эти модули — основа для написания удобных и мощных CLI-утилит, скриптов и системных инструментов.
@pythonl
Набор must-have инструментов, которые помогут автоматизировать системные задачи, управлять файлами, процессами и сетью:
🔸
os
— работа с файловой системой, путями, переменными окружения https://docs.python.org/3/library/os.html
🔸
subprocess
— запуск внешних команд и управление ими https://docs.python.org/3/library/subprocess.html
🔸
psutil
— мониторинг процессов, ресурсов, дисков, сети https://pypi.org/project/psutil/
🔸
platform
— информация об ОС, архитектуре, версии Python https://docs.python.org/3/library/platform.html
🔸
socket
— сетевые соединения и сокеты https://docs.python.org/3/library/socket.html
🔸
pwd
— доступ к информации о пользователях Unix https://docs.python.org/3/library/pwd.html
🔸
pathlib
— удобная работа с путями в ООП-стиле https://docs.python.org/3/library/pathlib.html
🔸
shutil
— копирование, удаление, архивация файлов и директорий https://docs.python.org/3/library/shutil.html
🔸
tarfile
— создание и извлечение `.tar`-архивов https://docs.python.org/3/library/tarfile.html
📦 Эти модули — основа для написания удобных и мощных CLI-утилит, скриптов и системных инструментов.
@pythonl
🎯 5 ИИ-проектов, которые ты можешь собрать за выходные
Хочешь прокачать навыки ML и Python без математики и Kaggle? Лови 5 готовых идей, которые можно собрать за 1–2 дня:
🔹 Голосовой ассистент — Whisper + GPT + озвучка
🔹 Чат-бот для PDF — LangChain + FAISS + OpenAI
🔹 Генератор картинок — Stable Diffusion + Gradio
🔹 Подписи к фото — BLIP + HuggingFace
🔹 TL;DR бот — BART или GPT для суммаризации текста
✅ Примеры кода
✅ Деплой на HuggingFace / Streamlit
✅ Всё реально собрать за выходные
📎 Забирай гайд — и добавь проекты в резюме: «AI developer: checked»
@pythonl
Хочешь прокачать навыки ML и Python без математики и Kaggle? Лови 5 готовых идей, которые можно собрать за 1–2 дня:
🔹 Голосовой ассистент — Whisper + GPT + озвучка
🔹 Чат-бот для PDF — LangChain + FAISS + OpenAI
🔹 Генератор картинок — Stable Diffusion + Gradio
🔹 Подписи к фото — BLIP + HuggingFace
🔹 TL;DR бот — BART или GPT для суммаризации текста
✅ Примеры кода
✅ Деплой на HuggingFace / Streamlit
✅ Всё реально собрать за выходные
📎 Забирай гайд — и добавь проекты в резюме: «AI developer: checked»
@pythonl
🐍 Ошибка с изменяемыми значениями по умолчанию»**
🎯 Цель: Найти и объяснить баг, который не вызывает исключений, но ломает логику приложения
📍 Ситуация:
У тебя есть функция, которая логирует события с метаданными. По умолчанию метаданные можно не передавать:
На первый взгляд — всё работает. Но при многократных вызовах функции происходит что-то странное:
👀 Вывод:
🔍 Что пошло не так? Почему
🧩 Задача:
1. Найди и объясни источник бага
2. Почему Python не выбрасывает ошибку?
3. Как проверить, что дефолтный аргумент сохраняет состояние между вызовами?
4. Как это исправить безопасно и "по питоновски"?
5. Где ещё может проявиться аналогичный эффект?
🛠 Разбор и решение:
🔸 Причина:
Изменяемое значение (`dict`) используется как значение по умолчанию.
В Python значения по умолчанию вычисляются один раз при определении функции, а не при каждом вызове.
То есть создаётся один раз и сохраняется между вызовами, если параметр не передан.
🔸 Проверка:
Вы увидишь одинаковые — значит, используется тот же объект.
🔸 Решение (правильный способ):
Теперь при каждом вызове создаётся новый словарь, и не "протекает" в следующие вызовы.
🔸 Где ещё встречается:
- Списки:
- Множества:
- Объекты пользовательских классов
📌 Вывод:
Изменяемые значения по умолчанию — одна из самых частых ошибок в Python. Она не вызывает исключений, но может незаметно повредить данные. Всегда используй + инициализацию внутри функции для изменяемых типов.
@pythonl
🎯 Цель: Найти и объяснить баг, который не вызывает исключений, но ломает логику приложения
📍 Ситуация:
У тебя есть функция, которая логирует события с метаданными. По умолчанию метаданные можно не передавать:
def log_event(event, metadata={}):
metadata["event"] = event
print(metadata)
На первый взгляд — всё работает. Но при многократных вызовах функции происходит что-то странное:
log_event("start")
log_event("stop")
log_event("error", {"code": 500})
log_event("retry")
👀 Вывод:
{'event': 'start'}
{'event': 'stop'}
{'code': 500, 'event': 'error'}
{'code': 500, 'event': 'retry'}
🔍 Что пошло не так? Почему
code: 500
появляется там, где его быть не должно?🧩 Задача:
1. Найди и объясни источник бага
2. Почему Python не выбрасывает ошибку?
3. Как проверить, что дефолтный аргумент сохраняет состояние между вызовами?
4. Как это исправить безопасно и "по питоновски"?
5. Где ещё может проявиться аналогичный эффект?
🛠 Разбор и решение:
🔸 Причина:
В Python значения по умолчанию вычисляются один раз при определении функции, а не при каждом вызове.
То есть
metadata={}
🔸 Проверка:
def f(d={}):
print(id(d))
d["x"] = 1
print(d)
f()
f()
Вы увидишь одинаковые
id(d)
🔸 Решение (правильный способ):
def log_event(event, metadata=None):
if metadata is None:
metadata = {}
metadata["event"] = event
print(metadata)
Теперь при каждом вызове создаётся новый словарь, и
code: 500
🔸 Где ещё встречается:
- Списки:
items=[]
- Множества:
visited=set()
- Объекты пользовательских классов
📌 Вывод:
Изменяемые значения по умолчанию — одна из самых частых ошибок в Python. Она не вызывает исключений, но может незаметно повредить данные. Всегда используй
None
@pythonl
🕵️♂️ ExeRay — статический анализатор PE-файлов на Python
ExeRay — это удобный инструмент для реверс-инженеров, исследователей безопасности и malware-аналитиков.
Он проводит статический анализ исполняемых файлов
🧩 Что умеет ExeRay:
✅ Анализировать PE-файл и извлекать:
- Заголовки, секции, импорты/экспорты
- Таблицы ресурсов
- Используемые API и библиотеки
- Suspicious patterns и аномалии
✅ Генерировать отчёт в HTML
✅ Работает полностью офлайн
✅ Поддержка анализа несколькими методами (pefile + custom парсеры)
📦 Пример использования:
После чего ты получаешь красивый и подробный отчёт по всем ключевым параметрам PE-файла.
💻 Технологии:
- Python 3
-
- Простая CLI и понятный код — легко расширить под свои задачи
🧠 Кому подойдёт:
- Reverse Engineers
- Malware Analysts
- Red/Blue Teams
- Python-разработчикам, интересующимся PE-структурой и безопасностью
🔥 Если ты работаешь с
📁 Репозиторий:
@pythonl
ExeRay — это удобный инструмент для реверс-инженеров, исследователей безопасности и malware-аналитиков.
Он проводит статический анализ исполняемых файлов
.exe
(PE-файлов) и визуализирует их структуру в удобной форме.🧩 Что умеет ExeRay:
✅ Анализировать PE-файл и извлекать:
- Заголовки, секции, импорты/экспорты
- Таблицы ресурсов
- Используемые API и библиотеки
- Suspicious patterns и аномалии
✅ Генерировать отчёт в HTML
✅ Работает полностью офлайн
✅ Поддержка анализа несколькими методами (pefile + custom парсеры)
📦 Пример использования:
python main.py -f malware.exe
После чего ты получаешь красивый и подробный отчёт по всем ключевым параметрам PE-файла.
💻 Технологии:
- Python 3
-
pefile
, matplotlib
, pyvis
для графов зависимостей - Простая CLI и понятный код — легко расширить под свои задачи
🧠 Кому подойдёт:
- Reverse Engineers
- Malware Analysts
- Red/Blue Teams
- Python-разработчикам, интересующимся PE-структурой и безопасностью
🔥 Если ты работаешь с
.exe
, и хочешь быстро понять, что внутри — ExeRay сэкономит часы ручного анализа.📁 Репозиторий:
@pythonl
This media is not supported in your browser
VIEW IN TELEGRAM
Набор симуляций физических явлений, написанных на Python с использованием Pygame. Эти симуляции создавались в образовательных целях и охватывают различные концепции, включая:
- Законы Ньютона
- Гравитацию
- Силы и трение
- Простую гармоническую модуляцию
- И многое другое
Для запуска симуляций необходимо установить зависимости:
pip install -r requirements.txt
Затем можно запустить нужный скрипт напрямую, например:
python gravity_sim.py
Каждый файл представляет отдельную симуляцию, сопровождаемую визуализацией с помощью Pygame.
📌 Github
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 ReasonFlux-Coder — ИИ, который пишет код и сразу проверяет его
Новая серия моделей от команды ReasonFlux научилась не только писать код, но и автоматически генерировать юнит-тесты.
Это стало возможно благодаря их алгоритму CURE — модель учится программировать и проверять себя одновременно.
💡 Что внутри:
🧠 ReasonFlux-Coder-7B и 14B
Пишут код лучше, чем другие модели такого же размера: Qwen Coders, DeepSeek, Seed-Coders.
Без проблем работают в пайплайнах с агентами и умеют масштабироваться на этапе запуска.
🧪 ReasonFlux-Coder-4B (Long-CoT)
Модель с расширенным рассуждением (Chain-of-Thought).
• Обходит Qwen3-4B
• Создаёт юнит-тесты с эффективностью 64.8%
• Может использоваться как reward-модель в обучении с подкреплением
📌 Зачем это нужно:
– для автотестирования кода
– для CICD пайплайнов
– для агентных систем, которые сами проверяют свои решения
📄 Подробности: https://huggingface.co/Gen-Verse/ReasonFlux-Coder-14B
@pythonl
Новая серия моделей от команды ReasonFlux научилась не только писать код, но и автоматически генерировать юнит-тесты.
Это стало возможно благодаря их алгоритму CURE — модель учится программировать и проверять себя одновременно.
💡 Что внутри:
🧠 ReasonFlux-Coder-7B и 14B
Пишут код лучше, чем другие модели такого же размера: Qwen Coders, DeepSeek, Seed-Coders.
Без проблем работают в пайплайнах с агентами и умеют масштабироваться на этапе запуска.
🧪 ReasonFlux-Coder-4B (Long-CoT)
Модель с расширенным рассуждением (Chain-of-Thought).
• Обходит Qwen3-4B
• Создаёт юнит-тесты с эффективностью 64.8%
• Может использоваться как reward-модель в обучении с подкреплением
📌 Зачем это нужно:
– для автотестирования кода
– для CICD пайплайнов
– для агентных систем, которые сами проверяют свои решения
📄 Подробности: https://huggingface.co/Gen-Verse/ReasonFlux-Coder-14B
@pythonl
🚨 Атака на PyPI, npm и RubyGems: сотни вредоносных пакетов в официальных реестрах
🔍 Исследователи обнаружили массовую кампанию по размещению вредоносных библиотек в популярных экосистемах:
🧪 Что произошло:
• На npm опубликованы фейковые версии библиотек вроде Hardhat, крадущие приватные ключи и
• В PyPI появились клоны
• В RubyGems — более 700 пакетов, использующих тайпосквоттинг (`activesupportt`,
🎯 Цель — разработчики. Пакеты собирают:
– мнемоники
– приватные ключи
– конфиги AWS/GCP
– системную информацию
🛡 Что делать:
– Проверяй названия пакетов (тайпосквоттинг — главный приём)
– Запускай
– Используй виртуальные окружения и минимум прав
– Подпиши зависимости, где это возможно (например, через Sigstore)
📌 Подробнее
🔍 Исследователи обнаружили массовую кампанию по размещению вредоносных библиотек в популярных экосистемах:
🧪 Что произошло:
• На npm опубликованы фейковые версии библиотек вроде Hardhat, крадущие приватные ключи и
.env
• В PyPI появились клоны
requests
, urllib3
и др., с вредоносными вставками • В RubyGems — более 700 пакетов, использующих тайпосквоттинг (`activesupportt`,
httpartyy
и т.д.)🎯 Цель — разработчики. Пакеты собирают:
– мнемоники
– приватные ключи
– конфиги AWS/GCP
– системную информацию
🛡 Что делать:
– Проверяй названия пакетов (тайпосквоттинг — главный приём)
– Запускай
pip audit
, npm audit
, bundler audit
– Используй виртуальные окружения и минимум прав
– Подпиши зависимости, где это возможно (например, через Sigstore)
📌 Подробнее
This media is not supported in your browser
VIEW IN TELEGRAM
def paradox(n):
def f(x):
return ((x * x) % n + x) % n
slow = fast = 0
while True:
slow = f(slow)
fast = f(f(fast))
if slow == fast:
return slow
print(paradox(31337))
На первый взгляд — простой цикл с двумя указателями: slow и fast.
Но на деле это алгоритм Флойда ("заяц и черепаха"), используемый для нахождения цикла в псевдослучайной последовательности.
📌 Функция f(x):
Простая квадратичная функция, по сути — генератор псевдослучайных чисел по модулю n.
📌 Что происходит:
slow движется на 1 шаг за итерацию: f(x)
fast — на 2 шага: f(f(x))
Как только slow == fast, цикл найден — значит, последовательность начала повторяться.
🔍 Почему это парадокс?
Потому что вы начинаете с 0, вычисляете кучу якобы "случайных" значений, и внезапно обнаруживаете цикличность в хаосе.
Вы не знаете длину цикла, период или точку входа, но находите пересечение без хранения всей истории.
💡 Эта техника используется в:
криптографии (Pollard's rho для факторизации),
генерации чисел,
распознавании псевдопериодов,
хаотических системах.
🎯 Челлендж для продвинутых:
Измените f(x) на pow(x, 3, n) — как это повлияет на цикл?
Реализуйте поиск начала цикла и длины периода, используя Флойда + Брента.
Придумайте, как использовать это для взлома слабых генераторов случайных чисел.
🧠 Эта задача не просто про числа — она про границу между случайным и детерминированным.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎮 Учимся Python прямо в бою — в Steam бесплатно раздают CodeStrike!
Это не просто игра — это шпионский экшен, где ты решаешь всё кодом.
В CodeStrike ты — элитный агент, действующий в мире, захваченном ИИ и алчными корпорациями.
💻 Что тебя ждёт:
• Пишешь Python-код
• Ломаешь системы, обходишь ловушки, взрываешь и взламываешь
• Программируешь поведение героя в реальном времени
• Участвуешь в гонках, сражениях и выживании — только с помощью кода
Это как если бы *Metal Gear* встретился с *LeetCode* — но весело.
🐍 Прокачай Python, даже не замечая, как учишься.
⚡ Вкатиться можно здесь: https://store.steampowered.com/app/3444170/CodeStrike__Python_Practice_Adventure_Game/
@pythonl
Это не просто игра — это шпионский экшен, где ты решаешь всё кодом.
В CodeStrike ты — элитный агент, действующий в мире, захваченном ИИ и алчными корпорациями.
💻 Что тебя ждёт:
• Пишешь Python-код
• Ломаешь системы, обходишь ловушки, взрываешь и взламываешь
• Программируешь поведение героя в реальном времени
• Участвуешь в гонках, сражениях и выживании — только с помощью кода
Это как если бы *Metal Gear* встретился с *LeetCode* — но весело.
🐍 Прокачай Python, даже не замечая, как учишься.
⚡ Вкатиться можно здесь: https://store.steampowered.com/app/3444170/CodeStrike__Python_Practice_Adventure_Game/
@pythonl
This media is not supported in your browser
VIEW IN TELEGRAM
import dis
def explain_bytecode(fn):
print(f"Анализ байткода функции: {fn.__name__}\n")
dis.dis(fn)
Пример:
def tricky(x):
return x * 2 + 1 if x > 0 else x - 1
explain_bytecode(tricky)
Этот хак показывает байткод Python-функции, позволяя заглянуть под капот интерпретатора. Используется для:
• отладки «странного» поведения функций
• анализа производительности на уровне Python VM
• изучения, как Python интерпретирует тернарные выражения, замыкания, генераторы и т. д.
Модуль dis встроен в стандартную библиотеку и часто игнорируется — но это мощный инструмент для продвинутых разработчиков и авторов интерпретаторов.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🤖 AI, который сам пишет код — умный агент на базе LangGraph
Проект находится в активной разработке и уже умеет автоматизировать весь цикл: от планирования проекта до генерации кода. Всё построено на надёжных multi-agent workflow'ах с использованием LangGraph.
🚀 Что делает агент:
🧠 Понимает задачу и строит план
AI-архитектор анализирует требования и создаёт пошаговый план разработки.
💻 Генерирует и редактирует код
Dev-агент аккуратно применяет изменения в кодовой базе, редактируя конкретные файлы.
🔁 Разделяет роли — надёжнее работает
Отдельные агенты для планирования и реализации — меньше ошибок и больше контроля.
🧬 Понимает структуру проекта
Использует tree-sitter и семантический поиск, чтобы ориентироваться в коде как человек.
📦 Работает по шагам
Разбивает задачи на мелкие изменения — удобно для review и безопасно для CI.
💡 Если интересуешься автоматизацией разработки, AI-помощниками и мультиагентными системами — стоит попробовать уже сейчас.
▪ Github
@pythonl
#AI #AutoCoding #LangGraph #DevTools #MultiAgent #CodeAutomation
Проект находится в активной разработке и уже умеет автоматизировать весь цикл: от планирования проекта до генерации кода. Всё построено на надёжных multi-agent workflow'ах с использованием LangGraph.
🚀 Что делает агент:
🧠 Понимает задачу и строит план
AI-архитектор анализирует требования и создаёт пошаговый план разработки.
💻 Генерирует и редактирует код
Dev-агент аккуратно применяет изменения в кодовой базе, редактируя конкретные файлы.
🔁 Разделяет роли — надёжнее работает
Отдельные агенты для планирования и реализации — меньше ошибок и больше контроля.
🧬 Понимает структуру проекта
Использует tree-sitter и семантический поиск, чтобы ориентироваться в коде как человек.
📦 Работает по шагам
Разбивает задачи на мелкие изменения — удобно для review и безопасно для CI.
💡 Если интересуешься автоматизацией разработки, AI-помощниками и мультиагентными системами — стоит попробовать уже сейчас.
▪ Github
@pythonl
#AI #AutoCoding #LangGraph #DevTools #MultiAgent #CodeAutomation
💎 Quadratic — электронные таблицы нового поколения с кодом и ИИ. Проект предоставляет гибридную среду, где формулы, Python и SQL работают бок о бок, позволяя анализировать миллионы строк прямо в браузере без потерь производительности.
Особенность инструмента — технологичный стек (Rust, WebAssembly, WebGL). Интерфейс с поддержкой 60 FPS и масштабированием как в Figma делает работу с большими данными неожиданно плавной.
🤖 GitHub
@pythonl
Особенность инструмента — технологичный стек (Rust, WebAssembly, WebGL). Интерфейс с поддержкой 60 FPS и масштабированием как в Figma делает работу с большими данными неожиданно плавной.
🤖 GitHub
@pythonl