Skip to main content

Fast libspng-based PNG decoder

Project description

Pyspng is a small library to for efficiently loading PNG files to numpy arrays. Pyspng does not offer any image manipulation functionality.

Pyspng was originally written to speed up loading uncompressed (PNG compression level 0), making the PNG file format more suitable to be used in machine learning datasets. Pyspng uses the native libspng library for fast PNG decoding. Synthetic benchmarks indicate pyspng to be roughly 2-3x faster in loading uncompressed PNGs than the Python Pillow library.

Example

import numpy as np
import pyspng

with open('test.png', 'rb') as fin:
    nparr = pyspng.load(fin.read())

Installation

pip install pyspng

Note: binary wheels are built for Linux and Windows. MacOS may not work out of the box.

License

pyspng is provided under a BSD-style license that can be found in the LICENSE file. By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.

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

pyspng-0.1.1.tar.gz (190.9 kB view hashes)

Uploaded Source

Built Distributions

pyspng-0.1.1-cp311-cp311-win_amd64.whl (126.6 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

pyspng-0.1.1-cp311-cp311-win32.whl (112.6 kB view hashes)

Uploaded CPython 3.11 Windows x86

pyspng-0.1.1-cp311-cp311-musllinux_1_1_x86_64.whl (728.0 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

pyspng-0.1.1-cp311-cp311-musllinux_1_1_i686.whl (794.9 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

pyspng-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (205.9 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyspng-0.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (216.2 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

pyspng-0.1.1-cp310-cp310-win_amd64.whl (126.7 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

pyspng-0.1.1-cp310-cp310-win32.whl (112.9 kB view hashes)

Uploaded CPython 3.10 Windows x86

pyspng-0.1.1-cp310-cp310-musllinux_1_1_x86_64.whl (728.0 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

pyspng-0.1.1-cp310-cp310-musllinux_1_1_i686.whl (795.0 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

pyspng-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (205.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyspng-0.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (216.3 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

pyspng-0.1.1-cp39-cp39-win_amd64.whl (126.0 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

pyspng-0.1.1-cp39-cp39-win32.whl (112.8 kB view hashes)

Uploaded CPython 3.9 Windows x86

pyspng-0.1.1-cp39-cp39-musllinux_1_1_x86_64.whl (728.0 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

pyspng-0.1.1-cp39-cp39-musllinux_1_1_i686.whl (794.7 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

pyspng-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (206.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyspng-0.1.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (216.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

pyspng-0.1.1-cp38-cp38-win_amd64.whl (126.7 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

pyspng-0.1.1-cp38-cp38-win32.whl (112.9 kB view hashes)

Uploaded CPython 3.8 Windows x86

pyspng-0.1.1-cp38-cp38-musllinux_1_1_x86_64.whl (727.9 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

pyspng-0.1.1-cp38-cp38-musllinux_1_1_i686.whl (794.8 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

pyspng-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (205.9 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pyspng-0.1.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (216.1 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

pyspng-0.1.1-cp37-cp37m-win_amd64.whl (126.9 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

pyspng-0.1.1-cp37-cp37m-win32.whl (113.9 kB view hashes)

Uploaded CPython 3.7m Windows x86

pyspng-0.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl (730.7 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

pyspng-0.1.1-cp37-cp37m-musllinux_1_1_i686.whl (797.0 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

pyspng-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (207.9 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

pyspng-0.1.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (219.1 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page