Справочник Программиста
6.36K subscribers
1.29K photos
374 videos
64 files
1.61K 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
🔊 Управление звуком на Python

Доя работы со звуком в скриптах используется библиотека Pycaw.

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

🔊 Получение текущей громкости:
from ctypes import cast, POINTER
from comtypes import CLSCTX_ALL
from pycaw.pycaw import AudioUtilities, IAudioEndpointVolume

# Получаем устройство вывода (динамики)
devices = AudioUtilities.GetSpeakers()
interface = devices.Activate(IAudioEndpointVolume._iid_, CLSCTX_ALL, None)

# Приводим к нужному интерфейсу
volume = cast(interface, POINTER(IAudioEndpointVolume))

# Получаем текущий уровень громкости (от 0.0 до 1.0)
current_volume = volume.GetMasterVolumeLevelScalar()
print(f"Текущая громкость: {current_volume * 100:.0f}%")


🔉 Изменение громкости:
from ctypes import cast, POINTER
from comtypes import CLSCTX_ALL
from pycaw.pycaw import AudioUtilities, IAudioEndpointVolume

# Получаем устройство вывода (динамики)
devices = AudioUtilities.GetSpeakers()
interface = devices.Activate(IAudioEndpointVolume._iid_, CLSCTX_ALL, None)

# Приводим к нужному интерфейсу
volume = cast(interface, POINTER(IAudioEndpointVolume))

# Устанавливаем громкость на 50%
volume.SetMasterVolumeLevelScalar(0.5, None)


🔇 Отключение и включение звука:
from ctypes import cast, POINTER
from comtypes import CLSCTX_ALL
from pycaw.pycaw import AudioUtilities, IAudioEndpointVolume

# Получаем устройство вывода (динамики)
devices = AudioUtilities.GetSpeakers()
interface = devices.Activate(IAudioEndpointVolume._iid_, CLSCTX_ALL, None)

# Приводим к нужному интерфейсу
volume = cast(interface, POINTER(IAudioEndpointVolume))

volume.SetMute(1, None) # Отключить звук
volume.SetMute(0, None) # Включить звук


Делать продолжение (смотрю по реакциям)?

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

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

Библиотека chafa позволяет отображать изображения в текстовом формате в терминальных пользовательских интерфейсах (TUI).

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

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

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍3🔥1
llm-functions — это проект, который позволяет легко создавать инструменты и агентов для больших языковых моделей (LLM) с использованием знакомых языков программирования, таких как Bash, JavaScript и Python.

🚀Благодаря поддержке вызова функций, разработчики могут напрямую подключать LLM к пользовательскому коду, что открывает широкие возможности: выполнение системных команд, обработка данных, взаимодействие с API и многое другое.

Основные возможности:
🔵Создание инструментов: Проект предоставляет библиотеку часто используемых инструментов и агентов для LLM, а также позволяет разработчикам создавать собственные инструменты, используя простые функции на Bash, JavaScript или Python.
🔵Создание агентов: Агенты в llm-functions представляют собой комбинацию подсказок, инструментов (вызов функций) и документов (RAG), что эквивалентно GPT от OpenAI. Агенты могут быть настроены для выполнения специфических задач, используя определенные инструменты и данные.
🔵Интеграция с AIChat: В настоящее время AIChat является единственным CLI-инструментом, поддерживающим llm-functions, что позволяет пользователям взаимодействовать с созданными инструментами и агентами через командную строку.

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

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

Библиотека aiogram_dialog предназначена для создания сложных диалогов в Telegram-ботах на основе aiogram.

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

Основные возможности библиотеки:
🔵Многоэтапные диалоги с разными окнами (шагами).
🔵Динамическое обновление интерфейса без необходимости пересылки новых сообщений.
🔵Поддержка inline-кнопок и работы с callback_query.
🔵Интеграция с aiogram FSM (машиной состояний).
🔵Гибкое управление контекстом (передача данных между окнами).
🔵Встроенные фильтры переходов.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤‍🔥4🔥1
⚒️ httpbin — это удобный сервис для тестирования HTTP-запросов и отладки API.

Он позволяет отправлять запросы и получать заранее подготовленные ответы, что полезно для изучения работы HTTP и тестирования клиентов.

Основные возможности:
🔵GET-запросы (/get)
🔵POST-запросы (/post)
🔵PUT, PATCH, DELETE-запросы
🔵Получение IP-адреса клиента (/ip)
🔵Получение User-Agent (/user-agent)
🔵Просмотр заголовков запроса (/headers)
🔵Ответ с задержкой (/delay/{seconds})
🔵Симуляция ошибок (/status/{code})
🔵Редиректы (/redirect/{n}, /absolute-redirect/{n})
🔵Базовая аутентификация (/basic-auth/user/pass)

Пример использования:
import requests

response = requests.get("https://httpbin.org/get", params={"name": "John"})
print(response.json())

# Пример вывода:
# {
# "args": {
# "name": "John"
# },
# "headers": {
# "Accept": "*/*",
# "Accept-Encoding": "gzip, deflate",
# "Host": "httpbin.org",
# "User-Agent": "python-requests/2.32.0",
# "X-Amzn-Trace-Id": "Root=1-5eeb6e8b-6a1b0c5f8b0c5f8b0"
# },
# "origin": "89.0.142.86",
# "url": "https://httpbin.org/get?name=John"
# }


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

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

В данной статье рассмотрим, как работает метод get() в Python.

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

Библиотека Quart – это асинхронный веб-фреймворк, который совместим с Flask.

Поддерживает async/await, что делает его отличным выбором для высоконагруженных веб-приложений, работающих с асинхронными операциями, такими как запросы к базе данных, обработка API или работа с веб-сокетами.

Основные особенности библиотеки:
🔵Полностью асинхронна: Все маршруты, middleware и обработчики могут быть async def, что позволяет эффективно использовать asyncio.
🔵Совместимость с Flask: Совместим с экосистемой Flask, что позволяет использовать расширения для Flask (например, Flask-SQLAlchemy).
🔵Поддержка WebSockets: Можно легко разрабатывать приложения, работающие с WebSockets для чатов, стриминга и прочего.
🔵Поддержка HTTP/2 и WebSockets: В отличие от Flask, Quart изначально поддерживает HTTP/2, что улучшает производительность.
🔵Встроенная поддержка Background Tasks: Можно запускать фоновые задачи.

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

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

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

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

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

import requests


def get_random_commit_message():
"""
Получает случайное сообщение коммита от API WhatTheCommit.

Возвращает:
str: Случайное сообщение коммита или сообщение об ошибке.
"""

url = "http://whatthecommit.com/index.txt"
try:
# Отправляем GET-запрос к API
response = requests.get(url)
# Проверяем, не было ли ошибок при запросе.
response.raise_for_status()
# Возвращаем текст ответа (сообщение коммита), удаляя лишние пробелы
return response.text.strip()
except requests.exceptions.RequestException as e:
# Возвращаем сообщение об ошибке, если запрос не удался.
return f"Не удалось получить сообщение коммита: {e}"


if __name__ == "__main__":
# Получаем сообщение коммита
commit_message = get_random_commit_message()
# Выводим сообщение коммита
print(commit_message)


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

Доя работы со звуком в скриптах используется библиотека Pycaw.

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

🎵 Получение списка приложений, использующих звук:
from pycaw.pycaw import AudioUtilities

# Получаем список всех активных аудиосессий
sessions = AudioUtilities.GetAllSessions()

# Перебираем сессии и выводим информацию о процессах, которые используют звук
for session in sessions:
if session.Process: # Проверяем, есть ли у сессии связанный процесс
print(f"Приложение: {session.Process.name()}") # Выводим имя процесса


🎚 Управление громкостью конкретного приложения:
from pycaw.pycaw import AudioUtilities

# Получаем список всех аудиосессий
sessions = AudioUtilities.GetAllSessions()

# Перебираем все сессии
for session in sessions:
if session.Process and session.Process.name() == "chrome.exe": # Ищем процесс Chrome
volume = session.SimpleAudioVolume # Получаем объект управления громкостью
volume.SetMasterVolume(0.2, None) # Устанавливаем громкость на 20%
print("Громкость Chrome установлена на 20%")


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

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

Hydrogram — это асинхронная Python-библиотека для работы с Telegram Bot API, основанная на Pyrogram.

Предоставляет более удобные механизмы для работы с ботами, особенно в контексте команд, middleware и обработки обновлений.

Основные особенности библиотеки:
🔵Основана на Pyrogram: Сохраняет его мощность, но упрощает работу с ботами.
🔵Командный обработчик: Встроенная поддержка команд (аналог aiogram).
🔵Middleware: Промежуточные обработчики для модификации входящих/исходящих данных.
🔵Фильтры: Упрощённые механизмы фильтрации сообщений и обновлений.
🔵Поддержка ORM и кеширования: Можно использовать с базами данных.
🔵Автоматическое управление обновлениями: удобная работа с polling и webhook.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2👍2🔥2
✏️Tato — это инструмент для форматирования структуры файлов на Python, который фокусируется на организации кода в четыре секции: импорты, константы, классы и функции.

В отличие от других автоформатеров, Tato уделяет внимание именно структурной организации файла, а не выравниванию и оформлению кода.

Основные особенности :
🔵Импорты: Сохраняется оригинальный порядок импортов, предоставляя возможность сортировки другим инструментам, таким как isort или ruff.
🔵Константы: Перемещаются в начало файла, обеспечивая быстрый доступ к ключевым параметрам программы.
🔵Классы: Располагаются в соответствии с их иерархией наследования, начиная с базовых классов.
🔵Функции: Располагаются в порядке их вызова, начиная с основной функции main(), что облегчает понимание логики программы.

➡️Установка: pip install tato

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍3🔥2
📺 Почему 0.1 + 0.2 ≠ 0.3?

В данном shorts рассмотрим интересный момент в Python (и не только).

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

Для обращения к Inspirational Quotes API в коде используется библиотека requests.

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

import requests
from googletrans import Translator


def get_quote():
"""Получает случайную мотивационную цитату из API."""
try:
# Отправляем GET-запрос к API
response = requests.get("https://zenquotes.io/api/random")
# Проверяем, был ли ответ успешным (код 200)
response.raise_for_status() # Вызывает исключение для плохих ответов (4xx или 5xx)
# Преобразуем JSON-ответ в словарь Python
data = response.json()
# Извлекаем текст цитаты из словаря
quote = data[0]['q']
# Извлекаем автора цитаты из словаря
author = data[0]['a']
# Создаем экземпляр переводчика
translator = Translator()
# Переводим текст цитаты на русский язык
quote = translator.translate(quote, dest='ru').text
# Переводим автора цитаты на русский язык
author = translator.translate(author, dest='ru').text
# Возвращаем переведенную цитату и автора
return quote, author
# Обрабатываем исключения, связанные с сетевыми ошибками
except requests.exceptions.RequestException as e:
# Выводим сообщение об ошибке
print(f"Ошибка при получении цитаты: {e}")
# Возвращаем None для цитаты и автора, чтобы указать на ошибку
return None, None


def main():
"""Главная функция для получения и печати цитаты."""
# Получаем цитату и автора из функции get_quote()
quote, author = get_quote()
# Проверяем, были ли получены цитата и автор
if quote and author:
# Выводим заголовок
print("Мотивационная цитата:")
# Выводим цитату и автора
print(f"\"{quote}\" - {author}")


if __name__ == "__main__":
# Вызываем главную функцию
main()


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

Установка FastAPI и Uvicorn
Быстрый старт с FastAPI (создание простого API)
Запуск сервера с Uvicorn
Обработчики запросов (GET, POST и другие)
Типизация параметров с Pydantic
Работа с параметрами запроса (Query, Path, Body)
Подключение Middleware (например, CORS)
Авторизация через OAuth2
Фоновые задачи (Background Tasks)
Генерация документации (Swagger UI, Redoc)

⬇️Шпаргалка в PDF-документе
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥2🔥2
🔐Библиотека keyring в Python

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

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

Основные возможности библиотеки:
Поддержка системных хранилищ паролей (Windows, macOS, Linux)
Простая установка и использование
Поддержка нескольких бэкендов хранения
Возможность работы с кастомными бэкендами

➡️Установка: pip install keyring

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5👍2🔥2
💻 ClatScope Info Tool — это универсальный инструмент OSINT (разведки на основе открытых источников), разработанный для сбора и анализа информации об IP-адресах, доменах, электронных почтах, номерах телефонов и многом другом.

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

Основные возможности:
🔵Анализ IP-адресов: получение информации о геолокации, интернет-провайдере и просмотр на карте.
🔵Поиск аккаунтов по имени пользователя: проверка наличия имени на более чем 250 сайтах.
🔵WHOIS-запросы: получение данных о регистрации доменов.
🔵Проверка утечек данных: использование сервиса "Have I Been Pwned?" для поиска утечек по электронной почте.
🔵Анализ номеров телефонов: валидация номеров, определение оператора и региона.
🔵Поиск информации о человеке: сбор открытых данных по имени, электронной почте, IP и другим параметрам.

🤔 Вообще, основных возможностей 56, лучше гляньте на github.

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

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

Библиотека aiomultiprocess позволяет использовать многопроцессорность в асинхронных Python-приложениях, построенных на asyncio.

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

Основные возможности библиотеки:
🔵Совместимость с asyncio, в отличие от стандартного multiprocessing.
🔵Автоматическое управление процессами с использованием asyncio.
🔵Улучшенная производительность при работе с CPU- и I/O-bound задачами.
🔵API, похожий на asyncio, что облегчает интеграцию.

➡️Установка: pip install aiomultiprocess

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

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

В данном shorts напишем самоуничтожающийся код на Python.

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

import os
import time

file = __file__

print("Этот код самоуничтожится через 3 секунды...")
time.sleep(3)
os.remove(file)

print("Файл уничтожен!")


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