Skip to main content

A nanobind python API for apngasm, a tool/library for APNG assembly & disassembly with compression support.

Project description

apngasm-python

A nanobind API for apngasm, which is a tool/library for APNG assembly & disassembly with compression support.

apngasm is originally a CLI program for quickly assembling PNG images into animated PNG (APNG). It also supports creating compressed APNG.

apngasm-python is a binding for apngasm using nanobind, allowing you to use apngasm without calling it using commands.

With this module, you can even create APNG using images inside memory (No need to write them out as file and call apngasm! This is about 2 times faster from testing.)

A similar python module is https://github.com/eight04/pyAPNG , which handles APNG files with python natively and does not support compression.

For convenience, prebuilt library is packaged with this module, so you need not download apngasm.

Documentations: https://apngasm-python.readthedocs.io/en/latest/

Install

pip install apngasm-python

Pillow and numpy are optional dependencies. Without them, some functions are not usable. To also install them:

pip install apngasm-python[full]

Example usage

The recommended usage is to from apngasm_python.apngasm import APNGAsmBinder, see example/example_binder.py

from apngasm_python.apngasm import APNGAsmBinder
import numpy as np
from PIL import Image
import os

apngasm = APNGAsmBinder()

# From file
for file_name in sorted(os.listdir("samples/frames")):
    # To adjust frame duration, set delay_num and delay_den
    # The frame duration will be (delay_num / delay_den) seconds
    apngasm.add_frame_from_file(file_path=os.path.join("samples/frames", file_name), delay_num=100, delay_den=1000)
    
# Default value of loops is 0, which is infinite looping of APNG animation
# This sets the APNG animation to loop for 3 times before stopping
apngasm.set_loops(3)
apng.assemble("samples/result-from-file.apng")
apngasm.reset()

# From Pillow
for file_name in sorted(os.listdir("samples/frames")):
    image = Image.open(os.path.join("samples/frames", file_name)).convert("RGBA")
    frame = apngasm.add_frame_from_pillow(image, delay_num=50, delay_den=1000)
apngasm.assemble("result-from-pillow.apng")
apngasm.reset()

# Disassemble and get pillow image of one frame
# You can use with statement to avoid calling reset()
with APNGAsmBinder() as apng:
    frames = apng.disassemble_as_pillow("samples/input/ball.apng")
    frame = frames[0]
    frame.save("samples/output/ball0.png")

# Disassemble all APNG into PNGs
apngasm.save_pngs("samples/output")

Alternatively, you can reduce overhead and do advanced tasks by calling methods directly, see example/example_direct.py

from apngasm_python._apngasm_python import APNGAsm, APNGFrame, create_frame_from_rgb, create_frame_from_rgba
import numpy as np
from PIL import Image
import os

apngasm = APNGAsm()

# From file
for file_name in sorted(os.listdir("samples/frames")):
    # To adjust frame duration, set delay_num and delay_den
    # The frame duration will be (delay_num / delay_den) seconds
    apngasm.add_frame_from_file(file_path=os.path.join("samples/frames", file_name), delay_num=100, delay_den=1000)
    
# Default value of loops is 0, which is infinite looping of APNG animation
# This sets the APNG animation to loop for 3 times before stopping
apngasm.set_loops(3)
apng.assemble("samples/result-from-file.apng")

# From Pillow
apngasm.reset()
for file_name in sorted(os.listdir("samples/frames")):
    image = Image.open(os.path.join("samples/frames", file_name)).convert("RGBA")
    frame = create_frame_from_rgba(np.array(image), image.width, image.height)
    frame.delay_num = 50
    frame.delay_den = 1000
    apngasm.add_frame(frame)
apngasm.assemble("samples/result-from-pillow.apng")

# Disassemble and get pillow image of one frame
apngasm.reset()
frames = apngasm.disassemble("samples/input/ball.apng")
frame = frames[0]
im = Image.frombytes(mode, (frame.width, frame.height), frame.pixels)
im.save("samples/output/ball0.png")

# Disassemble all APNG into PNGs
apngasm.save_pngs("samples/output")

The methods are based on apngasm.h and apngframe.h

You can get more info about the binding from src/apngasm_python.cpp, or by...

from apngasm_python import _apngasm_python
help(_apngasm_python)

Building from source

git clone --recursive https://github.com/laggykiller/apngasm-python.git
cd apngasm-python

# To build wheel
python3 -m build .

# To install directly
pip3 install .

To cross-compile, please set environment variables:

# Choose only one

# On Windows (cmd, not PowerShell)
set APNGASM_COMPILE_TARGET=x86_64
set APNGASM_COMPILE_TARGET=x86
set APNGASM_COMPILE_TARGET=armv8

# On *nix
export APNGASM_COMPILE_TARGET=x64
export APNGASM_COMPILE_TARGET=x86
export APNGASM_COMPILE_TARGET=armv8
export APNGASM_COMPILE_TARGET=ppc64le
export APNGASM_COMPILE_TARGET=s390x

Development

To run tests:

pip install pytest
pytest

To lint:

pip install ruff mypy isort
mypy
isort .
ruff check
ruff format

Credits

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

apngasm_python-1.3.0.tar.gz (664.3 kB view details)

Uploaded Source

Built Distributions

apngasm_python-1.3.0-pp310-pypy310_pp73-win_amd64.whl (604.7 kB view details)

Uploaded PyPy Windows x86-64

apngasm_python-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (488.8 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

apngasm_python-1.3.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (514.2 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

apngasm_python-1.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (468.6 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

apngasm_python-1.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl (400.6 kB view details)

Uploaded PyPy macOS 11.0+ ARM64

apngasm_python-1.3.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (449.6 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

apngasm_python-1.3.0-pp39-pypy39_pp73-win_amd64.whl (604.8 kB view details)

Uploaded PyPy Windows x86-64

apngasm_python-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (488.8 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

apngasm_python-1.3.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (514.1 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

apngasm_python-1.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (468.7 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

apngasm_python-1.3.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl (400.6 kB view details)

Uploaded PyPy macOS 11.0+ ARM64

apngasm_python-1.3.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (449.6 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

apngasm_python-1.3.0-pp38-pypy38_pp73-win_amd64.whl (604.8 kB view details)

Uploaded PyPy Windows x86-64

apngasm_python-1.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (488.7 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

apngasm_python-1.3.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (514.1 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ i686

apngasm_python-1.3.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (468.6 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

apngasm_python-1.3.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl (400.5 kB view details)

Uploaded PyPy macOS 11.0+ ARM64

apngasm_python-1.3.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (449.3 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

apngasm_python-1.3.0-cp39-cp39-win_arm64.whl (550.7 kB view details)

Uploaded CPython 3.9 Windows ARM64

apngasm_python-1.3.0-cp38-cp38-win_amd64.whl (607.1 kB view details)

Uploaded CPython 3.8 Windows x86-64

apngasm_python-1.3.0-cp38-cp38-win32.whl (524.6 kB view details)

Uploaded CPython 3.8 Windows x86

apngasm_python-1.3.0-cp38-cp38-musllinux_1_1_x86_64.whl (633.2 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

apngasm_python-1.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl (716.2 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ ppc64le

apngasm_python-1.3.0-cp38-cp38-musllinux_1_1_i686.whl (643.5 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

apngasm_python-1.3.0-cp38-cp38-musllinux_1_1_aarch64.whl (621.7 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

apngasm_python-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (492.5 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

apngasm_python-1.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (553.6 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

apngasm_python-1.3.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (517.2 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

apngasm_python-1.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (471.6 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

apngasm_python-1.3.0-cp38-cp38-macosx_11_0_arm64.whl (403.3 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

apngasm_python-1.3.0-cp38-cp38-macosx_10_9_x86_64.whl (453.3 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

apngasm_python-1.3.0-cp38-cp38-macosx_10_9_universal2.whl (819.9 kB view details)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file apngasm_python-1.3.0.tar.gz.

File metadata

  • Download URL: apngasm_python-1.3.0.tar.gz
  • Upload date:
  • Size: 664.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for apngasm_python-1.3.0.tar.gz
Algorithm Hash digest
SHA256 1a93a5799f9ec6b9f29ccf1c5a6a7e419f0b4523ad143427660c50c920d604c2
MD5 d5761ec64ea8fad8a404f0b20e5c967b
BLAKE2b-256 66f99ff4dad7c19e134bc8447a5f2c7045abbe57fb97807961304de42e469e58

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp310-pypy310_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp310-pypy310_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 e8d7eeddd3549689b28b8319abec2b014223b61a1580e6b40f60d2417ee91073
MD5 42d57a78c6121527a971b6d2d641e830
BLAKE2b-256 e79b59dd2b277959573f904ed3e3e18bd23a01fcc35ad824d8d5f57fa4fd123c

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 82ac0278444f0fc041ecbb5f3232ba3b577a9fec45be292ebba6056d877f4af2
MD5 77f02423624068fa37701f7626ab5575
BLAKE2b-256 b6efeeead15b356cb4ef6587227e7760f1b720acf1e64c00ca71330bc6835953

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a5b556bf462bf77b2ba51e465fbdc7dfa0ea28a97b66a09ff4f9a995d2a57efe
MD5 7e59e68d84e982d1442bece421df5324
BLAKE2b-256 272611346f41b560d829dac4bc7ade58f3767618ab86b318cd9f2c7e2ef49589

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c4eb1abeee0a31c66aa2487c81f78b6ac4e3d425e57e6764891e317303a785d6
MD5 85fe16f3254b5db711ce422535b99a5e
BLAKE2b-256 33243a75cd0ab74269422d1ddb4c9d0110eccb9cb25f9741c41b37f00d1e411c

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2583ae80f549dab9b0e8b7ac124e980212bfff53e0db25b44136a54571ed0d7b
MD5 9ca0a270b8eab2f08a3268c48464488b
BLAKE2b-256 4e5bb7c050553b2bf574b996e4114f3b14a98bdea3136d2f8878bb41b425c769

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b03b8c08d7749abe7bc6bd20a99fb80d6195c7f917ae5c2290d64f33a0f53e86
MD5 87e20b138c967f3682c24fa24cd568f3
BLAKE2b-256 630158383023cde5e3af137fc53b6616e9b632cf86dbfbbef4662acb2a161c60

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp39-pypy39_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 b03fe7cd5017d421a7c61f3c463b2fef3368ebb489ba776ff89c64aa4fbd93b4
MD5 aec553afbff25e963b81d30070802cca
BLAKE2b-256 9132ed2b1d66a6b5e1e732ba13a35a1dc2f2591597e584b40c316842ef4084f4

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b02bf9d819a51f9789901a0c89d80154182bcd00eeb6cce4844eb888a5a7f519
MD5 3288299713e30c06da75fc46eb0ab6ee
BLAKE2b-256 285516f876b4981a6a6944399cc0797b867588a5e75747bbb1da1adf6f3425fc

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f56bc6a9c6452b2f3b37faa5abb59a297c05aea905e21ac831d977614a51933d
MD5 9abb3a5036ba4c5c91fad270d3360bfa
BLAKE2b-256 e1b6d6001941916673c04ba6a654239054c985a6c0492b084567701f94c77850

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e96e6651305312d07eb6c5e1d648a6c79d01a18382dc338f37e7629fd7358f61
MD5 b4553d04c8ee7c5654cccf68996f3a0f
BLAKE2b-256 e6939955994032986a1776683924b609e63f71057805dd89737c3be1bc04eb2c

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d93fe1d2a310ecb053f4c45a627672dbdb40678fdb1e06aceb92f5b6c3a2ae2d
MD5 62f591e70d14ee3e790508680feb5ae6
BLAKE2b-256 c1a7668a434903d3b56b6849aea7247f24813749ccdae7403c634e24e572e711

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d8ae6d9c210502793c5b0fe84695f7dac20bb44f1b6c533d8a6cab92ca925e96
MD5 adb771b848b51614b13ecc49b52ae377
BLAKE2b-256 9b0116e28b82f6071996be187d017e93b99e1d1b8a0327548471988c31bb4f4b

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp38-pypy38_pp73-win_amd64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm Hash digest
SHA256 0e678addb42ed3c74d724f0a4e6cc87af9dfa41a946133f43fae478d3d32ec82
MD5 06626ffd57ed2553377eae01a9c99d0f
BLAKE2b-256 ce8c4d065185cefab157a229a2e16b289d07cfb08e1de2cb81a3f6b2c82b7b2f

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e074fcadefb3573944d4f50def0fedf345dccf77cbe32c0307a05a3d8eb822f9
MD5 ccdc8c3b5ea4b33fa3b2f3a144d9bedd
BLAKE2b-256 9069f1244e03a20e56da0638276200a70515d11276fb0bb5af094a405522aa70

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ee92bcf34005994c48b8c765e0fa5e73825aabee076532ecb0821e02e3f1b711
MD5 2461edaef875c18f5dd23224d775b7b1
BLAKE2b-256 f4642e87313212fed96a4578c6f114029141ad07f380bb682ba685c8c6d34c1f

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2200438a5b14ae6d70d81f412058ff683bd012dc3a892bf5c8e8a59f1c6e5f02
MD5 4988a599cffc391ced1fc33f344756bb
BLAKE2b-256 b3932c0a4049d4c420ed8539001a18e893729ffdcb6a6e01f2077e628dd258dc

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0c34c66eaf2ee6f3f149a625d283dc6f31ffb6adbb515098ca252b7ddad318a4
MD5 5947e783d9f8c45bae4a04c86e19e841
BLAKE2b-256 e00a281c2ebc518e149d1bc0891d7b4ff91fcdf350540fed2fcdb21df522da51

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 82c8b3224fcbc45ee92d5c8b403d0e2933a4935c2436c7c7bf49d33e9ae9b1e0
MD5 4dc8d8261a3408d25822a381ad0f680e
BLAKE2b-256 589bdd6711451c10d4443c9ac21a912725c2e3314398e5b9ea5ce2c31864e21a

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp39-cp39-win_arm64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 b5be028a15e189a9cebbd91d515f01ba0d03ed57e1623ab854ed56b6468e73a3
MD5 4b45fd704ff8a4ce4bd571b2cba68632
BLAKE2b-256 efd05b11657513314815f9dde986387058f45081c3c740c68f3e74af375bc0ba

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 82ee721c01e08f4b96015d0eff7c19c4fc0b2e534c4b5a480a3835108a5249c4
MD5 efafff8a59069201ec3f81faab397973
BLAKE2b-256 d8571857787ca1dc6d42b1be997a089e2e8e1b101adf6d77bcbf3d03d5d061d4

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp38-cp38-win32.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 44c58fd8726d60e31914481b91a62226ba4aad23bffeddd45880bed14a217a37
MD5 c2786481eca806a71d8b63113807cc1f
BLAKE2b-256 f1aec0cd697a969523825d746fb819a71b0a36b41abc91866c39ca3a59056d00

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 6ef1c120854f5fc38e7b41a2c08a4407827a76e5c5ed3bf1239b108fa030e6ee
MD5 89c497a380319cea8b300586cd9ade98
BLAKE2b-256 7eadf37ec6b518992ef38b9ff06c0b0ecc4a069f111de5d590b78afaf6193a8d

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp38-cp38-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 2514ecc339a5c75665f077e101d0c9faa302a486bad85047c45530f0bd30a559
MD5 067b5036e1b3c3bc29b381bae7386f82
BLAKE2b-256 d3a5419b48440cfff6ec30d4025f2dffc324901391192d1bbc96e68d23123beb

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 3c2613df1ff78e01da0965911a42f80d2e34970269faa86c22fc272708e40ab3
MD5 a817515a0e0f6b915a222e36600536e3
BLAKE2b-256 1a1c430cf14f57a951034b11a1a3f018e76114d6055b9da131a7b50a9793fbc2

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp38-cp38-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 2de186ba48567ee6de44051813bc723d688f0476590bdde7988a8025e98aacf9
MD5 9cb2f2ac06a0193b4d0a8eaf4a9cf388
BLAKE2b-256 5b5f9cad8a126c2a7ef503caaf07d2494c710c3ea8110aee82378a37137076ac

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f68238768d58a805b328211b78d5770c4e81583183835caf6f7620c8eea64795
MD5 cd248ccea7591209e8fe9fdd5970551c
BLAKE2b-256 a0e4a33fcfe1b4c17f0194c91aec8a78bfe2749e5ebdf4c88847f4315d9d2209

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 17283c3ac269f3603b4e4b74eca54b878ff6121f9d41c2df1a2a1cc6baa587c4
MD5 4a716aa577fcd696a7b01fa550c69e14
BLAKE2b-256 f8b12c5058227098dd943c9132b1db5b0b875320ba40175a25720573fd9423e9

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 542300a0e5846a73ebfec7ca8d14a910d3ac14e164adbee5bb88e36c69540892
MD5 53921a176d1a5f8b652342f1b9aba0e6
BLAKE2b-256 4277b0d2c636f5f84dc6127fd7d698d4ba5698c114fbdbd88e1c9a41a92e7a1e

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 32c45b768eb80de430eff6285233bf05aba050d0926482c84a898c325dd5387e
MD5 b5e93676b5654d0127b02e404ab2a5ee
BLAKE2b-256 f1d446a72b8f3c0bfb6bbbd712dde877133900206a52a223c62edd7517c97ab6

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a3bb54079a50cfa2c8df87e3664c4795f6dbf5a5c75dd5a493e39a2a9d4f7baa
MD5 f78f207fd32ac3dd3cd603c253a68ac2
BLAKE2b-256 f5085e4e126a972bfa7ccb975fc68bd6601339336c462be5cd418842b28cc929

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 471c20f2ef82e59ef8a1648a0889477df27bebcdf1e0db358ca530207a4a1c64
MD5 9b2812d4ce48ab45156831684edf373a
BLAKE2b-256 db14bc94e82fac9f1678cfec07da1498657b5db2488096bd47d5fa5b558c65cc

See more details on using hashes here.

Provenance

File details

Details for the file apngasm_python-1.3.0-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for apngasm_python-1.3.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 f9e61f6e8014f17ed2740509c201cf5e319b04b1724022ad2c893c43bff59962
MD5 f4d5fcfa931608f7681b04ef252cf221
BLAKE2b-256 ee704c65891a035ae33640108e48372dc31dc4c57144d410b3323feef724ae6e

See more details on using hashes here.

Provenance

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