Turn images into pixel arts.
Project description
Description
Turn images into pixel arts.
Documentation
Documentation is available on https://dashstrom.github.io/pixelize
Installation
You can install pixelize
using pip
from PyPI
pip install pipx
pipx ensurepath
pipx install pixelize
You can also install gpu support for rembg dependency using:
pipx inject pixelize rembg[gpu]
Usage
pixelize --version
pixelize --help
Example: Cropping
pixelize \
-i ./docs/examples/car.jpg \
--height 128 \
--crop 0x80+136x216 \
--color-reduction 4 \
--output-dir ./docs/examples/pixelized
Example: Border
pixelize \
-i ./docs/examples/cat.bmp \
--height 32 \
--border \
--output-dir ./docs/examples/pixelized
Example: Rembg
pixelize \
-i swing.jpg \
--height 128 \
--rembg \
--border \
--color-reduction 5
Example: Module
from pixelize import pixelize
from pathlib import Path
from PIL import Image
image_path = "image.png"
# Using str
im = pixelize(image_path)
# Using pathlib.Path
im = pixelize(Path(image_path))
# Using stream
with open("image.png", "rb") as file:
im = pixelize(file)
# Using Pillow
im = pixelize(Image.open("image.png"))
Development
Contributing
Contributions are very welcome. Tests can be run with poe check
, please
ensure the coverage at least stays the same before you submit a pull request.
Setup
You need to install Poetry and Git for work with this project.
git clone https://github.com/Dashstrom/pixelize
cd pixelize
poetry install --all-extras
poetry run poe setup
poetry shell
Poe
Poe is available for help you to run tasks.
test Run test suite.
lint Run linters : ruff linter, ruff formatter and mypy.
format Run linters in fix mode.
check Run all checks : lint, test and docs.
cov Run coverage for generate report and html.
open-cov Open html coverage report in webbrowser.
docs Build documentation.
open-docs Open documentation in webbrowser.
setup Setup pre-commit.
pre-commit Run pre-commit.
clean Clean cache files
Skip commit verification
If the linting is not successful, you can’t commit. For forcing the commit you can use the next command :
git commit --no-verify -m 'MESSAGE'
Commit with commitizen
To respect commit conventions, this repository uses Commitizen.
cz commit
How to add dependency
poetry add 'PACKAGE'
Ignore illegitimate warnings
To ignore illegitimate warnings you can add :
# noqa: ERROR_CODE on the same line for ruff.
# type: ignore[ERROR_CODE] on the same line for mypy.
# pragma: no cover on the same line to ignore line for coverage.
# doctest: +SKIP on the same line for doctest.
Uninstall
pip uninstall pixelize
License
This work is licensed under MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pixelize-0.0.2.tar.gz
.
File metadata
- Download URL: pixelize-0.0.2.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 520e33bb8d972b8d511a83b96a56774c7475f39ac34f56345eaf1aaa791aa3e9 |
|
MD5 | 174550dc56c4bf1d1721af57052525c5 |
|
BLAKE2b-256 | b33a78aa9c9c05ac986babf52fd5cf72a6331f04fba957c5174a6f991d91a131 |
File details
Details for the file pixelize-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: pixelize-0.0.2-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d20538ef3b21788d1f5b5bcb9b14101e3233c0830871bd83084e127091d4ae4 |
|
MD5 | 720e04a50d3564a1ff8f68cac7a21073 |
|
BLAKE2b-256 | 47a46f562bd2e2e6daf9948058534a599fed06e15db0364e8921949a895cd6fe |