Справочник Программиста
6.37K subscribers
1.29K photos
376 videos
64 files
1.62K 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
👀 Библиотека easier-docker в Python

Библиотека
easier-docker предназначена для упрощения работы с Docker-контейнерами и изображениями прямо из Python-кода.

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

Основные возможности библиотеки:
❄️Запуск Docker-контейнеров.
❄️Остановка Docker-контейнеров.
❄️Удаление Docker-контейнеров.
❄️Управление несколькими контейнерами одновременно.
❄️Скачивание (pull) изображений из Docker Hub.
❄️Удаление изображений Docker.
❄️Просмотр списка доступных контейнеров и изображений.
❄️Настройка портов и параметров контейнеров.
❄️Работа с Docker через Python-объекты и функции.
❄️Легкая интеграция с DevOps и CI/CD процессами.

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

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

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

В данной статье напишем код для красивой анимации запуска и взрыва фейерверков на Python.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53🎉3❤‍🔥1
Новогодняя распродажа моих курсов! 🎁

Скидка на Курс по Python 3 - 5️⃣0️⃣🔤
Скидка на Курс по созданию телеграм-ботов на Python с фреймворком Aiogram 3 - 5️⃣0️⃣🔤
Скидка на Курс по созданию графического интерфейса в Python 3 с tkinter - 5️⃣0️⃣🔤

Акция продлится до 8 января включительно!


Приобрести курсы можно у телеграм-бота - @courses_from_it_start_bot

Всех с Наступающим! 🍭🥂
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6🎅2
📺 Трюк с функцией zip в Python

В данном shorts рассмотрим трюк с функцией zip() в Python.

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

Для фильтрации видео в ЧБ в коде используется библиотека moviepy.

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

from moviepy.editor import VideoFileClip
from moviepy.video.fx import all as vfx

# Загрузка видео
clip = VideoFileClip("input_video.mp4")

# Применение черно-белого фильтра
clip = vfx.blackwhite(clip)

# Сохранение результата
clip.write_videofile("black_and_white_video.mp4")


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

Библиотека SlowAPI позволяет ограничивать скорость запросов для веб-приложений, построенных на фреймворках Starlette и FastAPI.

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

Основные возможности библиотеки:
❄️Ограничение скорости запросов: позволяет задавать лимиты на количество запросов, которые клиент может отправить за определённый период времени.
❄️Интеграция с FastAPI и Starlette: легко интегрируется с популярными фреймворками, такими как FastAPI и Starlette.
❄️Простота использования: предоставляет простой интерфейс для настройки и использования ограничений скорости.

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

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

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

В данном shorts напишем код анимированной консольной новогодней ёлки на Python.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄3❤‍🔥22
Справочник Программиста
📺 Анимированная ёлка в консоли на Python В данном shorts напишем код анимированной консольной новогодней ёлки на Python. ➡️Справочник Программиста. Подписаться
Код анимированной консольной новогодней ёлки на Python

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

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

import random
import time
from colorama import init, Fore

init(autoreset=True) # Инициализация colorama


def draw_tree(height=10):
try:
while True:
print("\033c", end="") # Очистка консоли
print("Новогодняя ёлка\n")
for i in range(1, height + 1):
level = " " * (height - i) + "*" * (2 * i - 1)
decorated_level = "".join(
random.choice([
Fore.GREEN + "*", # Зелёная звезда
Fore.RED + "o", # Красный шарик
Fore.YELLOW + "x" # Жёлтая гирлянда
]) if char == "*" else char for char in level)
print(decorated_level)
print(" " * (height - 1) + Fore.MAGENTA + "|||") # Ствол
time.sleep(0.5) # Пауза для анимации
except KeyboardInterrupt:
print("\nАнимация остановлена. С наступающим Новым годом!")


if __name__ == "__main__":
draw_tree()


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

Библиотека PyYAML предназначена для работы с YAML (YAML Ain't Markup Language), удобным для человека форматом сериализации данных.

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

Основные возможности библиотеки:
❄️Чтение YAML: позволяет загружать данные из файлов или строк в формате YAML и преобразовывать их в объекты Python (например, в словари и списки).
❄️Запись YAML: может сериализовать объекты Python обратно в формат YAML, позволяя сохранять данные в файлах или выводить их на экран.
❄️Поддержка сложных объектов: может обрабатывать сложные структуры данных, такие как вложенные списки и словари, а также пользовательские классы.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄33🔥7❤‍🔥43
This media is not supported in your browser
VIEW IN TELEGRAM
Khoj — это инструмент, который превращает локальный компьютер в персонального помощника на основе ИИ.

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

Разработан для локального использования, обеспечивая конфиденциальность и безопасность данных.

Основные возможности:
❄️Локальная работа: Все данные остаются на вашем устройстве, что повышает уровень конфиденциальности.
❄️Интеграция с заметками: Особенно хорошо работает с приложением Obsidian, предоставляя возможность умного поиска и анализа ваших заметок.
❄️Натуральный язык: Поддержка запросов на естественном языке, что позволяет взаимодействовать с инструментом интуитивно.
❄️Расширяемость: Возможность подключения собственных баз знаний, документов и других ресурсов.
❄️OpenAI-интеграция: При наличии ключа API OpenAI, можно дополнительно использовать модели GPT для обработки запросов.

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

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

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

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

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

Основные возможности библиотеки:
❄️Повтор попыток при ошибках: Если функция вызывает исключение, Tenacity может автоматически выполнить её повторно.
❄️Настройка интервалов: Можно задавать фиксированные или изменяющиеся интервалы между попытками.
❄️Ограничение попыток: Настраивается максимальное количество попыток или общее время выполнения.
❄️Фильтрация исключений: Можно указать, какие именно исключения должны приводить к повторной попытке.
❄️Callbacks (обратные вызовы): Добавление пользовательских функций для логирования или другой обработки между попытками.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍4🔥2🤔1
sudoku-in-python-packaging — это проект, который демонстрирует, как структурировать Python-проект для решения задачи создания и упаковки консольного приложения на примере игры «Судоку».

Это учебный пример, который помогает лучшие понять практики Python-разработки и создания упаковки для распространения через PyPI.

Каждая ячейка в сетке судоку представляет собой пакет sudoku_{x}_{y} (индексировано 0), а версия (1-9) - это значение в поле, поэтому вы можете написать pyproject.toml, и установленные пакеты будут решением.

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

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

Библиотека pynput используется для управления клавиатурой и мышью, а также для отслеживания их ввода.

Основные возможности библиотеки:
❄️Перехват нажатий и отпусканий клавиш.
❄️Симуляция нажатий клавиш и ввода текста.
❄️Перехват событий мыши (движение, клики, прокрутка).
❄️Симуляция кликов мыши, перемещения курсора и прокрутки.
❄️Поддержка работы с горячими клавишами.
❄️Кроссплатформенность (Windows, macOS, Linux).

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

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

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

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

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

from PIL import Image, ImageDraw, ImageFont


def create_image_with_text(text, output_path="output.png", text_size=36, position="center"):
# Создаём новое изображение размером 800x400, цвет фона - тёмно-синий
img = Image.new("RGB", (800, 400), color=(73, 109, 137))
# Инициализируем объект для рисования
draw = ImageDraw.Draw(img)

# Загружаем шрифт Arial с указанным размером текста
font = ImageFont.truetype("arial.ttf", size=text_size)

# Вычисляем размер текста с помощью textbbox (границы текста в формате (x_min, y_min, x_max, y_max))
text_bbox = draw.textbbox((0, 0), text, font=font)
text_width = text_bbox[2] - text_bbox[0] # Ширина текста
text_height = text_bbox[3] - text_bbox[1] # Высота текста

# Устанавливаем координаты текста в зависимости от выбранного положения
if position == "center": # Центр изображения
text_x = (img.width - text_width) // 2
text_y = (img.height - text_height) // 2
elif position == "top-left": # Верхний левый угол
text_x, text_y = 10, 10
elif position == "top-right": # Верхний правый угол
text_x = img.width - text_width - 10
text_y = 10
elif position == "bottom-left": # Нижний левый угол
text_x = 10
text_y = img.height - text_height - 10
elif position == "bottom-right": # Нижний правый угол
text_x = img.width - text_width - 10
text_y = img.height - text_height - 10
else:
# Если указано некорректное положение, выбрасываем исключение
raise ValueError(
"Недопустимое значение для position. Используйте: center, top-left, top-right, bottom-left, bottom-right."
)

# Добавляем текст на изображение по рассчитанным координатам
draw.text((text_x, text_y), text, fill="white", font=font)
# Сохраняем изображение в файл
img.save(output_path)
# Выводим сообщение о сохранении файла
print(f"Изображение сохранено как {output_path}")


# Запрашиваем у пользователя текст для изображения
text = input("Введите текст для изображения: ")
# Запрашиваем у пользователя размер текста
text_size = int(input("Введите размер текста: "))
# Предлагаем выбрать расположение текста
print(
"Выберите расположение текста: center, top-left, top-right, bottom-left, bottom-right"
)
# Получаем выбор пользователя
position = input("Введите расположение текста: ").strip()
# Вызываем функцию с указанными параметрами
create_image_with_text(text, text_size=text_size, position=position)


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