Skip to content

biellSilva/python-webp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyWebp: Image to WebP Converter

Pywebp is a versatile command-line tool written in Python for converting images to the WebP format. WebP offers superior lossless and lossy compression, enabling smaller, richer images that enhance web performance.

Key Features

  • Ease of Use: Convert single images or entire directories with simple commands.
  • Versatility: Options for recursive processing and maintaining directory structure.
  • Quality Control: Adjust output quality, optimize, and resize images.
  • Advanced Features:
    • Multithreading for faster processing of large batches.
    • Verbose output for detailed feedback or quiet mode for minimal output.
    • Unlink input images after processing to manage disk space.

Whether you're a web developer optimizing site images or a photographer converting your portfolio, Pywebp provides a comprehensive solution for your image conversion needs.

Arguments

Positional Parameters

  • input: Input directory. Default is the current directory.
  • output: Output directory. Default is the current directory.

Options

  • resize: Resize image to the given size. e.g., 640x800.
  • min-width: Skips images that are smaller than the given width.
  • min-height: Skips images that are smaller than the given height.
  • max-width: Skips images that are larger than the given width.
  • max-height: Skips images that are larger than the given height.
  • keep-aspect-ratio: Keep the original aspect ratio while resizing. Default is True.
  • files-format: Input files format. e.g., png, jpg, jpeg.
  • quality: Integer, 0-100. For lossy, 0 gives the smallest size and 100 the largest. For lossless, this parameter is the amount of effort put into the compression: 0 is the fastest, but gives larger files compared to the slowest, but best, 100. Default is 80.
  • alpha-quality: Integer, 0-100. For lossy compression only. 0 gives the smallest size and 100 is lossless. Default is 100.
  • lossless: Enable lossless compression. Default is False.
  • method: Quality/speed trade-off (0=fast, 6=slower-better). Default is 4.
  • exact: If true, preserve the transparent RGB values. Otherwise, discard invisible RGB values for better compression. Default is False.
  • keep-directory: Keep the directory structure of the input. Default is True.
  • recursive: Convert images in subdirectories. Default is False.
  • use-threads: Use multiple threads. Default is False.
  • threads: Number of threads to use. None = Max possible (4 * N of cores, limited to 32).
  • unlink: Unlink/delete the input files. Default is False.
  • ignore-existing: Ignore existing files. Default is True.

Usage

To convert images using Pywebp, you can use the following command:

pywebp convert ./input_directory ./output_directory --resize 640x800 --quality 90 --lossless --recursive

This command will:

  • Convert all images in the ./images directory to WebP format.
  • Resize the images to 640x800 pixels.
  • Set the quality of the output images to 90.
  • Enable lossless compression.
  • Process images in subdirectories of the ./images directory.

You can adjust the parameters as needed to fit your specific use case.

About

A versatile command-line tool written in Python for converting images to the WebP format.

Topics

Resources

License

Stars

Watchers

Forks

Languages