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.0.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.0-py3-none-any.whl (5.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pil_image_converter-3.0.0.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.0.tar.gz
Algorithm Hash digest
SHA256 d6edf8a88185198ba3bc082289bd56b051369ae9f5ff00af3dfeefa35bf2afe5
MD5 354253a49004b71b57a05321bae64b80
BLAKE2b-256 df9e38c2a886644e9fad49502a0260045fbbc0fcdcf3ead0c721339422263f74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pil_image_converter-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 27478d985e4a5fe7dc2d33108f112a8ffe6adda73f5222f8903d14a8b9132bd1
MD5 5af500fca34c4e46b9b7e4d8d827840c
BLAKE2b-256 dcd8adbc170462c376ee4a3610f0ada322b3d0767ddd31a4b3b2c2834d86e22f

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