en
Feedback
Справочник Программиста

Справочник Программиста

Open in Telegram
5 744
Subscribers
-124 hours
-147 days
-6130 days
Posts Archive
🚀 notebookllama – это полностью open‑source альтернатива Google NotebookLM, использующая LlamaCloud для своей инфраструктуры. Ориентирован на конвертацию документов (PDF) в подкаст‑формат, где AI генерирует скрипт и превращает его в аудио разговор между двумя «ведущими». Основные возможности: ⏺Распознавание и извлечение содержимого PDF ⏺Генерация сценария подкаста с драматическими вставками ⏺Конвертация текста в речь через открытые TTS-модели, такие как bark и Parler‑tts ⏺Полностью настраиваемый open-source код, включая API, UI-компоненты, поддержку LlamaCloud и возможность замены компонентов под собственные нужды 📱 Репозиторий ➡️Справочник Программиста. Подписаться

🗂 Код для отслеживания изменений в папке на Python Для отслеживания изменений в директории в коде используется библиотека watchdog. ➡️Установка библиотеки: pip install watchdog
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import os

class MyEventHandler(FileSystemEventHandler):
    def on_any_event(self, event):
        """Логирует любое событие файловой системы."""
        if event.is_directory:
            event_type = "Каталог"
        else:
            event_type = "Файл"

        if event.event_type == 'created':
            print(f"СОЗДАН: {event_type} {event.src_path}")
        elif event.event_type == 'deleted':
            print(f"УДАЛЕН: {event_type} {event.src_path}")
        elif event.event_type == 'modified':
            print(f"ИЗМЕНЕН: {event_type} {event.src_path}")
        elif event.event_type == 'moved':
            print(f"ПЕРЕМЕЩЕН: {event_type} из {event.src_path} в {event.dest_path}")

def start_watching(path):
    event_handler = MyEventHandler()
    observer = Observer()
    observer.schedule(event_handler, path, recursive=True)
    observer.start()
    print(f"Мониторинг папки: {path}. Нажмите Ctrl+C для остановки.")
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()
    print("Мониторинг остановлен.")


if __name__ == "__main__":
    # Замените 'путь_к_папке' на фактический путь к папке, которую вы хотите отслеживать
    folder_to_watch = 'путь_к_папке'

    # Создаем папку, если она не существует (необязательно, для демонстрации)
    if not os.path.exists(folder_to_watch):
        os.makedirs(folder_to_watch)
        print(f"Создана папка для демонстрации: {folder_to_watch}")

    start_watching(folder_to_watch)
➡️Справочник Программиста. Подписаться

🔥 scrubadub — это Python‑библиотека, которая предназначена для удаления личной и конфиденциальной информации из произвольног
🔥 scrubadub — это Python‑библиотека, которая предназначена для удаления личной и конфиденциальной информации из произвольного текста. Основные возможности: 🔵Удаление личной и конфиденциальной информации (PII) из текста. 🔵Поддержка распознавания имён, email‑адресов, телефонов, URL, адресов, дат рождения, номеров документов и карт. 🔵Возможность подключения дополнительных детекторов. 🔵Настройка замены (текстовые метки, хеши, форматирование). 🔵Локализация для поддержки региональных форматов данных. 🔵Добавление пользовательских паттернов для поиска и удаления. 🔵Гибкая конфигурация детекторов (добавление, удаление, приоритеты). ➡️Установка: pip install scrubadub 📱 Репозиторий ⚙️ Документация ➡️Справочник Программиста. Подписаться

👩‍💻 Всем программистам посвящается! Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования
👩‍💻 Всем программистам посвящается! Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования: Выбирай своё направление: 👩‍💻 Python — t.me/python_ready 🤔 InfoSec & Хакинг — t.me/hacking_ready 🖥 SQL & Базы Данных — t.me/sql_ready 🤖 Нейросетиt.me/neuro_ready 👩‍💻 C/C++ — https://t.me/cpp_ready 👩‍💻 C# & Unity — t.me/csharp_ready 👩‍💻 Java — t.me/java_ready 👩‍💻 Linux — t.me/linux_ready 🖼️ DevOpst.me/devops_ready 📖 IT Книги — t.me/books_ready 👩‍💻 Frontend — t.me/frontend_ready 📱 JavaScript — t.me/javascript_ready 👩‍💻 Backend — t.me/backend_ready 📱 GitHub & Git — t.me/github_ready 👩‍💻 Весь IT — t.me/it_ready 👩‍💻 Bash & Shell — t.me/bash_ready 🖥 Design — t.me/design_ready 📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!

🗣 parler‑tts — это полностью открытая система синтеза речи с управляемыми характеристиками. Основные возможности: 🔵Открытый синтез речи с управляемыми характеристиками 🔵Генерация голоса на основе текстового описания 🔵Выбор из 34 предобученных голосов 🔵Поддержка Mini и Large моделей с разным числом параметров 🔵Управление скоростью, тембром, шумом и реверберацией 🔵Возможность дообучения на собственных записях 🔵Ускорение работы через Torch Compile и Flash Attention 2 🔵Поддержка потоковой генерации аудио 🔵Инструменты для автоматической аннотации речи 📱 Репозиторий ➡️Справочник Программиста. Подписаться

🖼 Код для массового сжатия изображений в папке на Python Для массового сжатия изображений в коде используется библиотека Pillow, для добавления прогресс-бара - tqdm. ➡️Установка модуля: pip install Pillow tqdm
from pathlib import Path
from PIL import Image
from tqdm import tqdm


def process_images_compact(input_path: str, output_folder: str = 'out', max_width: int = 1920, quality: int = 85):
    out_dir = Path(output_folder)
    out_dir.mkdir(parents=True, exist_ok=True)

    allowed_exts = {'.jpg', '.jpeg', '.png'}

    # Собираем список всех файлов в input_path (и подпапках), которые имеют разрешенные расширения
    # rglob('*') рекурсивно ищет все файлы и папки
    files = [p for p in Path(input_path).rglob('*') if p.suffix.lower() in allowed_exts]

    for p in tqdm(files, leave=False):
        # Открываем изображение с помощью Pillow
        im = Image.open(p)
        # Получаем текущие ширину и высоту изображения
        w, h = im.size

        # Проверяем, превышает ли ширина изображения заданную максимальную ширину
        if w > max_width:
            # Вычисляем коэффициент масштабирования
            ratio = max_width / w
            # Изменяем размер изображения, сохраняя пропорции
            im = im.resize((max_width, int(h * ratio)))

        # Определяем полный путь для сохранения обработанного изображения в выходной папке
        output_file_path = out_dir / p.name

        # Сохраняем изображение
        if p.suffix.lower() == '.png':
            im.save(output_file_path, optimize=True)
        else:
            im.save(output_file_path, quality=quality, optimize=True)


if __name__ == "__main__":
    process_images_compact('my_photos', output_folder='resized_photos', max_width=1024, quality=80)
➡️Справочник Программиста. Подписаться

GitVerse News Канал для разработчиков — профи, начинающих и кому просто любопытно. Обсуждаем AI и open source, делимся новост
GitVerse News Канал для разработчиков — профи, начинающих и кому просто любопытно. Обсуждаем AI и open source, делимся новостями, изучаем крутые кейсы. Подписаться #реклама 16+ О рекламодателе

📦 InvenTree – это управления складом и номенклатурой, построенная на Python /Django и предоставляющая полный REST API как дл
📦 InvenTree  – это управления складом и номенклатурой, построенная на Python /Django и предоставляющая полный REST API как для веб-интерфейса, так и для внешних интеграций. Основные возможности: 🔵Автоматическая аутентификация через токены или логин/пароль. 🔵Получение и фильтрация данных через удобные методы. 🔵Создание, обновление и удаление объектов (CRUD). 🔵Работа с объектами склада и запасами. 🔵Управление деталями, категориями, локациями и BOM. 🔵Прикрепление файлов и добавление параметров к объектам. 🔵Перезагрузка и синхронизация данных. 🔵Простая интеграция с REST API сервера InvenTree. ➡️Установка: pip install inventree 📱 Репозиторий ⚙️ Документация ➡️Справочник Программиста. Подписаться

Мы знаем, как цифровизировать ваш бизнес В VK Tech мы ежедневно разрабатываем продукты, которые помогают компаниям автоматизи
Мы знаем, как цифровизировать ваш бизнес В VK Tech мы ежедневно разрабатываем продукты, которые помогают компаниям автоматизировать процессы, экономить время и улучшать клиентский опыт. В канале VK Tech рассказываем о ключевых технологиях, делимся рабочими кейсами и обсуждаем главные вопросы, которые волнуют бизнес. Здесь вы найдете ответы на вопросы: ✅ Как цифровизация влияет на рост бизнеса? ✅ Какие IT-решения стоит внедрить в первую очередь? ✅ Что нового в трендах автоматизации? Присоединяйтесь, чтобы узнать, как технологии могут изменить ваш бизнес. Подписаться #реклама О рекламодателе

🚀 premier — это легковесная Python-библиотека для контроля скорости вызовов функций. Позволяет ограничивать частоту вызовов
🚀 premier — это легковесная Python-библиотека для контроля скорости вызовов функций. Позволяет ограничивать частоту вызовов функций в асинхронных и синхронных приложениях — особенно полезна для API-клиентов и ботов. Основные возможности: 🔵Ограничение количества вызовов функции за определённый интервал времени 🔵Поддержка синхронного и асинхронного кода 🔵Простое применение через декораторы 🔵Возможность настройки интервалов и количества попыток ➡️Установка: pip install premier 📱 Репозиторий ⚙️ Документация ➡️Справочник Программиста. Подписаться

Дизайн в FIGMA с нуля. Бесплатный курс + портфолио Онлайн-программа с наставником и чатом. Дизайн от профессионалов. Доступ 0 руб. Узнать больше #реклама 16+ yudaevschool24.online О рекламодателе

🔍 microsandbox — это само-хостируемая платформа для безопасного выполнения недоверенного пользовательского или AI-сгенерированного кода в изолированных microVM’ах (микро-виртуальных машинах). Проект ориентирован на случаи, когда нужно дать ИИ-агентам или пользователям возможность запускать произвольный код (Python, Node.js и т.д.) с сильной изоляцией и управляемыми ресурсами. Основные возможности: 🔵Безопасное выполнение недоверенного (в т.ч. AI‑сгенерированного) кода в изолированных микро‑ВМ. 🔵SDK для Python, JavaScript/TypeScript и Rust для программного управления песочницами и запуска кода. 🔵Управление через сервер и CLI. 🔵Запуск команд, скриптов и интерактивных сессий внутри песочницы 🔵Более сильная граница безопасности, чем у контейнеров (Docker/OCI), за счёт изоляции уровня ВМ. ➡️Установка: pip install microsandbox 📱 Репозиторий ⚙️ Документация ➡️Справочник Программиста. Подписаться

Онлайн-магистратура с IT специальностями от Яндекса Совместно с ИТМО, МИФИ, МФТИ. Онлайн-магистратура с актуальными программами и гибким графиком обучения. Получите высокооплачиваемую IT профессию, официальный диплом и практические знания. Господдержка оплаты. Совмещение с работой! Подать заявку #реклама 16+ practicum.yandex.ru О рекламодателе

📔 nbconvert — это официальный инструмент проекта Jupyter для конвертации Jupyter Notebook (.ipynb) в различные форматы: HTML
📔 nbconvert — это официальный инструмент проекта Jupyter для конвертации Jupyter Notebook (.ipynb) в различные форматы: HTML, PDF, Markdown, LaTeX, слайды (Reveal.js) и другие. Основные возможности: 🔵Преобразование .ipynb в HTML, PDF, LaTeX, Markdown, reStructuredText и другие форматы. 🔵Создание слайд-презентаций из ноутбуков на основе Reveal.js. 🔵Поддержка шаблонов (Jinja2) для кастомизации внешнего вида и структуры вывода. 🔵Интеграция с Jupyter, возможность конвертации прямо из командной строки (jupyter nbconvert notebook.ipynb). 🔵Возможность встраивания исполняемого кода, графиков и медиа в конечные документы. 🔵API для использования в Python-скриптах. ➡️Установка: pip install nbconvert 📱 Репозиторий ⚙️ Документация ➡️Справочник Программиста. Подписаться

Приглашаем на Yandex Neuro Scale В этом году главная конференция Yandex Cloud объединит разработчиков, архитекторов, инженеро
Приглашаем на Yandex Neuro Scale В этом году главная конференция Yandex Cloud объединит разработчиков, архитекторов, инженеров и IT-руководителей, чтобы обменяться опытом и увидеть, как работают технологии, которые меняют индустрии. 7 тематических треков, 50+ докладов, реальные бизнес-кейсы и нетворкинг! ✨Участие бесплатное, нужно только зарегистрироваться!✨ Зарегистрироваться #реклама 16+ scale.yandex.cloud О рекламодателе Реклама на Яндексе

🚀 cement — это Python-фреймворк для создания интерфейсных (CLI) и серверных приложений. Cтабильная, гибкая и расширяемая осн
🚀 cement — это Python-фреймворк для создания интерфейсных (CLI) и серверных приложений. Cтабильная, гибкая и расширяемая основа, подходящая как для маленьких скриптов, так и для крупных многокомпонентных систем. Основные особенности: 🔵Интерфейсы через handler’ы для логирования, парсинга аргументов, конфигурации, вывода, кэширования, контроллеров, расширений и плагинов. 🔵Поддержка вложенных подкоманд и контроллеров для сложных CLI. 🔵Гибкая работа с конфигурацией (поддержка .conf, .yaml и других форматов). 🔵Система хуков и плагинов для расширяемости. 🔵Ноль внешних зависимостей у ядра. 🔵100% покрытие тестами и соответствие PEP‑8. ➡️Установка: pip install cement 📱 Репозиторий ⚙️ Документация ➡️Справочник Программиста. Подписаться

🌳anytree — это удобная Python-библиотека для создания, визуализации и работы с древовидными структурами данных с минимальным
🌳anytree — это удобная Python-библиотека для создания, визуализации и работы с древовидными структурами данных с минимальным количеством кода. Основные возможности: 🔵Создание деревьев с любой вложенностью 🔵Поддержка различных типов обхода: прямой, обратный, по уровням 🔵Автоматическое определение родителя и потомков 🔵Удобная текстовая визуализация дерева (RenderTree) 🔵Простая сериализация и десериализация ➡️Установка: pip install anytree 📱 Репозиторий ⚙️ Документация ➡️Справочник Программиста. Подписаться

📦 py7zr — это Python-библиотека для работы с архивами 7z (7zip) в чистом Python без зависимости от нативных бинарников 7-Zip
📦 py7zr — это Python-библиотека для работы с архивами 7z (7zip) в чистом Python без зависимости от нативных бинарников 7-Zip. Основные возможности: 🔵Чтение и распаковка .7z-архивов. 🔵Создание новых .7z-архивов с поддержкой сжатия. 🔵Поддержка AES-шифрования и паролей. 🔵Работа с потоками и файловыми объектами. 🔵Совместимость с многотомными архивами. ➡️Установка: pip install py7zr 📱 Репозиторий ⚙️ Документация ➡️Справочник Программиста. Подписаться

Получите IT профессию с официальным ДОКУМЕНТОМ! Не просто курсы – а полноценное образование с дипломом о профессиональной пер
Получите IT профессию с официальным ДОКУМЕНТОМ! Не просто курсы – а полноценное образование с дипломом о профессиональной переподготовке или удостоверением о повышении квалификации, внесенным в Росреестр! Выбирайте направление: -Web-разработчик -Инженер MikroTik -Специалист по AI и машинному обучению -Сетевой инженер -Linux-администратор -Python-программист -DevOps-инженер -Администратор Windows Server -Специалист по слаботочным сетям (СКС) Ваши гарантии: ✅Законный документ о квалификации ✅Право на ведение профдеятельности ✅Весомое преимущество при трудоустройстве ✅Поддержка ментора ✅Дистанционное обучение Инвестируйте в будущее – получите не только знания, но и официальную профессию! Перейти на сайт #реклама 16+ dms-it.ru О рекламодателе

💽 Код для контроля свободного места на Python Для контроля свободного места на диске в коде используется модуль psutil. ➡️Установка модуля: pip install psutil
import shutil

def check_disk_space(path='/'):
    try:
        total, used, free = shutil.disk_usage(path)
        return total, used, free
    except FileNotFoundError:
        print(f"Ошибка: Путь '{path}' не найден.")
        return None
    except Exception as e:
        print(f"Произошла ошибка: {e}")
        return None

def bytes_to_gb(bytes_value):
    """Конвертирует байты в гигабайты."""
    return bytes_value / (1024**3)

if __name__ == "__main__":
    # Можно указать путь, который необходимо проверить.
    # Для Windows используйте букву диска, например 'C:/'
    # Для Linux/macOS используйте '/' для корня или определенную точку монтирования, например '/home'
    path_to_check = '/' # Измените, если хотите проверить другой путь

    disk_info = check_disk_space(path_to_check)

    if disk_info:
        total_bytes, used_bytes, free_bytes = disk_info

        total_gb = bytes_to_gb(total_bytes)
        used_gb = bytes_to_gb(used_bytes)
        free_gb = bytes_to_gb(free_bytes)

        print(f"--- Информация о дисковом пространстве для '{path_to_check}' ---")
        print(f"Общий объем: {total_gb:.2f} GB")
        print(f"Использовано: {used_gb:.2f} GB")
        print(f"Свободно: {free_gb:.2f} GB")

        # Здесь можно добавить проверку порогового значения
        free_percentage = (free_bytes / total_bytes) * 100
        print(f"Свободно: {free_percentage:.2f}%")

        if free_percentage < 10:
            print("ВНИМАНИЕ: Свободное место на диске ниже 10%! Рассмотрите возможность очистки.")
    else:
        print("Не удалось получить информацию о дисковом пространстве.")
➡️Справочник Программиста. Подписаться