pythonportal | Unsorted

Telegram-канал pythonportal - Python Portal

50319

Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Работаем с @Spiral_Yuri РКН: https://clck.ru/3GMMF6

Subscribe to a channel

Python Portal

Все надоело и пропал интерес, чувствуешь себя амебой и хочется только залипать в телефоне. Бывает?

Психолог взрослого человека — канал для айтишников, у которых периодически опускаются руки и отключается мозг, ибо переработки и постоянная тревожность не приводят к другим исходам 🤗

✓ Как научиться отвлекаться от работы и отдыхать?
✓ Как совместить кучу рабочих задач и время с семьей?
✓ Как справиться с прокрастинацией?
✓ Как не растерять запал, даже если начальник и коллеги 💩 и кажется, что ничего не выходит?

Подписывайтесь на канал @vadimpetrovpsi и научитесь работать без упахивания, выгорания и ущерба для личной жизни!

Псс. Заходите в закреп — там много полезного, и даже бесплатный мини-курс по выходу из апатии:
👉 /channel/+fPc1DWN-1jlkNTky

Читать полностью…

Python Portal

Для деплоя AI-приложений в Python тебе нужен всего один декоратор

Beam — это open-source альтернатива Modal для запуска serverless AI-нагрузок.

Просто установи beam через pip, добавь декоратор и любая функция превращается в serverless endpoint 😎

Полностью open-source

👉 @PythonPortal

Читать полностью…

Python Portal

POV: я готовлюсь к собесу VS я работаю 💀

👉 @PythonPortal

Читать полностью…

Python Portal

🔍Открытое собеседование на Python-бекендера с разработчиком из Avito и Яндекс в четверг

10 июля(уже в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.

Как это будет:
📂 Савва Демиденко, ТехЛид с опытом в Яндексе и Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Савва будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Савве

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid:2Vtzqvqw4DV

Читать полностью…

Python Portal

Время выглянуть за рамки мониторов и взять в руки удочку

Сделайте паузу от тасков и митов на летнем IT-фестивале от Selectel против выгорания!

🗓 27 июля
📍 Флагшток, Санкт-Петербург или онлайн


В программе:
- доклады и воркшопы о том, как встроить отдых в свой плотный график,
- жизненные выступления на IT-стендапе,
- возможность попробовать разные активности, чтобы найти новое хобби: скалолазание, бокс, кастом вещей, рыбалка

Участие бесплатное, нужно просто зарегистрироваться: https://slc.tl/ti4e1

А чтобы посмотреть полную программу, заглянуть за кулисы подготовки и поучаствовать в розыгрыше лимитированного тирекса, подписывайтесь на @Selectel_Events

Читать полностью…

Python Portal

Это расширение для VS Code от Google — настоящий геймченджер

Позволяет запускать Gemini прямо внутри редактора, выступая в роли умного AI-помощника для программирования.

Отличная альтернатива таким инструментам, как GitHub Copilot ✊

👉 @PythonPortal

Читать полностью…

Python Portal

45 бесплатных Python-руководств (копируй и запускай) по алгоритмической торговле.

Всё выложено бесплатно на GitHub: https://github.com/quant-science/sunday-quant-scientist 💪

👉 @PythonPortal

Читать полностью…

Python Portal

Экранный рекордер с помощью 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) — сохраняем кадр в видеофайл.

Остановка по нажатию клавиши 'q'

if keyboard.is_pressed('q'):
print("Recording stopped.")
break


Как только пользователь нажимает клавишу 'q', цикл прерывается.

Сохраняем и закрываем файл

out.release()
print(f"Video saved to {output_file}")


🔸out.release() — освобождаем ресурсы и сохраняем файл.

👉 @PythonPortal

Читать полностью…

Python Portal

3D контурный график на Python

1. Импортируем библиотеки:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D


> numpy — для работы с массивами
> matplotlib.pyplot — для построения графиков
> mpl_toolkits.mplot3d — модуль для 3D-графиков

2. Создаём координатную сетку:

x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)


🔹linspace создаёт равномерные значения по X и Y
🔹meshgrid строит двумерную сетку координат

3. Определяем функцию:

def f(x, y):
return np.sin(np.sqrt(x**2 + y**2))


Это функция поверхности, значения которой будут отображаться через контуры по оси Z

4. Вычисляем значения Z:

Z = f(X, Y)


Получаем двумерный массив значений Z для каждой точки (X, Y)

5. Создаём фигуру и 3D-подграфик:

fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(111, projection='3d')


Создаём фигуру и добавляем 3D‑ось

6. Рисуем контуры в 3D:

contour = ax.contour3D(X, Y, Z, 50, cmap='viridis')


> contour3D рисует линии уровня
> 50 — число уровней
> cmap='viridis' — цветовая палитра

7. Подписываем оси и добавляем шкалу:

ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_zlabel('Z-axis')
fig.colorbar(contour, ax=ax, label='Z values')


Добавляем подписи и цветовую шкалу (colorbar) для значений Z

8. Показываем график:

plt.show()


👉 @PythonPortal

Читать полностью…

Python Portal

Это одно из самых безумных расширений для VS Code, что я видел за последнее время

GitLantis визуализирует структуру проекта в виде 3D-подводного мира. Да, буквально — ты «плаваешь» по директориям, как по рифам в Атлантике. Атмосферно и безумно красиво 😮

👉 @PythonPortal

Читать полностью…

Python Portal

Совет по Pytest:

Используйте @pytest.mark.skipif, чтобы условно пропускать тесты в зависимости от определённых условий — например, платформы, наличия зависимостей или значений переменных окружения

Декоратор @pytest.mark.skipif(...) указывает Pytest пропустить выполнение теста, если условие истинно.

В примере, тест пропускается, если используется Python версии ниже 3.9, потому что оператор объединения словарей (|) появился только в Python 3.9.

Аргумент reason сообщает причину пропуска, которая отображается в отчёте Pytest.

👉 @PythonPortal

Читать полностью…

Python Portal

⭐️ Техножурнал Яндекс 360: рассказываем о технологиях

В Яндекс 360 мы создаём технологии, которые работают в основе более чем 13 сервисов, включая Диск, Почту, Телемост, Мессенджер и другие.

Открывайте Техножурнал, чтобы узнать:

— Как мы балансируем нагрузку в 300k RPS в Яндекс Мессенджере,
— Как подружили MongoDB и PostgreSQL в Диске,
— Какие в команде культура и ценности.

А ещё — как мы внедряли DDD, кто такой Technical Owner, как управляем 650+ шардами PostgreSQL и как подходим к проектированию архитектуры наших сервисов.

⭐️ Всё это — в Техножурнале Яндекс 360.

@yandex360team

Читать полностью…

Python Portal

Pandas vs PySpark

Если ты работаешь с небольшими данными на ноутбуке или с большими объёмами на кластере — именно Pandas и PySpark лежат в основе современной аналитики данных.

Когда я только начинал, постоянно ловил себя на вопросах: «А как сделать эту операцию из Pandas в PySpark?»
или «Какой эквивалент у этого DataFrame-кода в PySpark?» 😨

Переключаться между ними было непросто — разный синтаксис, разный подход. Поэтому держи простую шпаргалку с командами в лоб-в-лоб, чтобы упростить переход.

Что внутри:
❯ Удобный выбор, фильтрация и сортировка строк
❯ Группировка, агрегации и join’ы без боли
❯ Обработка пропущенных значений
❯ Плавный перенос логики между Pandas и PySpark

Совет: если освоишь обе библиотеки — сможешь уверенно переключаться между небольшими проектами и масштабными пайплайнами.

И не забывай:

«В Pandas ты учишься ремеслу. В PySpark — масштабированию.»



👉 @PythonPortal

Читать полностью…

Python Portal

Наткнулся на годный репозиторий для изучения Data Science с Python 😮

Это полный текст книги Python Data Science Handbook в формате Jupyter-ноутбуков — прямо на GitHub

Можно изучать NumPy, Pandas, Matplotlib, Scikit-Learn и другие библиотеки прямо в интерактивном формате. Подойдёт и для новичков, и как шпаргалка для практиков

👉 @PythonPortal

Читать полностью…

Python Portal

Google представила мощного AI-ассистента для работы в терминале — Gemini CLI

На текущем этапе инструмент фактически доступен бесплатно, работает на базе модели Gemini 2.5 Pro, с такими лимитами:

- До 60 запросов в минуту
- До 1000 запросов в день

Для личного использования этих ограничений более чем достаточно. На фоне подписок по $10–20 в месяц на другие AI-инструменты для разработки — Google действительно щедр. 😮

• Контекст до 1 млн токенов
• Мультимодальность: UI-скетчи, PDF → код
• Автопоиск PR и merge-автоматизация
• Поддержка MCP-протокола
• Встроенный Google Search

👉 @PythonPortal

Читать полностью…

Python Portal

Большинство разработчиков распаковывают значения вроде (x, y) вручную в циклах.

Но Python умеет распаковывать вложенные кортежи напрямую.

Чисто, без индексов и костылей.

Отлично подходит для координат, строк из CSV или любых парных данных.

👉 @PythonPortal

Читать полностью…

Python Portal

Всё ещё используешь range(len(...)), чтобы получить индексы?

В Python есть более элегантный способ — enumerate(), который автоматически добавляет индекс.

Идеально подходит для чистых циклов, вывода с метками или нумерации строк в файлах.

Попробуй.

👉 @PythonPortal

Читать полностью…

Python Portal

Нашёл годный инструмент для работы с базами данных

Это AI-инструмент, который на лету генерирует схемы баз данных из обычного текста. Пишешь: «Сделай базу как у Netflix» — получаешь готовую структуру с таблицами, связями и диаграммами

Можно править, генерить фейковые данные, импортить из CSV и деплоить в Supabase в один клик.

Бесплатно, пробуем: https://database.build/

👉 @PythonPortal

Читать полностью…

Python Portal

Зацени. Microsoft выложила в open-source инструмент для анализа данных без кода.

Data Formulator — это AI‑ассистированный анализ данных с drag-and-drop интерфейсом для визуализации.

Инструмент умеет работать не только с исходным датасетом, но и генерировать дополнительные поля и соответствующие визуализации. 👍

👉 @PythonPortal

Читать полностью…

Python Portal

Python позволяет выровнять текст по центру одной строкой.

Без вычислений и форматных хаках.

Можно даже задать символ для заполнения.

Отлично подходит для баннеров, логов или текстовых интерфейсов в терминале. 🐸

👉 @PythonPortal

Читать полностью…

Python Portal

Изучаете Python и уже чувствуете себя уверенно? Хотите проверить навыки и знания? Тогда приглашаем на бесплатный мини-курс «Python для всех»!

Регистрируйтесь в пару кликов и получите чек-листы с полезными материалами: https://epic.st/2xh_Ei?erid=2VtzqxWQvGo


Курс состоит из практики чуть менее чем полностью. За 4 дня вы создадите 4 проекта:
1️⃣ Бота для Telegram, который умеет переводить голос в текст
2️⃣ Бота для Telegram, который обрабатывает фотографии
3️⃣ Парсер, который извлекает данные с сайтов
4️⃣ Веб-сайт (с помощью фреймворка Flask)

В общем, прокачаете навыки и наверняка узнаете что-то новое.

🎁 А ещё получите подарки: персональную карьерную консультацию, скидку 10 000 рублей на любой курс Skillbox и подборку полезных материалов.

Читать полностью…

Python Portal

Эта фича в VS Code — суперсила, о которой 90% разработчиков не знают

Называется Forward Port и позволяет пробросить локальный порт в интернет и поделиться своим проектом снаружи. 🫥

👉 @PythonPortal

Читать полностью…

Python Portal

Ultimate Python — практичный гайд по чистому Python

Мини‑модули по ключевым темам Python, от переменных до многопоточности. Учишься по шагам.

Никаких сторонних библиотек — тык

👉 @PythonPortal

Читать полностью…

Python Portal

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 Portal

Это библия для разработчиков: вся нужная документация в одном месте

✓ Языки программирования, библиотеки, фреймворки
✓ Поиск сразу по всем источникам
✓ Всегда актуальные версии

Дока обновляется каждый день. Открывай в одной вкладке хоть Python, Postgres и Bash

Никакой рекламы, всё супербыстро → devdocs․io 😱

👉 @PythonPortal

Читать полностью…

Python Portal

Text-to-Speech нового уровня

Chatterbox — первый open-source TTS, готовый к продакшену.

➣ Задержки менее 200 мс
➣ Синтеза речи нулевого выстрела (zero-shot) на уровне SoTA
➣ Управления эмоциями и выразительностью

Полностью open-source 😱

👉 @PythonPortal

Читать полностью…

Python Portal

Практический Python от Дэвида Бизли (один из самых уважаемых экспертов по Python, автор книги "Python Essential Reference")

Курс учит не просто писать код, а думать как интерпретатор, избегая фреймворков. Всё на голом Python, от функций до генераторов и итераторов

Материал подаётся плотно, с минимальной теорией и сразу с практикой.

Курс доступен онлайн, без регистрации и бесплатно, включая слайды, заметки и упражнения 🤔

Ссылка на курс: тык

👉 @PythonPortal

Читать полностью…

Python Portal

Всё, что нужно для трассировки LLM-приложений это Python-декоратор (open-source).

Большинство метрик для LLM оценивают приложение как чёрный ящик от начала до конца.

Но LLM-приложения требуют оценки и трассировки на уровне компонентов, ведь ошибка может быть где угодно: в ретривере, вызове инструмента или самом LLM.

С помощью deepeval это делается всего в 3 строки кода:

– Используй декоратор @observe, чтобы трассировать отдельные компоненты (инструменты, ретриверы, генераторы)
– Привязывай метрики к каждому из компонентов
– Получай визуальный разбор — что работает, а что ломается

И всё. Переписывать существующий код не нужно. 😄

Пример есть выше для RAG-приложения.

Deepeval — полностью open-source, уже 8500+ звёзд на GitHub. Можно легко задеплоить у себя. Все данные останутся под твоим контролем.

👉 @PythonPortal

Читать полностью…

Python Portal

Преобразование систем счисления в 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


👉 @PythonPortal

Читать полностью…

Python Portal

Многие разработчики на Python считают метод __init__() конструктором, но на самом деле это не так.

Настоящий конструктор в Python — это метод __new__(). Давайте разберёмся, как это доказать, на небольшом примере.

Сначала добавим несколько print-вызовов в метод __init__(), чтобы понять, что происходит при создании экземпляра класса: (2 фото)

Теперь добавим метод __new__() и посмотрим, вызывается ли __init__() до или после __new__(). (3 фото)

Если запустить этот код, станет видно, что первым вызывается именно метод __new__()

Хочу отметить, что в большинстве случаев вам не придётся использовать метод __new__() в своём коде. На практике он применяется почти исключительно в метапрограммировании, фабричных функциях и при работе с API — по крайней мере, из того, что мне доводилось видеть.

Так что продолжайте спокойно использовать проверенный метод __init__() — он по-прежнему отлично справляется со своей задачей 😄

👉 @PythonPortal

Читать полностью…
Subscribe to a channel