Telegram Web Link
Обработка видео с помощью MoviePy

MoviePy - это удобный пакет для выполнения различных задач по редактированию видео, включая обрезку и склейку клипов, добавление видеоэффектов и редактирование аудиодорожки.

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

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

MoviePy особенно полезен, когда необходимо автоматизировать обработку большого количества видео по единому алгоритму.

#python #moviepy
Использование функции zip в Python

Функция zip в Python формирует итератор, объединяющий элементы из нескольких списков. Это удобно для одновременного перебора элементов нескольких списков в цикле for или для реализации параллельной сортировки.

Пример:
# Допустим, у нас есть два списка
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']

# Используем функцию zip для объединения этих списков
zipped = zip(list1, list2)

# Теперь мы можем перебрать объединенные элементы
for num, letter in zipped:
print(f"Число: {num}, Буква: {letter}")

# Вывод:
# Число: 1, Буква: a
# Число: 2, Буква: b
# Число: 3, Буква: c


#python #zip
Получила «серебро»: нейросеть Сбера Kandinsky заняла второе место по популярности среди разработчиков по версии AI-ресурса с open-source решениями Hugging Face

При этом лидером стала Stable Diffusion. Однако по темпам роста Kandinsky все же сумела заполучить «золото».

Кроме того, разработчики нейросети поделились итогами года Kandinsky. Всего за 2023 год пользователи сгенерировали с её помощью более 200 млн изображений, а аудитория выросла до 12 млн человек.

#kandinsky
Работа с данными в Python используя Pydantic

Pydantic - это библиотека для Python, предназначенная для парсинга и валидации данных. Она использует статическую типизацию для атрибутов классов, что облегчает проверку данных при создании объектов.

Этот инструмент особенно полезен при работе с JSON: он автоматизирует проверку структуры, необходимых полей и значений.

Pydantic поддерживает не только стандартные типы данных, но и специализированные, такие как email, URL-адреса и номера платежных карт.

Для более подробного примера и документации можно обратиться сюда.

#python #pydantic
Запись экрана в Windows с помощью Python

Для записи экрана в Windows используя Python существует несколько библиотек, однако наиболее эффективной оказалась d3dshot.

Библиотека d3dshot использует системные библиотеки DXGI и Direct3D для быстрого и надежного захвата экрана.

Эта библиотека идеально подходит для создания игровых ботов.

#python #d3dshot
Работаем с атрибутами объектов

Помимо привычного обращения к атрибутам объектов через точку, в Python есть 4 специальных функции: getattr, setattr, delattr и hasattr.

По названиям можно понять, что первые три отвечают за получение, установку и удаление атрибута. А последний проверяет, существует ли атрибут с указанным названием у объекта или нет.

Во всех функциях первыми двумя аргументами идут объект и название атрибута в виде строки. В setattr также нужно передать новое значение для атрибута.

На практике использование подобного — довольно редкий случай, но иногда может сильно выручить, так что берите на вооружение.

#python #tips
Forwarded from Не баг, а фича
Нейронка от Сбера обошла GPT-3.5-turbo по качеству ответов на английском языке. На русском и так всё было хорошо. Теперь же, благодаря тесту MMLU, стало известно, что и на родном языке Шерлока Холмса правильность ответов GigaChat PRO на 6% выше, чем у разработки от OpenAI.

То чувство, когда можешь в англ лучше, чем его носитель.

@bugnotfeature
Современный способ сериализации, десериализации и валидации данных

adaptix - гибкая и легко конфигурируемая библиотека для сериализации и десериализации данных.

adaptix работает с нативными dataclass, NamedTuple, TypedDict. Ваши модели не зависят от библиотеки и не требуют наследования от каких-либо специальных классов, позволяя моделям оставаться чистыми, а вам - следовать принципу инверсии зависимостей.

Также, библиотека позволяет легко создавать свои правила для конвертации данных и группировать их, соответствуя принципу DRY.

Особое внимание стоит обратить на возможность преобразования стилей названий полей, что полезно в web приложениях.

Приятным бонусом будет то, что adaptix до двух раз быстрее чем pydantic v2 (бенчмарки).

#python #typing #adaptix
Сортировка списков по ключу

У списков есть метод sort(), который сортирует элементы. Также есть аргумент reverse, с помощью которого можно отсортировать в обратном порядке при значении True.

Но еще есть аргумент key, отвечающий за критерий сортировки. Он принимает функцию, которая применяется к каждому элементу. Возвращаемый результат и есть критерий, по которому произойдет сортировка.

В коде на картинке у нас есть список из словарей, которые содержать описания машин. И в качестве мы отсортировали список по годам их выпуска, то есть по ключу 'year'.

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

#списки
Загрузка файлов асинхронно

Если у нас есть список URL картинок для загрузки, использование простого цикла for позволит нам загрузить их последовательно, по одной за раз.

Однако, для задач, включающих загрузку большого количества маленьких файлов, параллелизация может заметно ускорить процесс.

Для параллелизации мы можем использовать ThreadPoolExecutor из модуля concurrent.futures. Этот инструмент позволяет выполнить функцию загрузки в нескольких параллельных потоках, где в конструкторе необходимо указать максимальное количество потоков для одновременного выполнения.

С помощью метода .map(download, urls) можно развернуть функцию загрузки на каждый URL из списка, обеспечивая их параллельную обработку.

Важно понимать, что так как загрузка файлов является IO-операцией, данный метод не ускоряет выполнение кода в прямом смысле, а скорее позволяет начать загрузку следующего файла, не ожидая завершения предыдущего.

#python #threading
Jingle Bioлучший конструктор страниц портфолио

Без особых усилий отображайте свои цифровые достижения на элегантной и удобной странице портфолио. Демонстрируйте свои проекты, навыки, опыт и достижения в одном месте. концепция не оригинальна (аналогов много), но исполнение, пожалуй, самое продвинутое. Тут можно сразу видеть обновления контента, да и вообще персоницифировать страницу.

Создайте свою собственную страницу портфолио и постройте свой персональный бренд, чтобы поднять свою карьеру на новый уровень. И самое главное — это бесплатно!
Использование аннотаций типов в Python

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

Начиная с версии 3.6, Python поддерживает аннотации типов для переменных, атрибутов классов, аргументов функций и их возвращаемых значений, что помогает улучшить читаемость кода и предотвратить ошибки, связанные с типами данных.

#python #typing
Сбербанк открыл кампус «Школы 21» в Ярославле на 300 рабочих станций. Его запустили в партнёрстве с правительством Ярославской области. Дизайн помещений создан с учетом региональной айдентики, кластеры школы носят имена людей, прославивших Ярославскую область.

«Наше завтра будет невозможно без цифровых технологий. Все сферы без исключения — наука, сельское хозяйство, архитектура, машиностроение, медицина — будут опираться на суперсовременные цифровые технологии, на специалистов в области искусственного интеллекта», — заявил Глава Сбера Герман Греф, выступая на церемонии открытия кампуса.

Он рассказал, что «Школа 21» готовит специалистов по 14 инженерным специальностям и будет их расширять. Сейчас готовится новых кампусов еще в 16 регионах России. 9 из них откроют уже в этом году.
Особенности статических методов

Основное отличие статических методов от методов экземпляра заключается в их привязке к классу, а не к отдельному объекту. Это означает, что их можно вызывать непосредственно через класс.

Статические методы не получают ссылку на экземпляр (self) или класс (cls) в качестве аргументов, что делает их независимыми от состояния объекта или класса. Следовательно, они не могут изменять состояние объекта или класса.

Существует два основных способа определения статического метода. Менее распространенный — назначение метода классу, используя функцию staticmethod для оборачивания исходного метода.

Однако более предпочтительным является использование staticmethod как декоратора, что упрощает объявление статических методов непосредственно внутри класса.

#python #staticmethod
Установление SSH-соединения с сервером

Библиотека paramiko предоставляет возможность подключения к серверам через протокол SSH2, позволяя выполнять те же действия, что и при использовании стандартной утилиты ssh в Linux.

Модуль paramiko отличается простотой в использовании, и вы можете ознакомиться с примерами его основных методов на представленном изображении. В качестве любопытного факта, название Paramiko происходит от слияния слов "параноик" и "друг" на языке эсперанто.

Для установки пакета используйте менеджер пакетов pip в привычном порядке. Подробную документацию можно найти здесь.

#python #paramiko #ssh
Слияние аудио и видео потоков

Проблема с получением видео в высоком качестве со звуком с YouTube связана с использованием технологии DASH (Dynamic Adaptive Streaming over HTTP), которая не предусматривает наличие звуковой дорожки в потоке.

Решением является отдельное получение аудио и видео потоков и их последующее объединение с использованием программы ffmpeg.

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

#python #ffmpeg #pytube
Картографическая визуализация с использованием Folium

Folium обеспечивает интеграцию данных на карты, позволяя создавать как фоновые картограммы, так и размещать на картах векторные, растровые и HTML элементы в виде маркеров.

Эта библиотека поддерживает пользовательские наборы тайлов от MapBox или Cloudmade.

В арсенале Folium имеются различные типы маркеров, от простых маркеров местоположения со стандартными листовками, содержащими всплывающие окна и HTML подсказки, до возможности встраивания изображений, видео, а также GeoJSON и TopoJSON объектов.

Посмотреть результат выполнения кода со скрина можно тут -- https://i.imgur.com/QhNDb5I.png

#python #folium
Применяем pathlib взамен os

В Python 3 стандартная библиотека включает модуль pathlib, предоставляющий функцию Path, которая обеспечивает все необходимое для эффективной работы с путями к файлам.

Одно из наиболее впечатляющих преимуществ использования pathlib - это упрощение работы с путями за счет использования Path вместо os.path.join, представляя более простой и изящный метод, как показано на изображении.

В общем, этот модуль предлагает замену функциям для работы с файловыми путями из модуля os, таким как os.mkdir или os.path, на более удобные альтернативы.

#path #os
Внедрение асинхронных задач с Taskiq

Библиотека Taskiq предназначена для упрощения работы с асинхронными задачами в Python, позволяя разработчикам легко организовывать фоновую обработку задач. Это решение идеально подходит для случаев, когда необходимо выполнять задачи, не блокируя основной поток приложения.

Принцип работы с Taskiq прост и интуитивно понятен, что демонстрируется на примерах в документации. Для примера использования библиотеки Taskiq, предположим, что вы хотите асинхронно отправить email без блокирования основного потока выполнения вашего приложения. В этом примере мы создали простую асинхронную задачу для отправки email с использованием Taskiq.

Установка Taskiq производится через менеджер пакетов pip. Более подробно о возможностях и применении библиотеки можно узнать в официальной документации.

#python #taskiq
Преобразование текста в аудио на Python

Используя библиотеку gTTS (Google Text-to-Speech) для Python, можно легко преобразовывать текст в аудиофайлы. Эта библиотека использует API Google Translate для синтеза речи, обеспечивая высокое качество преобразования. Установка библиотеки производится стандартным способом через pip.

Для начала работы с gTTS необходимо создать его экземпляр, передав текст, который нужно озвучить, в качестве первого аргумента. Также есть возможность указать язык озвучивания через опциональный аргумент, который по умолчанию установлен на английский.

Чтобы сохранить синтезированную речь в аудиофайл, используется метод save, аргументом которого является имя файла.

#python #gtts
2024/11/15 13:07:25
Back to Top
HTML Embed Code: