Справочник Программиста
6.28K subscribers
1.36K photos
387 videos
64 files
1.71K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
Библиотека more-itertools в Python

Библиотека more-itertools расширяет функционал встроенного модуля itertools, предоставляя дополнительные полезные инструменты для работы с итерациями и последовательностями.

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

Некоторые функции из библиотеки:
chunked(iterable, n): Разделяет итерацию на чанки (подсписки) размером n.
first(iterable, default=None): Возвращает первый элемент итерации или значение по умолчанию, если итерация пуста.
last(iterable, default=None): Возвращает последний элемент итерации или значение по умолчанию, если итерация пуста.
split_before(iterable, pred): Разделяет итерацию перед элементами, удовлетворяющими предикату.
unique_everseen(iterable, key=None): Возвращает уникальные элементы итерации, сохраняя порядок и избегая повторов.

➡️Установка библиотеки: pip install more-itertools

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤‍🔥3🔥2🤨1
Утилита AniPortrait в Python

Утилита AniPortrait предназначена для создания высококачественной анимации на основе звука и эталонного портретного изображения.

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

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤‍🔥3
Библиотека downloader-cli в Python

Библиотека downloader-cli предоставляет простой и удобный интерфейс для загрузки файлов из интернета с использованием командной строки.

Особенности библиотеки:
🔵Простота использования: Библиотека предоставляет простой интерфейс командной строки, что облегчает её использование без необходимости написания сложного кода.
🔵Поддержка различных протоколов: Поддерживает скачивание файлов по протоколам HTTP, HTTPS и FTP.
🔵Удобный интерфейс командной строки: Позволяет указывать URL-адрес для загрузки и путь для сохранения файла через командную строку.
🔵Минимальные зависимости: Имеет минимальные зависимости, что упрощает её установку и использование.

➡️Установка библиотеки: pip install downloader-cli

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥5❤‍🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🖼Код для вращения GIF на Python

Для вращения GIF в коде используется библиотека Pillow.

➡️Установка библиотеки: pip install Pillow

from PIL import Image

# Открываем GIF-файл
gif = Image.open('input.gif')

# Создаем пустой список для хранения кадров
frames = []

# Проходимся по всем кадрам в GIF
for frame in range(0, gif.n_frames):
# Переходим к текущему кадру
gif.seek(frame)
# Копируем текущий кадр
frame_image = gif.copy()
# Поворачиваем кадр на 90 градусов
frame_image = frame_image.rotate(90)
# Добавляем повернутый кадр в список
frames.append(frame_image)

# Сохраняем все кадры как новый GIF
frames[0].save('rotated.gif', # Имя нового GIF-файла
save_all=True, # Сохраняем все кадры
append_images=frames[1:], # Добавляем все остальные кадры
duration=gif.info['duration'], # Устанавливаем длительность каждого кадра
loop=0) # Устанавливаем бесконечный цикл воспроизведения


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍3🔥2
Библиотека Napari в Python

Библиотека Napari предназначена для интерактивной визуализации и анализа многомерных изображений.

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

Основные характеристики библиотеки:
🔵Интерактивная визуализация: Поддержка визуализации 2D, 3D и n-мерных изображений, интерактивное изменение контрастности и яркости, масштабирование и панорамирование.
🔵Поддержка различных форматов данных: Возможность загрузки изображений из различных форматов файлов, включая TIFF, PNG, JPEG и многих других. Поддержка работы с многомерными массивами NumPy.
🔵Аннотация и метки: Возможность добавления аннотаций и меток к изображениям. Поддержка различных типов меток: точки, линии, многоугольники и т.д.
🔵Расширяемость и плагины: Легко расширяется благодаря системе плагинов.
🔵Интеграция с научным стеком Python: Хорошо интегрируется с другими библиотеками для научных вычислений, такими как NumPy, SciPy, scikit-image, Dask и т.д.

➡️Установка библиотеки: pip install napari

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3❤‍🔥2
Библиотека notifiers в Python

Библиотека notifiers предназначена для отправки уведомлений через различные сервисы.

Она предоставляет унифицированный интерфейс для взаимодействия с различными платформами, такими как email, Slack, Telegram и другие.

Основные особенности библиотеки:
🔵Унифицированный интерфейс: Все уведомители используют единый интерфейс, что упрощает их использование.
🔵Поддержка множества сервисов: Поддерживает работу с несколькими популярными сервисами уведомлений.
🔵Конфигурация через параметры: Параметры для каждого сервиса можно задавать как через аргументы функций, так и через конфигурационные файлы.
🔵Расширяемость: Можно добавлять собственные уведомители.

Пример кода для отправки уведомления через телеграм-бота
from notifiers import get_notifier

# Получите notifier для Telegram
telegram = get_notifier('telegram')

# Ваш токен бота
token = 'YOUR_BOT_TOKEN'
# Ваш chat_id
chat_id = 'YOUR_CHAT_ID'

# Отправка уведомления
try:
response = telegram.notify(
token=token,
chat_id=chat_id,
message='Это тестовое сообщение из Telegram-бота!'
)
if response.status == 'success':
print("Сообщение успешно отправлено!")
else:
print("Ошибка отправки сообщения:", response.errors)
except Exception as e:
print("Возникла ошибка:", e)


➡️Установка библиотеки: pip install notifiers

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥6❤‍🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Код для разделения экранов видео на Python

Для объединения видео с разделением экранов в коде используется библиотека moviepy.

➡️Установка библиотеки: pip install moviepy

from moviepy.editor import VideoFileClip, clips_array

# Загружаем первый видеоклип из файла "v1.mp4",
# берём его подотрезок с 0 по 2 секунды и добавляем границу в 5 пикселей
clip1 = VideoFileClip("v1.mp4").subclip(0, 2).margin(5)
# Загружаем второй видеоклип из файла "v2.mp4",
# берём его подотрезок с 0 по 2 секунды и добавляем границу в 5 пикселей
clip2 = VideoFileClip("v2.mp4").subclip(0, 2).margin(5)
# Загружаем третий видеоклип из файла "v3.mp4",
# берём его подотрезок с 0 по 2 секунды и добавляем границу в 5 пикселей
clip3 = VideoFileClip("v3.mp4").subclip(0, 2).margin(5)
# Загружаем четвертый видеоклип из файла "v4.mp4",
# берём его подотрезок с 0 по 2 секунды и добавляем границу в 5 пикселей
clip4 = VideoFileClip("v4.mp4").subclip(0, 2).margin(5)

# Объединяем видеоклипы в массив 2x2 (две строки и два столбца)
combined = clips_array([[clip1, clip2],
[clip3, clip4]])

# Записываем объединенное видео в файл "output.mp4"
combined.write_videofile('output.mp4')


📺 Моё видео с объяснением данного кода

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥4❤‍🔥2
Библиотека LocalStack в Python

Библиотека LocalStack предназначена для эмуляции облачных сервисов AWS на локальной машине.

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

Основные особенности библиотеки:
🔵Эмуляция основных сервисов AWS: Поддерживает множество ключевых сервисов AWS, таких как S3, DynamoDB, SQS, SNS, Lambda, CloudFormation, и многие другие.
🔵Локальное тестирование и разработка: Разработчики могут тестировать свои приложения локально, что ускоряет цикл разработки и уменьшает зависимость от сетевого соединения и облачных ресурсов.
🔵Интеграция с CI/CD: Легко интегрируется с системами непрерывной интеграции и доставки (CI/CD), что позволяет автоматизировать тестирование инфраструктуры и приложений.
🔵Совместимость с AWS CLI и SDK: Поддерживает команды AWS CLI и API вызовы AWS SDK, что делает его удобным для использования с существующими инструментами и скриптами.

➡️Установка библиотеки: pip install localstack

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Код для замены определённого текста во всём HTML-файле на Python

Для парсинга и работы с HTML-файлом в коде используется библиотека beautifulsoup4.

➡️Установка библиотеки: pip install beautifulsoup4

from bs4 import BeautifulSoup
import re


def replace_text(html, old_text, new_text, output_html):
# Открываем HTML-файл и считываем его содержимое
with open(html, 'r', encoding='utf-8') as file:
html_content = file.read()

# Создаём объект BeautifulSoup для парсинга HTML-содержимого
soup = BeautifulSoup(html_content, 'html.parser')
# Компилируем регулярное выражение для поиска старого текста, игнорируя регистр
old_text_regex = re.compile(re.escape(old_text), re.IGNORECASE)

# Проходимся по всем строкам текста в HTML
for text in soup.find_all(string=True):
# Если старая строка найдена в тексте, заменяем её новой строкой
if old_text_regex.search(text):
# Заменяем старый текст на новый в текущей строке
new_text_content = old_text_regex.sub(new_text, text)
# Заменяем старую строку на новую в дереве BeautifulSoup
text.replace_with(new_text_content)

# Сохраняем измененное содержимое в новый HTML-файл
with open(output_html, 'w', encoding='utf-8') as file:
file.write(str(soup))


# Определяем путь к исходному HTML-файлу
file_path = 'index.html'
# Определяем путь к выходному HTML-файлу с измененным содержимым
output_path = 'index_modified.html'
# Вызываем функцию для замены текста в HTML-файле
replace_text(file_path, 'Старый текст', 'Новый текст', output_path)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥2👍2
📺 Если у вас YouTube работает очень медленно или вообще не прогружается, то можете попробовать воспользоваться этими гайдами:

💻 Для пользователей ПК на Windows

💻 Пользователи macOS и Linux могут воспользоваться SpoofDPI

📱 Для пользователей Android-смартфонов

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8👍6🔥2
Библиотека Open3D в Python

Библиотека Open3D предназначена для работы с трехмерными данными.

Широко используется в научных исследованиях, компьютерном зрении, робототехнике и многих других областях, где необходима обработка 3D-объектов.

Основные возможности библиотеки:
🔵Поддержка множества форматов файлов, включая PLY, STL, OBJ, GLTF и др.
🔵Возможность работы с точечными облаками, полигональными сетками и объемными данными.
🔵Встроенные средства для интерактивной визуализации 3D-данных.
🔵Поддержка анимации и рендеринга.
🔵Геометрические преобразования: матричные операции для трансформаций объектов. Поддержка различных типов преобразований (повороты, масштабирование, сдвиги).

➡️Установка библиотеки: pip install open3d

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤‍🔥2🔥2
Библиотека PyArmor в Python

Библиотека PyArmor предназначена для защиты Python-скриптов путем шифрования исходного кода.

Помогает предотвратить несанкционированное использование и обратную разработку Python-программ.

Основные возможности библиотеки:
🔵Шифрование исходного кода: Шифрует Python-файлы (.py), делая их недоступными для чтения и изменения. При этом скрипты могут быть выполнены только с использованием специально созданного защищенного интерпретатора.
🔵Обфускация кода: Поддерживает обфускацию, которая изменяет структуру кода, делая его менее понятным для анализа.
🔵Создание защищенного окружения: Позволяет создавать зашифрованные архивы, которые могут быть выполнены только в определенных средах или на определенных машинах.
🔵Лицензирование и контроль доступа: Поддерживает создание лицензий, которые позволяют ограничить срок действия, количество запусков или использование программы определенными пользователями или на конкретных устройствах.

➡️Установка библиотеки: pip install pyarmor

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤‍🔥6
Утилита StyleCariGAN в Python

Утилита StyleCariGAN позволяет создавать стилизованные карикатурные изображения.

Разработана на основе подхода, который комбинирует принципы стиля переноса и карикатурной генерации.

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤‍🔥4🔥1
Библиотека GitPython в Python

Библиотека GitPython позволяет взаимодействовать с Git-репозиториями программно.

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

➡️Установка библиотеки: pip install GitPython

📱 Репозиторий
⚙️ Документация

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤‍🔥4👍4
Утилита img2img-turbo в Python

Утилита img2img-turbo реализует ускоренную и оптимизированную версию метода "image-to-image" (img2img) с использованием модели Stable Diffusion.

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

📱 Репозиторий

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍4❤‍🔥3