Skip to content

DavisRayM/image-transformer

Repository files navigation

Image Transformer API

Swagger Docs

An Image Processing RPC API plus an accompanying CLI tool that utilizes the RPC API to perform image transformations.

The program can be used to batch various image transformation operations. NOTE: The operations are applied to the image in order

Running the Project

This project utilizes Python with UV as the package manager. One can run the package with uv using the following commands:

Run Server

$ uv run server.py

Run Client

$ uv run client.py

Supported Transformation Operations

  • Flipping: Horizontally and vertically
  • Rotation: Rotate images by specified -/+n degrees, as well as a predefined rotate left and rotate right.
  • Grayscale conversion: Transform images to grayscale.
  • Resizing: Adjust image dimensions to supplied dimensions.
  • Thumbnail creation: Create a smaller 30x30 image.

Supported Formats

The service supports a plethora of image formats, thanks to PIL. An comprehensive list of all supported file formats can be found here.

Design Pattern

The implementation of the API adheres to the Single Responsibility Principle, ensuring that each function is designed to perform a single, well-defined task i.e rotate_image only rotates an image.

About

Image Transformation RPC API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors