Справочник Программиста
6.36K subscribers
1.28K 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
👀 Библиотека 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
This media is not supported in your browser
VIEW IN TELEGRAM
Marimo — это инструмент для создания интерактивных Python-программ, где код автоматически обновляется при изменении данных, а зависимости между ячейками обрабатываются реактивно.

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

Ключевые особенности:
🔵Живые программы: Код автоматически выполняется при изменениях.
🔵Реактивное обновление данных: Пересчитываются только затронутые ячейки.
🔵Чистая среда выполнения: Изоляция ячеек снижает вероятность конфликтов.
🔵Лёгкий запуск: Минимальные зависимости, простой запуск командой.
🔵Встроенные UI-компоненты: Возможность добавлять кнопки, слайдеры и другие элементы.

➡️Установка: pip install marimo && marimo tutorial intro

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

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

Основные темы, охватываемые в шпаргалке:
Основы Python: типы данных, ООП, модули, исключения
Работа с коллекциями: списки, множества, словари
Функции и декораторы
Асинхронность и многопоточное программирование
Алгоритмы и структуры данных
Базы данных, SQL и ORM

🔗 Ссылка на шпаргалку

🔥Сохрани, чтобы не потерять!

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

В данной статье мы научимся работать работать с файлом requirements.txt.

🔔Напоминаю, что вы можете предлагать идеи через бота — @it_start_suggestion_bot

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

Библиотека fastapi-guard предназначена для предоставления безопасности FastAPI, предоставляющая middleware для управления IP-адресами, логирования запросов и обнаружения попыток проникновения.

Интегрируется с FastAPI, обеспечивая надежную защиту от различных угроз безопасности.

Основные возможности библиотеки:
🔵Белый и черный списки IP-адресов
🔵Ограничение скорости
🔵Автоматическая блокировка IP
🔵Фильтрация User-Agent
🔵Обнаружение попыток проникновения
🔵Настраиваемое логирование
🔵Настройка CORS
🔵Блокировка IP-адресов облачных провайдеров
🔵Геолокация IP
🔵Гибкое хранилище (Redis или в памяти)
🔵Поддержка middleware для FastAPI
🔵и т.д.

➡️Установка: pip install fastapi-guard

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥2🍌2
This media is not supported in your browser
VIEW IN TELEGRAM
Pychallenger — это интерактивная онлайн-платформа для изучения Python, предлагающая структурированный и увлекательный подход к обучению через интерактивные уроки, упражнения и кодовые викторины.

Из интересного:
🔵Интерактивные уроки: Краткие и содержательные материалы с реальными примерами, позволяющие легко усваивать новые темы.
🔵Практические упражнения: Встроенный онлайн-редактор Python с подсветкой синтаксиса и мгновенной обратной связью, что способствует эффективному закреплению знаний.
🔵Кодовые викторины: Возможность проверить свои знания с помощью тестов и получить немедленную обратную связь.
🔵Пошаговое обучение: Курсы разделены на уровни сложности — от основ Python до продвинутых тем, включая анализ данных с использованием библиотек NumPy, Matplotlib и pandas.
🔵Доступность: Для начала обучения не требуется установка Python или регистрация; однако создание бесплатного аккаунта позволит сохранять прогресс и отслеживать достижения.

🔗 Ссылка на сайт

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

Для генерации qr-кода используется библиотека qrcode.

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

import qrcode

# Координаты
latitude = 41.890251
longitude = 12.492373

# Формируем строку в формате геолокации
geo_data = f"geo:{latitude},{longitude}"

# Создаём QR-код с данными геолокации
qr = qrcode.make(geo_data)

# Сохраняем QR-код в файл
qr.save("geo_qr.png")


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