50319
Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Работаем с @Spiral_Yuri РКН: https://clck.ru/3GMMF6
Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает?
Психолог взрослого человека — канал для айтишников, у которых периодически опускаются руки и отключается мозг, ибо переработки и постоянная тревожность не приводят к другим исходам 🤗
✓ Как научиться отвлекаться от работы и отдыхать?
✓ Как совместить кучу рабочих задач и время с семьей?
✓ Как справиться с прокрастинацией?
✓ Как не растерять запал, даже если начальник и коллеги 💩 и кажется, что ничего не выходит?
Подписывайтесь на канал @vadimpetrovpsi и научитесь работать без упахивания, выгорания и ущерба для личной жизни!
Псс. Заходите в закреп — там много полезного, и даже бесплатный мини-курс по выходу из апатии:
👉 /channel/+fPc1DWN-1jlkNTky
Для деплоя AI-приложений в Python тебе нужен всего один декоратор
Beam — это open-source альтернатива Modal для запуска serverless AI-нагрузок.
Просто установи beam через pip, добавь декоратор и любая функция превращается в serverless endpoint 😎
Полностью open-source
👉 @PythonPortal
POV: я готовлюсь к собесу VS я работаю 💀
👉 @PythonPortal
🔍Открытое собеседование на Python-бекендера с разработчиком из Avito и Яндекс в четверг
10 июля(уже в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
📂 Савва Демиденко, ТехЛид с опытом в Яндексе и Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Савва будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Савве
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid:2Vtzqvqw4DV
Время выглянуть за рамки мониторов и взять в руки удочку
Сделайте паузу от тасков и митов на летнем IT-фестивале от Selectel против выгорания!
🗓 27 июля
📍 Флагшток, Санкт-Петербург или онлайн
В программе:
- доклады и воркшопы о том, как встроить отдых в свой плотный график,
- жизненные выступления на IT-стендапе,
- возможность попробовать разные активности, чтобы найти новое хобби: скалолазание, бокс, кастом вещей, рыбалка
Участие бесплатное, нужно просто зарегистрироваться: https://slc.tl/ti4e1
А чтобы посмотреть полную программу, заглянуть за кулисы подготовки и поучаствовать в розыгрыше лимитированного тирекса, подписывайтесь на @Selectel_Events
Это расширение для VS Code от Google — настоящий геймченджер
Позволяет запускать Gemini прямо внутри редактора, выступая в роли умного AI-помощника для программирования.
Отличная альтернатива таким инструментам, как GitHub Copilot ✊
👉 @PythonPortal
45 бесплатных Python-руководств (копируй и запускай) по алгоритмической торговле.
Всё выложено бесплатно на GitHub: https://github.com/quant-science/sunday-quant-scientist 💪
👉 @PythonPortal
Экранный рекордер с помощью Python
screen_size = pyautogui.size()
fps = 20
fourcc = cv2.VideoWriter_fourcc(*"XVID")
output_file = "screen_recording_clcoding.mp4"
out = cv2.VideoWriter(output_file, fourcc, fps, (screen_size.width, screen_size.height))
screen_size = pyautogui.size() — получаем разрешение экрана (ширину и высоту).fps = 20 — задаём частоту кадров (20 кадров в секунду).fourcc — кодек видео (XVID).output_file — имя файла для сохранения.cv2.VideoWriter(...) — создаёт объект, который будет записывать кадры в видеофайл.print("Recording... Press 'q' to stop.")while True:
screen = pyautogui.screenshot()
frame = np.array(screen)
frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)
out.write(frame)
pyautogui.screenshot() — делает скриншот всего экрана.np.array(screen) — переводим скриншот в массив пикселей.cv2.cvtColor(..., cv2.COLOR_RGB2BGR) — OpenCV использует BGR-порядок, а pyautogui возвращает RGB, нужно преобразовать.out.write(frame) — сохраняем кадр в видеофайл.if keyboard.is_pressed('q'):
print("Recording stopped.")
breakout.release()
print(f"Video saved to {output_file}")
out.release() — освобождаем ресурсы и сохраняем файл.
3D контурный график на Python
1. Импортируем библиотеки:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
def f(x, y):
return np.sin(np.sqrt(x**2 + y**2))
Z = f(X, Y)
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(111, projection='3d')
contour = ax.contour3D(X, Y, Z, 50, cmap='viridis')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_zlabel('Z-axis')
fig.colorbar(contour, ax=ax, label='Z values')plt.show()
Это одно из самых безумных расширений для VS Code, что я видел за последнее время
GitLantis визуализирует структуру проекта в виде 3D-подводного мира. Да, буквально — ты «плаваешь» по директориям, как по рифам в Атлантике. Атмосферно и безумно красиво 😮
👉 @PythonPortal
Совет по Pytest:
Используйте @pytest.mark.skipif, чтобы условно пропускать тесты в зависимости от определённых условий — например, платформы, наличия зависимостей или значений переменных окружения
Декоратор @pytest.mark.skipif(...) указывает Pytest пропустить выполнение теста, если условие истинно.
В примере, тест пропускается, если используется Python версии ниже 3.9, потому что оператор объединения словарей (|) появился только в Python 3.9.
Аргумент reason сообщает причину пропуска, которая отображается в отчёте Pytest.
👉 @PythonPortal
⭐️ Техножурнал Яндекс 360: рассказываем о технологиях
В Яндекс 360 мы создаём технологии, которые работают в основе более чем 13 сервисов, включая Диск, Почту, Телемост, Мессенджер и другие.
Открывайте Техножурнал, чтобы узнать:
— Как мы балансируем нагрузку в 300k RPS в Яндекс Мессенджере,
— Как подружили MongoDB и PostgreSQL в Диске,
— Какие в команде культура и ценности.
А ещё — как мы внедряли DDD, кто такой Technical Owner, как управляем 650+ шардами PostgreSQL и как подходим к проектированию архитектуры наших сервисов.
⭐️ Всё это — в Техножурнале Яндекс 360.
@yandex360team
Pandas vs PySpark
Если ты работаешь с небольшими данными на ноутбуке или с большими объёмами на кластере — именно Pandas и PySpark лежат в основе современной аналитики данных.
Когда я только начинал, постоянно ловил себя на вопросах: «А как сделать эту операцию из Pandas в PySpark?»
или «Какой эквивалент у этого DataFrame-кода в PySpark?» 😨
Переключаться между ними было непросто — разный синтаксис, разный подход. Поэтому держи простую шпаргалку с командами в лоб-в-лоб, чтобы упростить переход.
Что внутри:
❯ Удобный выбор, фильтрация и сортировка строк
❯ Группировка, агрегации и join’ы без боли
❯ Обработка пропущенных значений
❯ Плавный перенос логики между Pandas и PySpark
Совет: если освоишь обе библиотеки — сможешь уверенно переключаться между небольшими проектами и масштабными пайплайнами.
И не забывай:
«В Pandas ты учишься ремеслу. В PySpark — масштабированию.»
Наткнулся на годный репозиторий для изучения Data Science с Python 😮
Это полный текст книги Python Data Science Handbook в формате Jupyter-ноутбуков — прямо на GitHub
Можно изучать NumPy, Pandas, Matplotlib, Scikit-Learn и другие библиотеки прямо в интерактивном формате. Подойдёт и для новичков, и как шпаргалка для практиков
👉 @PythonPortal
Google представила мощного AI-ассистента для работы в терминале — Gemini CLI
На текущем этапе инструмент фактически доступен бесплатно, работает на базе модели Gemini 2.5 Pro, с такими лимитами:
- До 60 запросов в минуту
- До 1000 запросов в день
Для личного использования этих ограничений более чем достаточно. На фоне подписок по $10–20 в месяц на другие AI-инструменты для разработки — Google действительно щедр. 😮
• Контекст до 1 млн токенов
• Мультимодальность: UI-скетчи, PDF → код
• Автопоиск PR и merge-автоматизация
• Поддержка MCP-протокола
• Встроенный Google Search
👉 @PythonPortal
Большинство разработчиков распаковывают значения вроде (x, y) вручную в циклах.
Но Python умеет распаковывать вложенные кортежи напрямую.
Чисто, без индексов и костылей.
Отлично подходит для координат, строк из CSV или любых парных данных.
👉 @PythonPortal
Всё ещё используешь range(len(...)), чтобы получить индексы?
В Python есть более элегантный способ — enumerate(), который автоматически добавляет индекс.
Идеально подходит для чистых циклов, вывода с метками или нумерации строк в файлах.
Попробуй.
👉 @PythonPortal
Нашёл годный инструмент для работы с базами данных
Это AI-инструмент, который на лету генерирует схемы баз данных из обычного текста. Пишешь: «Сделай базу как у Netflix» — получаешь готовую структуру с таблицами, связями и диаграммами
Можно править, генерить фейковые данные, импортить из CSV и деплоить в Supabase в один клик.
Бесплатно, пробуем: https://database.build/
👉 @PythonPortal
Зацени. Microsoft выложила в open-source инструмент для анализа данных без кода.
Data Formulator — это AI‑ассистированный анализ данных с drag-and-drop интерфейсом для визуализации.
Инструмент умеет работать не только с исходным датасетом, но и генерировать дополнительные поля и соответствующие визуализации. 👍
👉 @PythonPortal
Python позволяет выровнять текст по центру одной строкой.
Без вычислений и форматных хаках.
Можно даже задать символ для заполнения.
Отлично подходит для баннеров, логов или текстовых интерфейсов в терминале. 🐸
👉 @PythonPortal
Изучаете Python и уже чувствуете себя уверенно? Хотите проверить навыки и знания? Тогда приглашаем на бесплатный мини-курс «Python для всех»!
Регистрируйтесь в пару кликов и получите чек-листы с полезными материалами: https://epic.st/2xh_Ei?erid=2VtzqxWQvGo
Курс состоит из практики чуть менее чем полностью. За 4 дня вы создадите 4 проекта:
1️⃣ Бота для Telegram, который умеет переводить голос в текст
2️⃣ Бота для Telegram, который обрабатывает фотографии
3️⃣ Парсер, который извлекает данные с сайтов
4️⃣ Веб-сайт (с помощью фреймворка Flask)
В общем, прокачаете навыки и наверняка узнаете что-то новое.
🎁 А ещё получите подарки: персональную карьерную консультацию, скидку 10 000 рублей на любой курс Skillbox и подборку полезных материалов.
Эта фича в VS Code — суперсила, о которой 90% разработчиков не знают
Называется Forward Port и позволяет пробросить локальный порт в интернет и поделиться своим проектом снаружи. 🫥
👉 @PythonPortal
Ultimate Python — практичный гайд по чистому Python
Мини‑модули по ключевым темам Python, от переменных до многопоточности. Учишься по шагам.
Никаких сторонних библиотек — тык
👉 @PythonPortal
uv — это пакетный менеджер для Python, написанный на Rust и созданный с прицелом на скорость и надёжность.
uv — невероятно быстрый
- Создание виртуальных окружений с помощью uv примерно в 80 раз быстрее, чем через python -m venv.
- Установка пакетов происходит в 4–12 раз быстрее без кэша и примерно в 100 раз быстрее с кэшированием.
Он заменяет не только pip, но и такие инструменты, как pip-tools, virtualenv, pipx, poetry и pyenv — всё в виде одного standalone-бинарника.
Вот шпаргалка по uv для Python-разработчиков ♟
🔹uv init <project-name>
— Инициализирует новый Python-проект с дефолтной структурой.
🔹uv venv
— Создаёт новое виртуальное окружение в текущем проекте.
🔹uv add <package-name>
— Добавляет пакет в зависимости проекта.
🔹uv pip install -r requirements.txt
— Устанавливает все зависимости из файла requirements.txt.
🔹uv remove <package-name>
— Удаляет указанный пакет из зависимостей проекта.
🔹uv run script.py
— Запускает Python-скрипт или команду внутри окружения проекта.
🔹uv sync
— Синхронизирует зависимости проекта в соответствии с uv.lock.
🔹uv tool install <tool-name>
— Устанавливает Python CLI-инструмент как глобальный тул.
Пример: uv tool install ruff
🔹uvx <tool> [args]
— Запускает CLI-инструмент во временном окружении без установки.
Пример: uvx black script.py
👉 @PythonPortal
Это библия для разработчиков: вся нужная документация в одном месте
✓ Языки программирования, библиотеки, фреймворки
✓ Поиск сразу по всем источникам
✓ Всегда актуальные версии
Дока обновляется каждый день. Открывай в одной вкладке хоть Python, Postgres и Bash
Никакой рекламы, всё супербыстро → devdocs․io 😱
👉 @PythonPortal
Text-to-Speech нового уровня
Chatterbox — первый open-source TTS, готовый к продакшену.
➣ Задержки менее 200 мс
➣ Синтеза речи нулевого выстрела (zero-shot) на уровне SoTA
➣ Управления эмоциями и выразительностью
Полностью open-source 😱
👉 @PythonPortal
Практический Python от Дэвида Бизли (один из самых уважаемых экспертов по Python, автор книги "Python Essential Reference")
Курс учит не просто писать код, а думать как интерпретатор, избегая фреймворков. Всё на голом Python, от функций до генераторов и итераторов
Материал подаётся плотно, с минимальной теорией и сразу с практикой.
Курс доступен онлайн, без регистрации и бесплатно, включая слайды, заметки и упражнения 🤔
Ссылка на курс: тык
👉 @PythonPortal
Всё, что нужно для трассировки LLM-приложений это Python-декоратор (open-source).
Большинство метрик для LLM оценивают приложение как чёрный ящик от начала до конца.
Но LLM-приложения требуют оценки и трассировки на уровне компонентов, ведь ошибка может быть где угодно: в ретривере, вызове инструмента или самом LLM.
С помощью deepeval это делается всего в 3 строки кода:
– Используй декоратор @observe, чтобы трассировать отдельные компоненты (инструменты, ретриверы, генераторы)
– Привязывай метрики к каждому из компонентов
– Получай визуальный разбор — что работает, а что ломается
И всё. Переписывать существующий код не нужно. 😄
Пример есть выше для RAG-приложения.
Deepeval — полностью open-source, уже 8500+ звёзд на GitHub. Можно легко задеплоить у себя. Все данные останутся под твоим контролем.
👉 @PythonPortal
Преобразование систем счисления в Python с использованием встроенных функций
🔹Из десятичной в двоичную
decimal_number = 10
binary_number = bin(decimal_number)
print(binary_number)
# Вывод: '0b1010'
binary_number = '1010'
decimal_number = int(binary_number, 2)
print(decimal_number)
# Вывод: 10
decimal_number = 10
octal_number = oct(decimal_number)
print(octal_number)
# Вывод: '0o12'
octal_number = '12'
decimal_number = int(octal_number, 8)
print(decimal_number)
# Вывод: 10
decimal_number = 10
hex_number = hex(decimal_number)
print(hex_number)
# Вывод: '0xa'
hex_number = 'a'
decimal_number = int(hex_number, 16)
print(decimal_number)
# Вывод: 10
Многие разработчики на Python считают метод __init__() конструктором, но на самом деле это не так.
Настоящий конструктор в Python — это метод __new__(). Давайте разберёмся, как это доказать, на небольшом примере.
Сначала добавим несколько print-вызовов в метод __init__(), чтобы понять, что происходит при создании экземпляра класса: (2 фото)
Теперь добавим метод __new__() и посмотрим, вызывается ли __init__() до или после __new__(). (3 фото)
Если запустить этот код, станет видно, что первым вызывается именно метод __new__()
Хочу отметить, что в большинстве случаев вам не придётся использовать метод __new__() в своём коде. На практике он применяется почти исключительно в метапрограммировании, фабричных функциях и при работе с API — по крайней мере, из того, что мне доводилось видеть.
Так что продолжайте спокойно использовать проверенный метод __init__() — он по-прежнему отлично справляется со своей задачей 😄
👉 @PythonPortal