Skip to main content

Converts images from one format to another using Pillow. Currently supports JPG, PNG, BMP, and WebP.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Pillow Image-Format Converter

Description

pil_image_converter is a Python package for converting images between different formats using the Pillow library. It supports conversions between JPG, PNG, BMP, and WebP formats.

Contributions always welcome!

Features

  • Convert images between JPG, PNG, BMP, and WebP formats
  • Batch conversion of multiple images
  • Simple command-line interface
  • Skips conversion if the input and output formats are the same

Usage

Dependencies

  • Pillow >= 11.0.0

Setup

To set up the development environment:

  1. Clone the repository
  2. Install PDM if you haven't already: pip install pdm
  3. Install dependencies: pdm install
  4. Convert images: python main.py ./input_image.jpg ./output_image.png png

Using main.py directly as a CLI tool (Recommended)

If you've cloned the repository or downloaded the source code, you can use the main.py file directly:

  1. Navigate to the directory containing main.py
  2. Run the following command:

python main.py <input_path> <output_path> <output_format>

Example:

python main.py ./input_image.jpg ./output_image.png png

For batch conversion:

python main.py ./input_directory ./output_directory png

Note: You should use quotations for paths containing spaces. -> Ex.: python main.py "./input directory" "./output directory" jpg

Using the pil_image_converter package

You can use the Image_Converter package directly from the command line:

python -m pil_image_converter <input_path> <output_path> <output_format>

  • <input_path>: Path to the input image file or directory
  • <output_path>: Path to save the converted image(s)
  • <output_format>: Desired output format (jpg, png, bmp, or webp)

Example:

python -m pil_image_converter ./input_image.jpg ./output_image.png png

For batch conversion, provide a directory as the input path:

python -m pil_image_converter ./input_directory ./output_directory png

Using pil_image_converter in your own projects

  1. First, ensure you're working within a virtual environment with PDM:

    pdm install

  2. In your Python script, import the necessary functions:

from pil_image_converter import collect_images, ImageConverter

To convert a single image, use the ImageConverter class directly:

converter = ImageConverter('path/to/input/image.jpg', 'path/to/output/image.png', 'png')
converter.convert()

For batch conversion, you can pass in directories as arguments instead of individual image paths. Then, use the collect_images function and loop through the results:

from pil_image_converter import collect_images, ImageConverter

input_directory = 'path/to/input/directory'
output_directory = 'path/to/output/directory'
output_format = 'png'

image_files = collect_images(input_directory)

for input_path in image_files:
    filename = os.path.basename(input_path)
    name, _ = os.path.splitext(filename)
    output_path = os.path.join(output_directory, f"{name}.{output_format}")
    convert_image(input_path, output_path, output_format)

License

This project is licensed under the MIT License. See the LICENSE file for details.

Version

3.0.0

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

pil_image_converter-3.0.1.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

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

pil_image_converter-3.0.1-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

Details for the file pil_image_converter-3.0.1.tar.gz.

File metadata

  • Download URL: pil_image_converter-3.0.1.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.22.3 CPython/3.10.11 Windows/10

File hashes

Hashes for pil_image_converter-3.0.1.tar.gz
Algorithm Hash digest
SHA256 cbd4f8f3da6463e9be8e76a9e4fa6b10d79197b4b900dbd73135baec87b3a475
MD5 499e6dcbe529294202086f7485d0264b
BLAKE2b-256 8be7b2fdaca7922fdd970c4cc428dbbc5ba27ca89d53b9dea99d1c87ad9013f0

See more details on using hashes here.

File details

Details for the file pil_image_converter-3.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pil_image_converter-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 51df45733fea0de214fe8c86871fd43e79854f8236db5ccea34defab87f5d343
MD5 b2745a9daa1b8ae18b81c2640991e792
BLAKE2b-256 63c38d065778a4c01d4bec0c3cd5f196a3cb03262a7b1714020a2f1a19d8c4d5

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