pyoxipng
Python wrapper for multithreaded .png image file optimizer oxipng
Decision gist · record as of 2026-08-14
Yes, if you need to optimize PNG files in Python and want a fast, dependency-free solution. The prebuilt wheels make installation straightforward on common platforms. The aging maintenance status (358 days since last release) is a minor concern but not a blocker—the package is stable and has no known vulnerabilities. Install if PNG optimization is a core need; skip if you only occasionally compress images.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.8; prebuilt wheels available for Python 3.10 and 3.11 on common platforms.
- Medium install friction due to compiled wheels; prebuilt binaries are available for Python 3.10 and 3.11 across macOS, Linux, Windows, and musl environments.
- Repository shows aging maintenance (358 days since last release) but remains active with no archived status.
License · maintenance · safety
permissive license (permissive) — Licensed under MIT (permissive), allowing use in commercial and proprietary projects with minimal restrictions.
last release 2025-08-21 (358 days) · last repo commit 2025-08-21 · 25 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 84,814 downloads/mo, #13,969 on PyPI
Alternatives
Verify before relying
pip install pyoxipng
import pyoxipng
# Optimize a PNG file on disk
pyoxipng.optimize("/path/to/image.png")
# Or optimize and save to a new location
pyoxipng.optimize("/path/to/image.png", "/path/to/optimized.png")- Actual file size reduction achieved on typical PNG images (varies by image type and optimization level)
- Performance characteristics compared to other PNG optimizers or the native CLI tool
- Whether the package is actively maintained beyond the 358-day release cycle
- Support for Python versions other than 3.10 and 3.11 (fact sheet shows wheels only for these versions)
What it is and what it does
pyoxipng is a Python wrapper around a multithreaded PNG optimizer written in Rust. It provides three main ways to optimize PNG images: compress files on disk, process PNG data already in memory, or create optimized PNGs from raw image data. The package supports multiple color types (grayscale, RGB, indexed, RGBA) and bit depths, plus advanced options like compression level, interlacing, alpha optimization, and bit depth reduction.
The wrapper has no Python runtime dependencies, relying entirely on precompiled Rust binaries. It's designed for developers who need to reduce PNG file sizes programmatically—either in batch processing pipelines, image serving infrastructure, or tools that generate PNGs. The underlying engine handles the heavy lifting with multithreading, so the Python layer is thin and fast.
Use it for
- Batch-optimize PNG images in a web asset pipeline before deployment to reduce bandwidth and load times.
- Compress PNG screenshots or generated graphics in automated testing or documentation workflows.
- Reduce file sizes of PNGs created from raw pixel data before storage or transmission.
- Optimize PNG images in a content management system or image processing service.
- Create optimized PNG output from indexed color or grayscale data with custom color profiles or transparency.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to optimize PNG files in Python and want a fast, dependency-free solution.
The prebuilt wheels make installation straightforward on common platforms. The aging maintenance status (358 days since last release) is a minor concern but not a blocker—the package is stable and has no known vulnerabilities. Install if PNG optimization is a core need; skip if you only occasionally compress images.
Install
pyoxipng on PyPI
Before you install
Medium install friction due to compiled wheels; prebuilt binaries are available for Python 3.10 and 3.11 across macOS, Linux, Windows, and musl environments. Repository shows aging maintenance (358 days since last release) but remains active with no archived status.
Requires Python >=3.8; prebuilt wheels available for Python 3.10 and 3.11 on common platforms.
License in practice
Licensed under MIT (permissive), allowing use in commercial and proprietary projects with minimal restrictions.
Quickstart
pip install pyoxipng
import pyoxipng
# Optimize a PNG file on disk
pyoxipng.optimize("/path/to/image.png")
# Or optimize and save to a new location
pyoxipng.optimize("/path/to/image.png", "/path/to/optimized.png")
Verify before relying
- Actual file size reduction achieved on typical PNG images (varies by image type and optimization level)
- Performance characteristics compared to other PNG optimizers or the native CLI tool
- Whether the package is actively maintained beyond the 358-day release cycle
- Support for Python versions other than 3.10 and 3.11 (fact sheet shows wheels only for these versions)
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Aging 358 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 84,814 / month, #13,969 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyProgramming Language :: RustTopic :: Utilities |
Evidence: pyoxipng-9.1.1-cp310-cp310-macosx_10_12_x86_64.whl; pyoxipng-9.1.1-cp310-cp310-macosx_11_0_arm64.whl; pyoxipng-9.1.1-cp310-cp310-manylinux_2_28_aarch64.whl; pyoxipng-9.1.1-cp310-cp310-manylinux_2_28_x86_64.whl; pyoxipng-9.1.1-cp310-cp310-musllinux_1_2_aarch64.whl; pyoxipng-9.1.1-cp310-cp310-musllinux_1_2_armv7l.whl; pyoxipng-9.1.1-cp310-cp310-musllinux_1_2_i686.whl; pyoxipng-9.1.1-cp310-cp310-musllinux_1_2_x86_64.whl; pyoxipng-9.1.1-cp310-cp310-win32.whl; pyoxipng-9.1.1-cp310-cp310-win_amd64.whl; pyoxipng-9.1.1-cp311-cp311-macosx_10_12_x86_64.whl; pyoxipng-9.1.1-cp311-cp311-macosx_11_0_arm64.whl; pyoxipng-9.1.1-cp311-cp311-manylinux_2_28_aarch64.whl; pyoxipng-9.1.1-cp311-cp311-manylinux_2_28_x86_64.whl; pyoxipng-9.1.1-cp311-cp311-musllinux_1_2_aarch64.whl; pyoxipng-9.1.1-cp311-cp311-musllinux_1_2_armv7l.whl; pyoxipng-9.1.1-cp311-cp311-musllinux_1_2_i686.whl; pyoxipng-9.1.1-cp311-cp311-musllinux_1_2_x86_64.whl; pyoxipng-9.1.1-cp311-cp311-win32.whl; pyoxipng-9.1.1-cp311-cp311-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “png file compression”
- pyoxipngpyoxipng reduces PNG file sizes through compression, offering…
- qoiA Python wrapper for the QOI (Quite OK Image) lossless image format…
- tifffileRead and write TIFF files and TIFF-like formats (BigTIFF, OME-TIFF,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also pypng · pyjpegls · pixelhog · cramjam · qoi · epaper-dithering · img2pdf · python-resize-image · onnxslim · blurhash