Справочник Программиста
6.37K subscribers
1.28K photos
375 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
🖥 Glances — это кроссплатформенный инструмент мониторинга системы в реальном времени, написанный на Python.

Отображает максимум полезной информации в минимальном терминальном пространстве (достаточно даже классических 80×24) — от загрузки CPU и памяти до сетевой активности и процессов.

Основные возможности:
🔵Поддержка Linux, macOS, Windows и BSD-систем
🔵Мониторинг CPU, памяти, swap, дисков, сетей, I/O, температуры, RAID, SMART, контейнеров Docker/Podman
🔵Отображение информации в текстовом и веб-интерфейсе
🔵Поддержка клиент/серверного режима для удалённого мониторинга
🔵Встроенный REST API и XML-RPC API
🔵Экспорт данных в CSV, JSON, InfluxDB, Prometheus, Elasticsearch, RabbitMQ и другие хранилища
🔵Подсветка и сортировка процессов по CPU, памяти, имени и I/O
🔵Адаптивный интерфейс под размер терминала или экрана
🔵Настраиваемые предупреждения и уведомления

➡️Установка минимальной версии:
pip install --user glances


➡️Установка фулловой версии:
pip install --user glances[all]


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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1
Media is too big
VIEW IN TELEGRAM
👏 Two claps open – это Python-проект, который позволяет запускать приложения (например, браузер Chrome) или файлы с помощью двух хлопков в ладоши.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🍌2🥴1
This media is not supported in your browser
VIEW IN TELEGRAM
🎨 ttkbootstrap — это современная Python-библиотека тем, предназначенная для улучшения внешнего вида приложений на базе tkinter.

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

Основные возможности:
Более 20 встроенных тем, включая светлые и темные варианты
Простая настройка стилей с помощью ключевых слов, похожих на CSS-классы
Новые виджеты, такие как Meter, DateEntry, Floodgauge и стилизованные диалоговые окна
Встроенный редактор тем (ttkcreator) для создания и настройки собственных тем
Поддержка локализации на нескольких языках

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

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

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

Для работы с прогресс-баром в коде используется библиотека rich.

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

from rich.console import Console
from rich.progress import Progress, SpinnerColumn, TextColumn
import time


def cool_loading_animation(description: str = "Загрузка данных...", total_steps: int = 10, delay_per_step: float = 0.3):
"""
Отображает анимацию загрузки с текстом.

Args:
description (str): Текст, отображаемый рядом со спиннером.
total_steps (int): Общее количество шагов для симуляции загрузки.
delay_per_step (float): Задержка в секундах для каждого шага.
"""
console = Console()

with Progress(
SpinnerColumn(),
TextColumn(f"[bold green]{{task.description}}"),
console=console,
transient=True, # Прогресс-бар исчезнет после завершения
) as progress:
task = progress.add_task(description, total=total_steps)
for _ in range(total_steps):
time.sleep(delay_per_step) # Симуляция работы
progress.advance(task)

console.print(f"[bold green] {description.replace('...', '')} Готово![/bold green]")


if __name__ == "__main__":
# Пример использования:
cool_loading_animation("Инициализация...", total_steps=5, delay_per_step=0.5)
cool_loading_animation("Обработка файлов...", total_steps=12, delay_per_step=0.2)
cool_loading_animation("Завершение...", total_steps=3, delay_per_step=0.7)


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥3👍2
👩‍💻 python-imgcat — это утилита, позволяющая отображать изображения прямо в терминале, используя протокол iTerm2 inline images.

Основные возможности:
🔵Отображение изображений в терминале.
🔵Поддержка PNG, JPEG, GIF и других форматов.
🔵Возможность интеграции с Python-скриптами.
🔵Работает в macOS и Linux (терминалы с поддержкой inline images).

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤‍🔥2🔥1
💻 turbodrf — это Python-библиотека для Django Rest Framework, которая упрощает и ускоряет разработку API, добавляя удобные инструменты и улучшения поверх стандартного DRF.

Основные возможности:
🔵Упрощённые ViewSets — меньше кода для типичных CRUD-операций.
🔵Интеграция с фильтрацией и поиском — удобная настройка фильтров и сортировки.
🔵Быстрый старт — минимальные настройки для запуска API.
🔵Гибкость — легко расширяется и совместима с DRF.

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

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

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

Для сокращения ссылок в коде используется модуль pyshorteners, а для генерации qr-кода - qrcode.

➡️Установка модуля: pip install pyshorteners qrcode

import pyshorteners
import qrcode


def simple_shorten_and_qr(long_url, output_filename="simple_qr.png"):
s = pyshorteners.Shortener()
short_url = s.tinyurl.short(long_url)

qr = qrcode.QRCode(version=1, box_size=10, border=4)
qr.add_data(short_url)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.save(output_filename)
return short_url, output_filename


if __name__ == "__main__":
url = "https://www.google.com"
short_link, qr_file = simple_shorten_and_qr(url)
print(f"Сокращенная ссылка: {short_link}")
print(f"QR-код сохранен как: {qr_file}")


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥2
✍️ python-gnupg — это Python-обёртка для утилиты GnuPG, позволяющая пользователям генерировать ключи и управлять ими, шифровать и расшифровывать данные, а также подписывать и проверять сообщения прямо из Python-кода.

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

➡️Установка: pip install python-gnupg

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

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

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


В данном Shorts напишем код для получения прогноза погоды на 3 дня вперёд по названию города на Python.

💡Не забывайте, что вы можете предлагать ещё идеи для постов/статей/видосов - @it_start_suggestion_bot

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤‍🔥3
Справочник Программиста
📺 Получаем погоду в городе на Python Нашёл способ получать прогноз погоды без регистрации для получения API и прочей ерунды, и решил поделиться им с вами. В данном Shorts напишем код для получения прогноза погоды на 3 дня вперёд по названию города на Python.…
⛅️Код для получения прогноза погоды без API на Python

Для получения прогноза погоды будет использоваться wttr.in, а для работы с HTTP-запросом в коде используется библиотека requests.

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

import requests

city = input("Введите название города: ")
url = f"https://wttr.in/{city}"

try:
res = requests.get(url)
print(res.text)
except:
print("Произошла ошибка, пожалуйста, повторите попытку позже...")


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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥2
⚙️ Автоматизация задач с помощью Python

В данной статье напишем три скрипта для автоматизации задач с помощью Python.

📖Похожие статьи:
5 простых программ на Python
5 полезных скриптов на Python
Простые программы на Python

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4👍2🔥1
🔥 yt-dlp-gui — это графическая оболочка для популярного инструмента yt-dlp, написанная на Python с использованием библиотеки tkinter.

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

Основные возможности:
Поддержка скачивания видео, аудио или плейлистов;
Выбор качества и формата;
Возможность автоматической установки yt-dlp и ffmpeg;
Удобный интерфейс с прогресс-баром и логами;
Поддержка прокси-серверов и аргументов командной строки.

➡️Установка:
git clone https://github.com/vokrob/yt-dlp-gui.git
cd yt-dlp-gui
pip install -r requirements.txt
python main.py


📱 Репозиторий
⚙️ exe-файл
📝 Статья

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3❤‍🔥1
🖥 py‑pglite — это удобная обёртка на Python для PGlite — лёгкого, но настоящего PostgreSQL, запускаемого мгновенно и без настройки.

Отлично подходит для тестирования, предоставляя:
Zero‑config: не требуется установка PostgreSQL, Docker или внешняя конфигурация
Мгновенный запуск: от 2–3 с против 30–60 с при Docker
Изоляция тестов: каждый тест — свежая чистая БД
Нативный PostgreSQL: поддержка JSON, массивов, оконных функций и т.д.
Совместимость со стандартными клиентами: SQLAlchemy, Django, psycopg, asyncpg и прочими.

Пример использования с SQLAlchemy:
def test_sqlalchemy_just_works(pglite_session):
user = User(name="Alice", email="alice@test.com")
pglite_session.add(user)
pglite_session.commit()

assert user.id is not None
assert User.query.count() == 1 # Real PostgreSQL!


➡️Установка:
pip install py-pglite[sqlalchemy]   # для SQLAlchemy/SQLModel
pip install py-pglite[django] # для Django
pip install py-pglite[asyncpg] # для чистого asyncpg
pip install py-pglite[extensions] # с поддержкой pgvector и др.


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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3🔥2👍1
📝 PySnooper — это Python-библиотека, которая позволяет легко отлаживать код, автоматически выводя значения переменных и ход выполнения программы.

Проще говоря, достаточно добавить один декоратор @pysnooper.snoop() к функции, и библиотека начнёт логировать все её шаги — какие строки выполняются, какие значения присваиваются переменным и как изменяется состояние программы.

Основные возможности:
🔵Минимум кода для отладки — достаточно одной строки.
🔵Вывод всех изменений переменных с их новыми значениями.
🔵Логирование в файл или консоль (можно указать путь к лог-файлу).
🔵Поддержка контекстного менеджера — можно отслеживать только нужные блоки кода.
🔵Понятные и наглядные логи — виден номер строки, выполняемый код и результат.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7🔥2
🔥 На GitHub недавно обновился бесплатный обучающий репозиторий Think Python, 3rd edition — отличная база для изучения Python: от основ синтаксиса до ООП.

📘 Весь материал оформлен в виде Jupyter-ноутбуков: удобно читать, легко искать нужные темы. Чёткая структура и множество примеров кода делают обучение максимально понятным.


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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3❤‍🔥2🤨1
This media is not supported in your browser
VIEW IN TELEGRAM
⚒️ crudadmin — это библиотека для Django, которая превращает ваш проект в удобную административную панель с функциями CRUD (создание, чтение, обновление, удаление) без необходимости писать лишний код.

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

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

➡️Установка: pip install "crudadmin[memcached]"

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤‍🔥1
🔥 pyleak — это инструмент для поиска утечек памяти в Python-приложениях, который помогает анализировать объекты в памяти и выявлять те, что не освобождаются должным образом.

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

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

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤‍🔥2🤔1
🔔 notify-py — это кроссплатформенный Python-модуль для создания системных уведомлений на Windows (10/11), macOS (начиная с 10.10) и Linux (через libnotify).

Основные возможности:
Отправка локальных уведомлений на Windows, macOS и Linux.
Поддержка иконок для уведомлений.
Настройка заголовка, текста и звука уведомления.
Возможность управлять временем отображения уведомлений.
Поддержка обратного вызова при клике на уведомление.
Возможность использования в фоновых скриптах и приложениях.

➡️Установка: pip install notify-py

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥6❤‍🔥3👍2
🗄 aiortc — это Python-библиотека для работы с WebRTC и ORTC, позволяющая создавать приложения реального времени для передачи аудио, видео и данных без использования сторонних серверов.

Написана полностью на Python и поддерживает асинхронный ввод-вывод (asyncio), что делает её удобной для интеграции в современные веб-приложения.

Основные возможности:
🔵Поддержка WebRTC и ORTC для P2P-коммуникаций.
🔵Передача аудио, видео и произвольных данных.
🔵Интеграция с asyncio и использование корутин.
🔵Возможность создания SFU/MCU серверов для групповых звонков.
🔵Поддержка кодеков VP8, H.264, Opus и других.

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

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

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