Справочник Программиста
6.37K 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
📝 Dooit — это менеджер задач с текстовым интерфейсом (TUI), разработанный для работы в терминале.

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

Основные возможности:
🔵Интерактивный и красивый интерфейс: Предлагает удобный интерфейс, который можно настроить под свои предпочтения.
🔵Полная настраиваемость: Пользователи могут конфигурировать панель, цвета и отображение элементов по своему усмотрению.
🔵Расширяемость: Конфигурационный файл на Python позволяет добавлять новые функции и адаптировать приложение под индивидуальные потребности.
🔵Клавиши, похожие на Vim: Для удобства пользователей, привыкших к Vim, Dooit поддерживает аналогичные сочетания клавиш.
🔵Разделение списков задач по темам с возможностью ветвления: Это позволяет организовывать задачи по категориям и подзадачам.
🔵Вложенные задачи и поддержка повторяющихся задач: Поддерживает создание подзадач и установку повторяющихся задач для регулярных мероприятий.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥3👍2🔥1
📄 PyMuPDF (также известная как fitz) — это библиотека для работы с PDF, XPS, OpenXPS, EPUB, и другими документами.

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

Основные возможности библиотеки:
🔵Извлечение текста из PDF, XPS, EPUB и других форматов
🔵Извлечение изображений и шрифтов
🔵Получение метаданных документов
🔵Добавление, удаление и перемещение страниц
🔵Изменение ориентации страниц
🔵Объединение и разделение PDF-документов
🔵Добавление аннотаций, заметок и ссылок
🔵Выделение текста и добавление фигур
🔵Конвертация страниц в изображения
🔵Поддержка различных форматов (PDF, XPS, EPUB, CBZ и другие)

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤‍🔥2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
ShortMoji — это лёгкая программа на Python, которая позволяет вставлять эмодзи и специальные символы с помощью горячих клавиш, как в Discord.

Включает более 140 эмодзи и символов. Программа проста в использовании и доступна для скачивания.

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

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

Библиотека Helium предназначена для автоматизации веб-браузера в Python и упрощает работу с Selenium.

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

Основные возможности библиотеки:
🔵Автоматический запуск Chrome или Firefox
🔵Поиск и взаимодействие с элементами без явного указания селекторов
🔵Ввод текста, клик по кнопкам и навигация по страницам

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

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

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

В данном shorts рассмотрим интересную ситуацию в Python.

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

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

Основные особенности:
🔵Создание презентаций в терминале: Позволяет разрабатывать и демонстрировать презентации без необходимости использования графического интерфейса.
🔵Интеграция с Rich: Использует библиотеку Rich для обеспечения богатого форматирования текста и стилизации слайдов.
🔵Простота использования: Предоставляет удобный API для создания слайдов с минимальным количеством кода.

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

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

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

Охватывает основные команды, сгруппированные по категориям:
🔵Настройка Git
🔵Инициализация и клонирование репозитория
🔵Просмотр истории коммитов
🔵Работа с файлами (добавление, коммит, удаление)
🔵Ветвление и слияние
🔵Работа с удалёнными репозиториями
🔵Перезапись истории коммитов
🔵Отмена изменений

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

Библиотека snoop используется для отслеживания и логирования выполнения кода в реальном времени.

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

Основные особенности библиотеки:
🔵Логирование выполнения кода в реальном времени.
🔵Декораторы для отслеживания функций.
🔵Отображение значений переменных при их изменении.
🔵Удобная трассировка шагов выполнения программы.
🔵Настройка вывода в лог-файл.
🔵Поддержка фильтрации и настройки уровня подробности логов.

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

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

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

В скриптах используется библиотека pywin32.

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

🌅 Изменение обоев рабочего стола:
import win32con
import ctypes

# Указываем путь к изображению, которое будет установлено в качестве обоев рабочего стола
path = "C:\\Path\\To\\Wallpaper.jpg"

# Устанавливаем изображение в качестве обоев рабочего стола с помощью SystemParametersInfoW
# Параметры:
# 1. win32con.SPI_SETDESKWALLPAPER – указывает на смену обоев рабочего стола
# 2. 0 – резервный параметр (не используется)
# 3. path – путь к изображению
# 4. 3 – обновление параметров пользователя (SPIF_UPDATEINIFILE | SPIF_SENDCHANGE)
ctypes.windll.user32.SystemParametersInfoW(win32con.SPI_SETDESKWALLPAPER, 0, path, 3)


👥 Получение списка пользователей системы:
import win32net
import win32netcon

server = None # Указываем, что работаем с локальным компьютером (можно указать имя сервера)
level = 0 # Уровень детализации информации о пользователях

# Получаем список пользователей на локальном компьютере
# Параметры:
# 1. server – целевой сервер (None означает локальный)
# 2. level – уровень детализации (0 возвращает только имена пользователей)
# 3. win32netcon.FILTER_NORMAL_ACCOUNT – фильтр, указывающий, что нужны только обычные учетные записи
users, _, _ = win32net.NetUserEnum(server, level, win32netcon.FILTER_NORMAL_ACCOUNT)

# Перебираем полученный список пользователей и выводим их имена
for user in users:
print(user['name'])


🌐 Получение списка сетевых подключений:
import win32com.client

wmi = win32com.client.GetObject("winmgmts:\\\\.\\root\\CIMV2")

# Выполняем WMI-запрос для получения списка сетевых адаптеров
# Фильтруем только те адаптеры, у которых есть NetConnectionID (т.е. они активны)
adapters = wmi.ExecQuery("SELECT * FROM Win32_NetworkAdapter WHERE NetConnectionID IS NOT NULL")

# Перебираем найденные сетевые адаптеры и выводим их имя подключения и MAC-адрес
for adapter in adapters:
print(f"{adapter.NetConnectionID} - {adapter.MACAddress}")


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

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

Библиотека DataChain предназначена для эффективной обработки, обогащения и анализа больших объемов неструктурированных данных, таких как изображения, аудио, видео, текст и PDF.

📦 Интегрируется с внешними хранилищами, например, S3, позволяя обрабатывать данные без их дублирования, и управляет метаданными в собственной базе данных для упрощенного поиска и анализа.

Основные возможности:
🔵Обогащение данных с помощью ИИ: Использует локальные модели машинного обучения и API-вызовы к большим языковым моделям (LLM) для структурирования и аннотирования данных.
🔵Масштабируемость: Способна обрабатывать десятки миллионов файлов или фрагментов, что делает ее подходящей для крупных проектов по обработке данных.
🔵Python-совместимость: Предлагает строго типизированные объекты Pydantic вместо JSON, обеспечивая интуитивно понятный опыт работы для разработчиков Python.

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

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

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

В данном Shorts напишем код на Python, который превратит клавиатуру в хаос — хороший способ разыграть кого угодно!

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🍌1
Справочник Программиста
📺 Ломаем клавиатуру на Python В данном Shorts напишем код на Python, который превратит клавиатуру в хаос — хороший способ разыграть кого угодно! ➡️Справочник Программиста. Подписаться
Код для 'ломания' клавиатуры на Python

Для работы с клавиатурой в коде используется библиотека keyboard.

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

import keyboard
import random


def random_key(event):
# Генерируем случайный символ в диапазоне от 33 до 126 (печатаемые символы ASCII)
new_char = chr(random.randint(33, 126))
# Пишем случайный символ с задержкой 0.1 секунды
keyboard.write(new_char, delay=0.1)


# Подключаем функцию random_key к хукающим событиям клавиатуры
keyboard.hook(random_key)
# Ожидаем событий клавиатуры (бесконечный цикл)
keyboard.wait()


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

Использует библиотеку Click для создания удобного CLI-интерфейса и облегчает выполнение команд на удалённых серверах.

Возможности:
🔵Упрощённый запуск SSH-команд через CLI.
🔵Возможность подключения к нескольким серверам.
🔵Использование конфигурационного файла для хранения данных о серверах.
🔵Поддержка параллельного выполнения команд.
🔵Возможность копирования файлов через SCP.

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

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

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

Основные особенности бота:
Просмотр каталога товаров.
Добавление и удаление товаров из корзины.
Оформление заказа.
Уведомления о статусе заказа.

Основные библиотеки:
pyTelegramBotAPI
SQLAlchemy
requests

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

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

Библиотека validr предназначена для валидации данных в Python, вдохновлённая pydantic, но с более простым и лаконичным синтаксисом.

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

Основные возможности библиотеки:
🔵Простая и декларативная валидация.
🔵Автоматическое преобразование типов.
🔵Компактный синтаксис.
🔵Поддержка вложенных структур данных.

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

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

➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 DrawDB — это бесплатный, простой и интуитивно понятный онлайн-редактор диаграмм баз данных и генератор SQL-кода.

🛠 Позволяет пользователям создавать и редактировать диаграммы сущностей и связей (ER-диаграммы) непосредственно в браузере без необходимости регистрации. Среди его возможностей — экспорт SQL-скриптов, настройка интерфейса редактора и многое другое.

Особенности:
Простое создание диаграмм с визуальным редактором
Экспорт SQL-кода для разных баз данных
Возможность локального развертывания

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

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

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

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

import requests  # Для отправки HTTP-запросов
import io # Для работы с байтовыми потоками
from PIL import Image # Для обработки изображений


def generate_dicebear_avatar(seed, style="identicon"):
# Формируем URL-адрес API Dicebear
url = f"https://api.dicebear.com/7.x/{style}/png?seed={seed}"
try:
# Отправляем GET-запрос к API
response = requests.get(url, stream=True)
# Проверяем статус ответа (200 OK)
response.raise_for_status()
# Получаем байтовый поток изображения
image_data = io.BytesIO(response.content)
# Открываем изображение с помощью PIL
image = Image.open(image_data)
# Возвращаем объект изображения
return image
except requests.exceptions.RequestException as e:
# Обрабатываем ошибки при запросе к API
print(f"Ошибка при запросе Dicebear API: {e}")
return None
except Exception as e:
# Обрабатываем ошибки при обработке изображения
print(f"Ошибка при обработке изображения: {e}")
return None


if __name__ == "__main__":
seed = "random_seed" # Замените на любую строку
# Генерируем аватар в стиле bottts
avatar = generate_dicebear_avatar(seed, style="bottts")

if avatar:
avatar.show() # Показываем аватар
# Или сохраняем аватар в файл:
# avatar.save("dicebear_avatar.png")


➡️Справочник Программиста. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤‍🔥3
🛠 Cookiecutter — это утилита для быстрого создания проектов на основе заранее подготовленных шаблонов.

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

Основные возможности:
🔵Создание новых проектов из шаблонов (репозитории могут быть локальными или размещаться в GitHub/GitLab).
🔵Использование Jinja2-шаблонов для генерации файлов с динамическими параметрами.
🔵Возможность настройки шаблонов через файл cookiecutter.json.
🔵Гибкость — можно создавать шаблоны для любых языков и фреймворков.

➡️Установка: pipx install cookiecutter

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

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

Библиотека htmy — это асинхронный механизм рендеринга HTML, полностью написанный на Python.

Предназначена для удобного серверного формирования HTML-кода с использованием декларативного синтаксиса.

Основные возможности:
🔵Встроенные HTML-компоненты: предоставляет классы для всех HTML-тегов.
🔵Асинхронный рендеринг: позволяет эффективно генерировать HTML в FastAPI и других современных веб-фреймворках.
🔵Контекст: механизм передачи данных через компоненты без явной передачи аргументов.

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

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

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

Основные темы, охватываемые в шпаргалке:
Массив
Стек
Очередь
Дек
Хеш-таблица
Связный список
Двоичное дерево поиска
Граф

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

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