Skip to main content

Unified CLI for all Peasy tools — PDF, image, text, and CSS utilities in one command.

Project description

peasy-convert

PyPI version Python License: MIT GitHub stars

Unified CLI for all Peasy developer tools. One peasy command that delegates to 8 specialized tool suites -- PDF manipulation, image processing, text analysis, CSS generation, file compression, document conversion, audio processing, and video editing. Install only the extras you need, or grab everything with peasy-convert[all].

Built from Peasy Tools, the open-source developer tools platform with 200+ free browser-based utilities across 15 categories. Every CLI command mirrors a tool available at peasytools.com -- use the web UI for quick one-off tasks, or the CLI for scripting and automation.

Try the interactive tools at peasytools.com -- PDF Tools, Image Tools, Text Tools, CSS Tools, Compress Tools, Audio Tools, Video Tools

peasy-convert demo — unified CLI with help and info commands

Table of Contents

Install

# Install with all 8 tool suites
pip install "peasy-convert[all]"

# Install specific tool suites only
pip install "peasy-convert[pdf]"        # PDF merge, split, compress, encrypt, rotate
pip install "peasy-convert[image]"      # Image resize, crop, convert, filter, watermark
pip install "peasy-convert[text]"       # Text case, slug, count, hash, encode, extract
pip install "peasy-convert[css]"        # CSS gradient, shadow, flexbox, grid, glass
pip install "peasy-convert[compress]"   # ZIP, TAR, gzip, bz2, lzma archive tools
pip install "peasy-convert[document]"   # Markdown, HTML, CSV, JSON conversion
pip install "peasy-convert[audio]"      # Audio convert, trim, merge, normalize, fade
pip install "peasy-convert[video]"      # Video trim, resize, extract audio, GIF

# Mix and match
pip install "peasy-convert[pdf,image,text]"

Quick Start

# PDF operations — merge, split, compress, encrypt
peasy pdf merge report1.pdf report2.pdf -o combined.pdf
peasy pdf split document.pdf --ranges 1-5 -o section.pdf
peasy pdf compress large.pdf -o smaller.pdf
peasy pdf encrypt doc.pdf --password secret -o protected.pdf

# Image operations — resize, crop, convert, filter
peasy image resize photo.png --width 800 -o thumb.png
peasy image convert photo.png webp -o photo.webp
peasy image grayscale color.jpg -o bw.jpg
peasy image watermark photo.png "Copyright 2026" -o marked.png

# Text operations — case, encode, extract, analyze
peasy text case "hello world" --target upper
peasy text slug "Hello World! 2026"
peasy text count "Lorem ipsum dolor sit amet"
peasy text base64 encode "Hello World"

# CSS generation — gradient, shadow, layout, effects
peasy css gradient "#ff6b35" "#f7c948" "#2ec4b6"
peasy css shadow --y 4px --blur 12px --color "rgba(0,0,0,0.15)"
peasy css flexbox --justify center --align center --gap 1rem

# Compression — ZIP, TAR, gzip, bz2, lzma
peasy compress zip-create file1.txt file2.txt -o archive.zip
peasy compress gzip largefile.log -o compressed.log.gz
peasy compress tar-create src/ tests/ -o project.tar

# Document conversion — Markdown, HTML, CSV, JSON
peasy document md-to-html README.md -o output.html
peasy document csv-to-json data.csv -o data.json
peasy document html-to-markdown page.html -o page.md

# Audio processing — convert, trim, merge, normalize
peasy audio convert song.wav --format mp3 -o song.mp3
peasy audio trim podcast.mp3 --start 5000 --end 60000 -o clip.mp3
peasy audio normalize recording.mp3 --target-dbfs -20 -o normalized.mp3

# Video editing — trim, resize, GIF, extract audio
peasy video trim input.mp4 -o clip.mp4 --start 10 --end 30
peasy video resize input.mp4 -o small.mp4 --width 720
peasy video to-gif input.mp4 -o preview.gif --fps 10 --width 480
peasy video extract-audio video.mp4 -o audio.mp3

How It Works

peasy-convert is the unified entry point for the Peasy CLI ecosystem. It uses Typer to mount sub-commands from each installed package at runtime:

peasy <suite> <command> [options]
  |       |        |
  |       |        +-- Specific operation (merge, resize, case, gradient, ...)
  |       +----------- Tool suite (pdf, image, text, css, compress, document, audio, video)
  +------------------- Single CLI entry point

Each tool suite is a standalone PyPI package with its own engine and CLI. When you install an extra like peasy-convert[pdf], it pulls in peasy-pdf which registers its commands under peasy pdf. If a suite is not installed, its subcommand simply does not appear -- no errors, no bloat.

# Under the hood — peasy-convert/cli.py
def _register_pdf() -> None:
    try:
        from peasy_pdf.cli import app as pdf_app
        app.add_typer(pdf_app, name="pdf", help="PDF tools")
    except ImportError:
        pass  # Not installed — skip silently

This architecture means you only install the dependencies you need. peasy-convert[text] pulls in zero heavy dependencies. peasy-convert[pdf] adds only pypdf. peasy-convert[image] adds Pillow. Pick what you need.

Available Tool Suites

PDF Tools

Install: pip install "peasy-convert[pdf]"

Powered by peasy-pdf -- PDF manipulation with pypdf. 17 commands covering merging, splitting, page manipulation, text extraction, metadata, encryption, and compression.

Command Description
peasy pdf merge Merge multiple PDFs into one
peasy pdf split Split PDF by page ranges or every N pages
peasy pdf rotate Rotate pages by 90, 180, or 270 degrees
peasy pdf reorder Reorder pages (e.g. --order 3,1,2)
peasy pdf reverse Reverse the page order
peasy pdf delete Delete specific pages
peasy pdf extract Extract specific pages into a new PDF
peasy pdf compress Reduce PDF file size
peasy pdf resize Resize pages to A3, A4, A5, Letter, Legal, Tabloid
peasy pdf crop Crop pages by removing margins
peasy pdf flatten Flatten form fields (make non-editable)
peasy pdf text Extract text content from pages
peasy pdf info Show page count, size, encryption status, metadata
peasy pdf metadata Get, set, or strip PDF metadata
peasy pdf encrypt Password-protect a PDF
peasy pdf decrypt Remove password protection
# Merge quarterly reports into one annual PDF
peasy pdf merge Q1.pdf Q2.pdf Q3.pdf Q4.pdf -o annual-report.pdf

# Extract pages 5-10 and compress the result
peasy pdf extract full.pdf --pages 5-10 -o section.pdf
peasy pdf compress section.pdf -o section-small.pdf

# Encrypt with user and owner passwords
peasy pdf encrypt doc.pdf --password reader123 --owner admin456 -o secure.pdf

Learn more: PeasyPDF Tools · peasy-pdf on PyPI

Image Tools

Install: pip install "peasy-convert[image]"

Powered by peasy-image -- image processing with Pillow. 14 commands for resizing, cropping, format conversion, filters, watermarks, and metadata stripping.

Command Description
peasy image resize Resize with aspect ratio preservation
peasy image crop Crop to a bounding box
peasy image rotate Rotate by any angle with configurable fill
peasy image flip Flip horizontal, vertical, or both
peasy image compress Reduce file size with quality control
peasy image convert Convert between PNG, JPEG, WebP, GIF, BMP, TIFF
peasy image grayscale Convert to grayscale
peasy image blur Apply Gaussian blur
peasy image sharpen Sharpen with adjustable factor
peasy image watermark Add text watermark with position, opacity, color
peasy image thumbnail Create square thumbnails
peasy image border Add a colored border
peasy image strip Remove EXIF metadata
peasy image info Show dimensions, format, mode, EXIF, alpha channel
# Resize a photo to 800px wide, maintaining aspect ratio
peasy image resize photo.jpg --width 800 -o photo-800.jpg

# Convert PNG to WebP for web optimization
peasy image convert screenshot.png webp -o screenshot.webp

# Add a watermark to a batch of images
for img in photos/*.jpg; do
  peasy image watermark "$img" "Copyright 2026" --opacity 100 -o "watermarked/$(basename $img)"
done

Learn more: PeasyImage Tools · peasy-image on PyPI

Text Tools

Install: pip install "peasy-convert[text]"

Powered by peasytext -- text analysis and transformation. 13 commands for case conversion, encoding, hashing, extraction, and formatting. All commands accept text as an argument or via stdin pipe.

Command Description
peasy text case Convert between upper, lower, title, camel, snake, kebab, pascal
peasy text slug Generate URL-friendly slugs
peasy text count Count characters, words, sentences, paragraphs, reading time
peasy text sort Sort lines (alpha, length, numeric, reverse, shuffle)
peasy text base64 Base64 encode or decode
peasy text url URL encode or decode
peasy text html HTML entity encode or decode
peasy text dedupe Remove duplicate lines
peasy text extract Extract emails, URLs, phones, IPs, hashtags, mentions
peasy text lorem Generate Lorem Ipsum placeholder text
peasy text reverse Reverse by characters, words, or lines
peasy text json Format, minify, or validate JSON
# Convert variable names between coding conventions
peasy text case "getUserName" --target snake    # get_user_name
peasy text case "get_user_name" --target pascal # GetUserName

# Generate a URL slug from a blog title
peasy text slug "How to Build a REST API in 2026"  # how-to-build-a-rest-api-in-2026

# Extract all email addresses from a document
cat contacts.txt | peasy text extract emails

# Count words and estimate reading time
cat article.md | peasy text count

Learn more: PeasyText Tools · peasytext on PyPI

CSS Tools

Install: pip install "peasy-convert[css]"

Powered by peasy-css -- CSS code generation with zero dependencies. 7 generators for gradients, shadows, layouts, and modern CSS effects. All output is syntax-highlighted in the terminal.

Command Description
peasy css gradient Linear, radial, or conic gradient with multiple color stops
peasy css shadow Box shadow with offset, blur, spread, color, inset
peasy css flexbox Flexbox layout with direction, wrap, justify, align, gap
peasy css grid CSS Grid with columns, rows, gap
peasy css border-radius Per-corner border radius
peasy css glass Glassmorphism effect with backdrop blur
peasy css clamp Fluid typography with clamp() for responsive font sizing
# Generate a sunset gradient
peasy css gradient "#ff6b35" "#f7c948" "#2ec4b6" --direction "to bottom right"

# Create a neumorphic shadow
peasy css shadow --y 4px --blur 12px --color "rgba(0,0,0,0.15)" --selector ".card"

# Build a responsive grid layout
peasy css grid --columns "repeat(auto-fill, minmax(300px, 1fr))" --gap 2rem

# Generate fluid typography for headings
peasy css clamp --min 1.5rem --preferred 4vw --max 3rem --selector h1

Learn more: PeasyCSS Generators · peasy-css on PyPI

Compress Tools

Install: pip install "peasy-convert[compress]"

Powered by peasy-compress -- archive and compression using only Python stdlib. Zero dependencies. 12 commands for ZIP, TAR, gzip, bz2, and lzma operations.

Command Description
peasy compress zip-create Create a ZIP archive from files
peasy compress zip-extract Extract all files from a ZIP
peasy compress zip-list List ZIP archive contents with sizes
peasy compress tar-create Create a TAR archive (plain, gz, bz2, xz)
peasy compress tar-extract Extract files from a TAR archive
peasy compress tar-list List TAR archive contents
peasy compress gzip Compress a file with gzip
peasy compress gunzip Decompress a gzip file
peasy compress bz2 Compress a file with bz2
peasy compress bunzip2 Decompress a bz2 file
peasy compress xz Compress a file with lzma/xz
peasy compress unxz Decompress an xz file
# Create a ZIP archive of project files
peasy compress zip-create src/main.py src/utils.py README.md -o project.zip

# Compress a log file with gzip (level 9 = max compression)
peasy compress gzip access.log -o access.log.gz --level 9

# Create a compressed TAR archive
peasy compress tar-create *.py --compression gz -o scripts.tar.gz

# List contents of an archive without extracting
peasy compress zip-list project.zip

Learn more: peasy-compress on PyPI

Document Tools

Install: pip install "peasy-convert[document]"

Powered by peasy-document -- document format conversion between Markdown, HTML, CSV, and JSON. 6 conversion commands with stdin/stdout support.

Command Description
peasy document md-to-html Convert Markdown to HTML
peasy document html-to-text Strip HTML tags, extract plain text
peasy document html-to-markdown Convert HTML to Markdown
peasy document csv-to-json Convert CSV to JSON array
peasy document json-to-csv Convert JSON array of objects to CSV
peasy document csv-to-markdown Convert CSV to a Markdown table
# Convert a README to HTML for web publishing
peasy document md-to-html README.md -o index.html

# Convert CSV data to JSON for API consumption
peasy document csv-to-json users.csv -o users.json

# Generate a Markdown table from CSV data
peasy document csv-to-markdown metrics.csv -o metrics-table.md

# Strip HTML to plain text for indexing
peasy document html-to-text page.html -o content.txt

Learn more: peasy-document on PyPI

Audio Tools

Install: pip install "peasy-convert[audio]"

Powered by peasy-audio -- audio processing with pydub. Requires FFmpeg on your system. 9 commands for format conversion, trimming, merging, normalization, and effects.

Command Description
peasy audio convert Convert between MP3, WAV, OGG, FLAC, AAC
peasy audio trim Trim to a time range (start/end in milliseconds)
peasy audio merge Merge multiple audio files into one
peasy audio normalize Normalize volume to a target dBFS level
peasy audio volume Adjust volume by a specified number of decibels
peasy audio fade Apply fade-in and/or fade-out effects
peasy audio reverse Reverse audio playback
peasy audio speed Change playback speed
peasy audio info Show duration, channels, sample rate, bitrate, file size
# Convert WAV to MP3 at 192kbps
peasy audio convert recording.wav --format mp3 --bitrate 192k -o recording.mp3

# Trim a podcast to the first 60 seconds
peasy audio trim episode.mp3 --start 0 --end 60000 -o intro.mp3

# Normalize volume and add fade effects
peasy audio normalize raw.mp3 --target-dbfs -20 -o normalized.mp3
peasy audio fade normalized.mp3 --fade-in 2000 --fade-out 3000 -o final.mp3

# Merge multiple clips into one file
peasy audio merge intro.mp3 main.mp3 outro.mp3 -o full-episode.mp3

Learn more: PeasyAudio Tools · peasy-audio on PyPI

Video Tools

Install: pip install "peasy-convert[video]"

Powered by peasy-video -- video processing with moviepy. Requires FFmpeg on your system. 8 commands for trimming, resizing, audio extraction, GIF conversion, and concatenation.

Command Description
peasy video info Show duration, resolution, FPS, audio, frame count, file size
peasy video trim Trim to a time range (start/end in seconds)
peasy video resize Resize with aspect ratio preservation
peasy video extract-audio Extract audio track as MP3, WAV, OGG, or AAC
peasy video thumbnail Capture a single frame as PNG
peasy video speed Change playback speed
peasy video to-gif Convert video to animated GIF
peasy video concat Concatenate multiple videos
# Trim a screencast to the relevant portion
peasy video trim recording.mp4 -o clip.mp4 --start 15 --end 120

# Create a GIF preview for a README
peasy video to-gif demo.mp4 -o demo.gif --fps 12 --width 800

# Extract audio from a video lecture
peasy video extract-audio lecture.mp4 -o lecture.mp3 --format mp3

# Concatenate day 1 and day 2 footage
peasy video concat day1.mp4 day2.mp4 -o full.mp4

Learn more: PeasyVideo Tools · peasy-video on PyPI

Info Command

Check which tool suites are installed and their versions:

peasy info

Output:

Peasy Convert — Installed packages:

  peasy-convert  0.1.0
  peasy-pdf      0.1.0
  peasy-image    0.1.0
  peasytext      0.1.0
  peasy-css      0.1.0

Install extras: pip install 'peasy-convert[all]'

Uninstalled packages show (not installed) so you can see exactly what is available.

Command Reference

Complete list of all 86 commands across 8 tool suites:

Suite Commands Dependencies
peasy pdf merge, split, rotate, reorder, reverse, delete, extract, compress, resize, crop, flatten, text, info, metadata, encrypt, decrypt pypdf
peasy image resize, crop, rotate, flip, compress, convert, grayscale, blur, sharpen, watermark, thumbnail, border, strip, info Pillow
peasy text case, slug, count, sort, base64, url, html, dedupe, extract, lorem, reverse, json (none)
peasy css gradient, shadow, flexbox, grid, border-radius, glass, clamp (none)
peasy compress zip-create, zip-extract, zip-list, tar-create, tar-extract, tar-list, gzip, gunzip, bz2, bunzip2, xz, unxz (none)
peasy document md-to-html, html-to-text, html-to-markdown, csv-to-json, json-to-csv, csv-to-markdown markdown
peasy audio convert, trim, merge, normalize, volume, fade, reverse, speed, info pydub, FFmpeg
peasy video info, trim, resize, extract-audio, thumbnail, speed, to-gif, concat moviepy, FFmpeg

Peasy Developer Tools

Package PyPI npm Description
peasytext PyPI npm Text analysis -- case, encoding, hashing, diff -- peasytext.com
peasy-pdf PyPI npm PDF processing -- merge, split, compress, rotate -- peasypdf.com
peasy-image PyPI npm Image ops -- resize, crop, convert, filter -- peasyimage.com
peasy-css PyPI npm CSS generation -- gradients, shadows, flexbox, grid -- peasycss.com
peasy-compress PyPI npm Archive & compression -- ZIP, TAR, gzip, bz2, lzma -- peasytools.com
peasy-document PyPI npm Document conversion -- Markdown, HTML, CSV, JSON -- peasytools.com
peasy-audio PyPI -- Audio processing -- convert, trim, merge, normalize -- peasyaudio.com
peasy-video PyPI -- Video editing -- trim, resize, GIF, extract audio -- peasyvideo.com
peasy-convert PyPI -- Unified CLI -- all 8 tool suites in one peasy command
peasy-mcp PyPI -- Unified MCP server for AI assistants (Claude, Cursor, Windsurf)

Part of the Peasy developer tools ecosystem -- 200+ free tools across 15 categories.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

peasy_convert-0.1.3.tar.gz (621.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

peasy_convert-0.1.3-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file peasy_convert-0.1.3.tar.gz.

File metadata

  • Download URL: peasy_convert-0.1.3.tar.gz
  • Upload date:
  • Size: 621.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for peasy_convert-0.1.3.tar.gz
Algorithm Hash digest
SHA256 aa09d46c7edbc8ace002d7f934a1a1f07e13965a848e552440d793589cd21370
MD5 edf6cebe3dda324e38d5a826e7ef85cb
BLAKE2b-256 9b16de05016ed84fde94620bc0d6f34a636ed2c7535355c17ca372cc33e611d9

See more details on using hashes here.

File details

Details for the file peasy_convert-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: peasy_convert-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for peasy_convert-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 489dace1e01db8aa9a5dd591ea7158ac09182d10ed2c78c71a0ce534632b7714
MD5 f0d1f8c52551d4b593f8fa93137e950f
BLAKE2b-256 06f72aa956e06490b3c1e3611ad1c11000c9adead92acc86d0197b9a053c6ddf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page