This media is not supported in your browser
VIEW IN TELEGRAM
Google представила мощного AI-ассистента для работы в терминале — Gemini CLI
На текущем этапе инструмент фактически доступен бесплатно, работает на базе модели Gemini 2.5 Pro, с такими лимитами:
- До 60 запросов в минуту
- До 1000 запросов в день
Для личного использования этих ограничений более чем достаточно. На фоне подписок по $10–20 в месяц на другие AI-инструменты для разработки — Google действительно щедр.😮
• Контекст до 1 млн токенов
• Мультимодальность: UI-скетчи, PDF → код
• Автопоиск PR и merge-автоматизация
• Поддержка MCP-протокола
• Встроенный Google Search
👉 @PythonPortal
На текущем этапе инструмент фактически доступен бесплатно, работает на базе модели Gemini 2.5 Pro, с такими лимитами:
- До 60 запросов в минуту
- До 1000 запросов в день
Для личного использования этих ограничений более чем достаточно. На фоне подписок по $10–20 в месяц на другие AI-инструменты для разработки — Google действительно щедр.
• Контекст до 1 млн токенов
• Мультимодальность: UI-скетчи, PDF → код
• Автопоиск PR и merge-автоматизация
• Поддержка MCP-протокола
• Встроенный Google Search
Please open Telegram to view this post
VIEW IN TELEGRAM
Преобразование систем счисления в Python с использованием встроенных функций
🔹 Из десятичной в двоичную
🔹 Из двоичной в десятичную
🔹 Из десятичной в восьмеричную
🔹 Из восьмеричной в десятичную
🔹 Из десятичной в шестнадцатеричную
🔹 Из шестнадцатеричной в десятичную
👉 @PythonPortal
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
Please open Telegram to view this post
VIEW IN TELEGRAM
Наткнулся на годный репозиторий для изучения Data Science с Python 😮
Это полный текст книги Python Data Science Handbook в формате Jupyter-ноутбуков — прямо на GitHub
Можно изучать NumPy, Pandas, Matplotlib, Scikit-Learn и другие библиотеки прямо в интерактивном формате. Подойдёт и для новичков, и как шпаргалка для практиков
👉 @PythonPortal
Это полный текст книги Python Data Science Handbook в формате Jupyter-ноутбуков — прямо на GitHub
Можно изучать NumPy, Pandas, Matplotlib, Scikit-Learn и другие библиотеки прямо в интерактивном формате. Подойдёт и для новичков, и как шпаргалка для практиков
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Всё, что нужно для трассировки LLM-приложений это Python-декоратор (open-source).
Большинство метрик для LLM оценивают приложение как чёрный ящик от начала до конца.
Но LLM-приложения требуют оценки и трассировки на уровне компонентов, ведь ошибка может быть где угодно: в ретривере, вызове инструмента или самом LLM.
С помощью deepeval это делается всего в 3 строки кода:
– Используй декоратор
– Привязывай метрики к каждому из компонентов
– Получай визуальный разбор — что работает, а что ломается
И всё. Переписывать существующий код не нужно.😄
Пример есть выше для RAG-приложения.
Deepeval — полностью open-source, уже 8500+ звёзд на GitHub. Можно легко задеплоить у себя. Все данные останутся под твоим контролем.
👉 @PythonPortal
Большинство метрик для LLM оценивают приложение как чёрный ящик от начала до конца.
Но LLM-приложения требуют оценки и трассировки на уровне компонентов, ведь ошибка может быть где угодно: в ретривере, вызове инструмента или самом LLM.
С помощью deepeval это делается всего в 3 строки кода:
– Используй декоратор
@observe
, чтобы трассировать отдельные компоненты (инструменты, ретриверы, генераторы)– Привязывай метрики к каждому из компонентов
– Получай визуальный разбор — что работает, а что ломается
И всё. Переписывать существующий код не нужно.
Пример есть выше для RAG-приложения.
Deepeval — полностью open-source, уже 8500+ звёзд на GitHub. Можно легко задеплоить у себя. Все данные останутся под твоим контролем.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Практический Python от Дэвида Бизли (один из самых уважаемых экспертов по Python, автор книги "Python Essential Reference")
Курс учит не просто писать код, а думать как интерпретатор, избегая фреймворков. Всё на голом Python, от функций до генераторов и итераторов
Материал подаётся плотно, с минимальной теорией и сразу с практикой.
Курс доступен онлайн, без регистрации и бесплатно, включая слайды, заметки и упражнения🤔
Ссылка на курс: тык
👉 @PythonPortal
Курс учит не просто писать код, а думать как интерпретатор, избегая фреймворков. Всё на голом Python, от функций до генераторов и итераторов
Материал подаётся плотно, с минимальной теорией и сразу с практикой.
Курс доступен онлайн, без регистрации и бесплатно, включая слайды, заметки и упражнения
Ссылка на курс: тык
Please open Telegram to view this post
VIEW IN TELEGRAM
В Яндекс 360 мы создаём технологии, которые работают в основе более чем 13 сервисов, включая Диск, Почту, Телемост, Мессенджер и другие.
Открывайте Техножурнал, чтобы узнать:
— Как мы балансируем нагрузку в 300k RPS в Яндекс Мессенджере,
— Как подружили MongoDB и PostgreSQL в Диске,
— Какие в команде культура и ценности.
А ещё — как мы внедряли DDD, кто такой Technical Owner, как управляем 650+ шардами PostgreSQL и как подходим к проектированию архитектуры наших сервисов.
@yandex360team
Please open Telegram to view this post
VIEW IN TELEGRAM
Text-to-Speech нового уровня
Chatterbox — первый open-source TTS, готовый к продакшену.
➣ Задержки менее 200 мс
➣ Синтеза речи нулевого выстрела (zero-shot) на уровне SoTA
➣ Управления эмоциями и выразительностью
Полностью open-source😱
👉 @PythonPortal
Chatterbox — первый open-source TTS, готовый к продакшену.
➣ Задержки менее 200 мс
➣ Синтеза речи нулевого выстрела (zero-shot) на уровне SoTA
➣ Управления эмоциями и выразительностью
Полностью open-source
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет по Pytest:
Используйте
Декоратор
В примере, тест пропускается, если используется Python версии ниже 3.9, потому что оператор объединения словарей (|) появился только в Python 3.9.
Аргумент
👉 @PythonPortal
Используйте
@pytest.mark.skipif
, чтобы условно пропускать тесты в зависимости от определённых условий — например, платформы, наличия зависимостей или значений переменных окруженияДекоратор
@pytest.mark.skipif(...)
указывает Pytest пропустить выполнение теста, если условие истинно.В примере, тест пропускается, если используется Python версии ниже 3.9, потому что оператор объединения словарей (|) появился только в Python 3.9.
Аргумент
reason
сообщает причину пропуска, которая отображается в отчёте Pytest.Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Это библия для разработчиков: вся нужная документация в одном месте
✓ Языки программирования, библиотеки, фреймворки
✓ Поиск сразу по всем источникам
✓ Всегда актуальные версии
Дока обновляется каждый день. Открывай в одной вкладке хоть Python, Postgres и Bash
Никакой рекламы, всё супербыстро → devdocs․io😱
👉 @PythonPortal
✓ Языки программирования, библиотеки, фреймворки
✓ Поиск сразу по всем источникам
✓ Всегда актуальные версии
Дока обновляется каждый день. Открывай в одной вкладке хоть Python, Postgres и Bash
Никакой рекламы, всё супербыстро → devdocs․io
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Это одно из самых безумных расширений для VS Code, что я видел за последнее время
GitLantis визуализирует структуру проекта в виде 3D-подводного мира. Да, буквально — ты «плаваешь» по директориям, как по рифам в Атлантике. Атмосферно и безумно красиво😮
👉 @PythonPortal
GitLantis визуализирует структуру проекта в виде 3D-подводного мира. Да, буквально — ты «плаваешь» по директориям, как по рифам в Атлантике. Атмосферно и безумно красиво
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
uv — это пакетный менеджер для Python, написанный на Rust и созданный с прицелом на скорость и надёжность.
uv — невероятно быстрый
- Создание виртуальных окружений с помощью uv примерно в 80 раз быстрее, чем через python -m venv.
- Установка пакетов происходит в 4–12 раз быстрее без кэша и примерно в 100 раз быстрее с кэшированием.
Он заменяет не только
Вот шпаргалка по uv для Python-разработчиков♟
🔹
— Инициализирует новый Python-проект с дефолтной структурой.
🔹
— Создаёт новое виртуальное окружение в текущем проекте.
🔹
— Добавляет пакет в зависимости проекта.
🔹
— Устанавливает все зависимости из файла requirements.txt.
🔹
— Удаляет указанный пакет из зависимостей проекта.
🔹
— Запускает Python-скрипт или команду внутри окружения проекта.
🔹
— Синхронизирует зависимости проекта в соответствии с uv.lock.
🔹
— Устанавливает Python CLI-инструмент как глобальный тул.
Пример:
🔹
— Запускает CLI-инструмент во временном окружении без установки.
Пример:
👉 @PythonPortal
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
Please open Telegram to view this post
VIEW IN TELEGRAM
3D контурный график на Python
1. Импортируем библиотеки:
> numpy — для работы с массивами
> matplotlib.pyplot — для построения графиков
> mpl_toolkits.mplot3d — модуль для 3D-графиков
2. Создаём координатную сетку:
🔹 linspace создаёт равномерные значения по X и Y
🔹 meshgrid строит двумерную сетку координат
3. Определяем функцию:
Это функция поверхности, значения которой будут отображаться через контуры по оси Z
4. Вычисляем значения Z:
Получаем двумерный массив значений Z для каждой точки (X, Y)
5. Создаём фигуру и 3D-подграфик:
Создаём фигуру и добавляем 3D‑ось
6. Рисуем контуры в 3D:
> contour3D рисует линии уровня
> 50 — число уровней
> cmap='viridis' — цветовая палитра
7. Подписываем оси и добавляем шкалу:
Добавляем подписи и цветовую шкалу (colorbar) для значений Z
8. Показываем график:
👉 @PythonPortal
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)
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()
Please open Telegram to view this post
VIEW IN TELEGRAM