Справочник Программиста
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
⌨️ Библиотека jurigged в Python

Библиотека jurigged предназначена для "горячей перезагрузки кода" во время выполнения программы. Она позволяет вносить изменения в код без остановки и перезапуска программы.

Основные особенности библиотеки:
🔵Горячая перезагрузка кода: Отслеживает изменения в исходных файлах программы и автоматически применяет их к работающему приложению.
🔵Простота использования: Для начала использования достаточно импортировать jurigged и запустить в нужном модуле.
🔵Отслеживание изменений: Следит за изменениями в .py файлах и пытается аккуратно обновить функции и классы, чтобы минимизировать влияние на текущее состояние программы.
🔵Поддержка многопоточных и асинхронных приложений: Работает с многопоточными приложениями, что позволяет изменять код в сложных системах, таких как веб-серверы или программы с использованием asyncio.
🔵Совместимость: Работает с Python 3.x и поддерживает различные фреймворки и библиотеки.

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

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

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

Библиотека MeTube - это веб-интерфейс для youtube-dl. Предназначена для загрузки видео и аудио с различных видео-платформ, в первую очередь с YouTube.

Функционал библиотеки:
🔵Загрузка видео и аудио: Пользователи могут скачивать видео в разных форматах и разрешениях. Также можно извлекать только аудиодорожки.
🔵Поддержка нескольких источников: Может работать не только с YouTube, но и с другими видео-платформами.
🔵Управление качеством: Возможность выбирать качество видео, от самого низкого до высокого (HD, 4K).
🔵Автоматизация: Хорошо интегрируется в скрипты и программы для автоматического скачивания или обработки видео.
🔵Конвертация форматов: Загрузку видео можно настроить на автоматическое преобразование файлов в нужный формат, например, MP3 для аудио.

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

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

Для удаления страниц из PDF-файла в коде используется библиотека PyPDF2.

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

import PyPDF2


def remove_pages(input_pdf, output_pdf, pages_to_remove):
# Открываем исходный PDF документ
with open(input_pdf, 'rb') as file:
reader = PyPDF2.PdfReader(file)
writer = PyPDF2.PdfWriter()

# Перебираем все страницы
for page_num in range(len(reader.pages)):
# Если номер страницы не в списке для удаления, добавляем её в новый PDF
if page_num not in pages_to_remove:
writer.add_page(reader.pages[page_num])

# Сохраняем новый PDF документ
with open(output_pdf, 'wb') as output_file:
writer.write(output_file)


# Исходный файл
input_pdf = 'document.pdf'
# Файл с удалёнными страницами
output_pdf = 'output.pdf'
# Номера страниц для удаления (начиная с 0)
pages_to_remove = [0]

remove_pages(input_pdf, output_pdf, pages_to_remove)


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

diskcache - это лицензированная Apache2 библиотека кэша с поддержкой диска и файлов, совместимая с Django.

Основные особенности библиотеки:
🔵Хранение на диске: Кэш хранится на диске, а не в оперативной памяти, что позволяет работать с большими объемами данных.
🔵Поддержка многопоточности и многопроцессности: Кэширование безопасно для работы с несколькими потоками и процессами.
🔵TTL (Time To Live): Можно указать время жизни (TTL) для каждого кэшированного элемента. Это позволяет автоматически очищать устаревшие данные.
🔵Постоянство данных: Даже после завершения работы программы данные кэша остаются на диске и могут быть использованы в следующий раз при запуске программы.
🔵API совместимо с dict: Поддерживает интерфейс, аналогичный словарю Python, что делает её использование простым и интуитивно понятным.
🔵Оптимизировано для производительности: Внутренне библиотека использует оптимизированные структуры данных для быстрого доступа к элементам.

Пример использования библиотеки:
import time
import diskcache as dc

# Инициализируем кэш в указанной директории
cache = dc.Cache('mycache')


# Функция, имитирующая дорогостоящие вычисления
@cache.memoize(expire=60) # Кэшируем результат на 60 секунд
def expensive_computation(x, y):
print(f"Выполняю тяжелые вычисления для ({x}, {y})...")
time.sleep(5) # Имитация долгих вычислений
return x * y


# Первый вызов функции будет долгим, так как вычисления не кэшированы
start_time = time.time()
result = expensive_computation(5, 10)
print(f"Результат: {result}, время выполнения: {time.time() - start_time} секунд")

# Второй вызов функции с теми же параметрами будет быстрым, так как результат будет взят из кэша
start_time = time.time()
result = expensive_computation(5, 10)
print(f"Результат: {result}, время выполнения: {time.time() - start_time} секунд")

# Вызов с новыми параметрами снова приведет к вычислениям, так как таких данных еще нет в кэше
start_time = time.time()
result = expensive_computation(7, 3)
print(f"Результат: {result}, время выполнения: {time.time() - start_time} секунд")

# Закрываем кэш, когда больше не нужен
cache.close()


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

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

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

Telethon - это асинхронная библиотека, предназначенная для взаимодействия с API Telegram и позволяет создавать ботов и клиентов для работы с Telegram через протокол MTProto.

Основные особенности библиотеки:
🔵Асинхронность: Поддерживает асинхронные функции, что позволяет обрабатывать множество событий одновременно без блокировки программы.
🔵Поддержка всех методов Telegram API: Предоставляет доступ к большинству возможностей Telegram, включая отправку сообщений, управление группами и каналами, получение и отправку медиафайлов, работу с пользователями и многое другое.
🔵События: Поддерживает обработку событий, таких как получение новых сообщений, изменения в чатах и каналах и другие.
🔵Гибкость: можно использовать как для создания ботов, так и для создания пользователей-клиентов.

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

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

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

В данном shorts напишем код для определения широты и долготы по адресу.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤‍🔥2🔥2
Справочник Программиста
📺 Определение координат местоположения по адресу на Python В данном shorts напишем код для определения широты и долготы по адресу. ➡️Справочник Программиста. Подписаться
Код для определение координат местоположения по адресу на Python

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

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

from geopy.geocoders import Nominatim

# Создаём экземпляр класса Nominatim
geolocator = Nominatim(user_agent="user")

# Определяем координаты местоположения "Рим, Колизей"
location = geolocator.geocode("Рим, Колизей")

# Выводим широту и долготу местоположения
print(location.latitude, location.longitude)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5❤‍🔥2🤨1
🪙Симулятор монетки (орёл/решка) на Python

В данной статье напишем код симулятора монетки (орёл/решка) на Python.

P.S. Да, я вспомнил что у меня есть сайт, поэтому буду стараться продолжать пополнять его новыми статьями как и раньше! 😉

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤‍🔥2🎉2
💻 django-unfold - это тема для кастомизации админ-панели Django. Использует Tailwind CSS для улучшения визуальной части админки и поддерживает светлый и тёмный режимы.

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

Совместима с родной админкой Django и предлагает расширенные возможности для разработки панелей управления.

➡️Установка:
pip install django-unfold
poetry add django-unfold


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

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

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

Основные особенности библиотеки:
🔵Инфраструктура как код (IaC): Поддерживает подход "инфраструктура как код", где конфигурации систем и серверов описываются в виде кода, что облегчает управление и поддержку больших и сложных инфраструктур.
🔵Лёгкость в использовании: Имеет простой и понятный API, что делает её доступной как для системных администраторов, так и для разработчиков.
🔵Поддержка множества хостов: Позволяет управлять одновременно множеством серверов (хостов), выполняя команды на нескольких системах параллельно.
🔵Без необходимости в агентах: В отличие от некоторых систем управления конфигурацией (например, Ansible или Puppet), для работы pyinfra не требует установки агентов на управляемые машины. Она использует стандартный SSH для взаимодействия с серверами.
🔵Модули и операции: Предоставляет большое количество встроенных модулей и операций, таких как работа с файлами, пакетами, пользователями и группами, настройками сетевых интерфейсов и многими другими аспектами системной конфигурации.
🔵Интеграция с существующими инструментами: Можно использовать совместно с другими инструментами управления инфраструктурой, такими как Docker, Terraform и т.д.

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

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

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

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

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

Основные возможности библиотеки:
🔵Обработка потоков данных в реальном времени: Позволяет обрабатывать непрерывные потоки данных, поступающие из различных источников (например, очереди сообщений, базы данных или внешние API).
🔵Поддержка пакетной обработки: Поддерживает пакетную обработку данных, что позволяет работать с большими объемами данных в уже готовых наборах.
🔵Функциональная модель программирования: Использует функциональный подход к построению логики обработки данных, где пользователь описывает логику обработки в виде набора преобразований над данными (например, map, reduce, windowing и т.д.).
🔵Распределенная обработка: Благодаря встроенной поддержке распределения, можно масштабировать вычисления на несколько узлов, увеличивая пропускную способность системы.
🔵Сохранение состояния: Для обеспечения устойчивости и обработки с сохранением состояния, Bytewax поддерживает механизм хранения состояния.
🔵Интеграции с популярными источниками данных: Поддерживает интеграцию с такими системами, как Kafka, Pulsar и другими популярными платформами для передачи сообщений и работы с данными в реальном времени.

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

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

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

В данном shorts узнаем как работает сортировка пузырьком.

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6👍1🔥1🤨1
Справочник Программиста
📺 Сортировка пузырьком на Python за 60 секунд В данном shorts узнаем как работает сортировка пузырьком. ➡️Справочник Программиста. Подписаться
This media is not supported in your browser
VIEW IN TELEGRAM
📊 Код сортировки пузырьком с визуализацией

Для визуализации в коде используется библиотека matplotlib, а для генерации случайных значений - numpy.

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

import matplotlib.pyplot as plt
import numpy as np


def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n - i - 1):
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
draw(arr)
return arr


def draw(arr):
plt.clf() # Очистка текущей фигуры
plt.bar(range(len(arr)), arr, color='blue')
plt.ylim(0, max(arr) + 1)
plt.pause(0.9) # Увеличенная пауза для визуализации


# Пример использования
if __name__ == "__main__":
np.random.seed(0) # Для воспроизводимости
data = np.random.randint(1, 20, size=10)

plt.ion() # Включение интерактивного режима
bubble_sort(data)
plt.ioff() # Отключение интерактивного режима
plt.show() # Показать финальную сортировку


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

Библиотека Rawdog представляет собой ассистента в командной строке (CLI), который генерирует и автоматически выполняет Python-скрипты в ответ на запросы пользователя.

Особенности библиотеки:
🔵Генерация и выполнение скриптов: На основе введённых пользователем команд автоматически создает Python-скрипты и тут же их выполняет.
🔵Режим взаимодействия: Есть два режима работы, одноразовое выполнение команды или режим диалога, когда ассистент продолжает генерировать и выполнять команды до завершения сессии.
🔵Поддержка различных моделей: По умолчанию используется GPT-4 Turbo, но можно выбрать другие модели (например, GPT-3.5 или локальные модели), изменив настройки конфигурации.
🔵Безопасность: Существует опция --leash, которая позволяет пользователю просматривать и утверждать скрипты перед их выполнением, чтобы избежать потенциально вредных команд​.

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

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

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

Для переименования файлов в коде используется стандартная библиотека pathlib.

from pathlib import Path


def rename_files(directory, extension, prefix='', suffix=''):
# Преобразуем строку с путём к каталогу в объект Path
dir_path = Path(directory)

# Проверяем, является ли указанный путь каталогом
if not dir_path.is_dir():
# Если нет, выбрасываем исключение
raise NotADirectoryError(f"{directory} не является каталогом")

# Проходимся по всем элементам в каталоге
for file in dir_path.iterdir():
# Проверяем, является ли элемент файлом и соответствует ли расширение
if file.is_file() and (extension is None or file.suffix == extension):
# Формируем новое имя файла с учетом префикса, суффикса и расширения
new_name = f"{prefix}{file.stem}{suffix}{file.suffix}"
# Создаём новый объект Path с новым именем файла
new_file = file.with_name(new_name)

try:
# Переименовываем файл
file.rename(new_file)
# Выводим сообщение об успешном переименовании
print(f"Переименован: {file.name} -> {new_name}")
# Обрабатываем возможные исключения
except Exception as e:
# Выводим сообщение об ошибке
print(f"Ошибка при переименовании {file.name}: {e}")


if __name__ == "__main__":
# Указываем каталог, в котором будут переименовываться файлы
directory = 'files'
# Указываем расширение файлов, которые нужно переименовать
extension = '.txt'
# Указываем префикс для нового имени файла
prefix = 'new_'
# Указываем суффикс для нового имени файла
suffix = '_old'

# Вызываем функцию для переименования файлов
rename_files(directory, extension, prefix, suffix)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤‍🔥3🔥3
Функция callable() в Python

В данной статье рассмотрим, как работают функции callable() в Python.

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

Библиотека Yarl предоставляет удобные методы для разбора, построения и модификации URL-адресов, делая работу с ними более простой и эффективной.

Основные возможности библиотеки:
🔵Разбор URL: Возможность легко извлечь части URL (схему, хост, путь, параметры и т.д.).
🔵Модификация URL: Позволяет изменять части URL и безопасно их перекодировать.
🔵Поддержка относительных URL: Может работать с относительными и абсолютными URL.
🔵Экранирование символов: Автоматически обрабатывает символы, которые должны быть экранированы в URL (например, пробелы).
🔵Иммутабельность: Объекты URL являются неизменяемыми, что предотвращает случайные изменения после создания.

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

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

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