Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ImageConverter

CLI-утилита и десктопное приложение для конвертации изображений и аудио.

Возможности

CLI (imgconv)

  • Конвертация изображений: JPEG, PNG, WebP, HEIF, AVIF и др.
  • Пропорциональный ресайз с сохранением пропорций
  • Пакетная обработка файлов и папок (рекурсивно)
  • Конвертация аудио: OGG, Opus, MP3, WAV, FLAC и др.
  • Извлечение аудиодорожки из видео
  • Склейка аудиофайлов в указанном порядке

Desktop (GUI)

  • Flet-интерфейс для конвертации изображений
  • Выбор файлов и папок через диалог

Установка

uv sync

Требования: Python 3.13+, FFmpeg (для аудио).

Запуск CLI

# Справка
uv run imgconv --help

# Конвертация изображения
uv run imgconv convert photo.jpg -f webp

# Конвертация аудио
uv run imgconv audio convert song.mp3 -f ogg

# Извлечение аудио из видео
uv run imgconv audio extract video.mp4 -o audio.mp3

# Склейка аудиофайлов
uv run imgconv audio concat a.mp3 b.mp3 -o combined.mp3

Запуск Desktop (GUI)

uv run flet run main.py

Сборка .exe

uv run python build.py

Результат: dist/ImageConverter.exe (~72 MB)

Тесты

uv run pytest

Структура проекта

src/
  cli/
    main.py           — Click CLI (imgconv)
  core/
    converter.py      — логика конвертации изображений
    resize.py         — логика ресайза
    queue_manager.py  — управление очередью обработки
  audio/
    converter.py      — pydub: конвертация, извлечение, склейка
  ui/
    app.py            — Flet-интерфейс
    components.py     — переиспользуемые виджеты
  utils/
    format_helpers.py — маппинг форматов
    errors.py         — кастомные ошибки
docs/
  usage.md           — инструкция по использованию CLI
  commands.md        — справка по командам
tests/
  test_converter.py
  test_resize.py

Документация

About

CLI utility and desktop application for batch image and audio conversion. Supports JPEG, PNG, WebP, HEIF, AVIF and 20+ audio formats via FFmpeg. Built with Python, Pillow, and Flet GUI. Features queue manager, proportional resize, audio extraction from video, and cross-platform .exe build.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages