/PixiPi

The swiss army knife for working with images ⚒️

Primary LanguagePythonMIT LicenseMIT

PixiPi

The swiss army knife for working with images ⚒️



Tired of searching for online tools for tweaking your image as you please? If yes then PixiPi might just be the right tool for you 🪄

What is it? 💡

PixiPi is a simple command line toolkit for images. It was designed to have a minimal interface while offering a seamless user experience. With PixiPi, you can change the format of your image, resize it - enlarge or shrink an image and much more. The application is still in an early stage and a lot more features are being planned to be integrated in the not so distant future. But until then why wait.. give it a try and share your thoughts on it or maybe even open a pull request 😉

Team Members

  1. Sreelakshmi AR
  2. Aravind S

Team ID

Python/619

Link to product walkthrough

Loom Link: PixiPi - Product Walkthrough

Product_Walkthrough.mp4

How it works?

  • The command line interface is powered by Typer library in python
  • Typer application uses custom decorators to convert python fuctions to CLI commands
  • The image manipulation functions of the program is handled by Pillow library

Libraries used

Library Version
click 8.0.4
colorama 0.4.4
Pillow 9.0.1
shellingham 1.4.0
typer 0.4.0

How to configure

Step 1: Clone the repository

$ git clone https://github.com/aravinds-arv/PixiPi.git

Step 2: Change directory

$ cd PixiPi

Step 3: Create a virtual environment (optional)

$ python -m venv venv

Step 4: Activate the virtual environment

$ source venv/bin/activate

Step 5: Install all requirements

$ pip install -r requirements.txt

Step 6: Finally run PixiPi 🎉

$ python main.py

How to Run

Interactive menu driven 📃

Just run the program without any arguements and follow the prompts and options

$ python main.py

CLI command driven 💻

  1. To Convert any image file to specified filetype
$ python main.py converto [TYPE]:[jpg|png|ico|bmp] [FILEPATH]
  1. To reduce/shrink the size of the image by a specified factor
$ python main.py reduceby [FACTOR] [FILEPATH]
  1. To reduce/shrink the size of the image by a specified factor
$ python main.py enlarge [FACTOR] [FILEPATH]
  1. To display help
$ python main.py help