Skip to main content

Pre-compiled gifsicle binary for GIF optimization

Project description

gifsicle-bin

PyPI npm License: GPL v2

Pre-compiled gifsicle binary distributed as a Python wheel and as WASM/JS for browser use.

  • Python developers: Let your app take advantage of gifsicle optimization without forcing users to do an OS-level installation of it.
  • Frontend developers: Add trustworthy Gifsicle optimization without needing a backend (or requiring heavy processing server-side).
  • End users: Get GIF optimization powers easily on multiple OSes without needing package installation permissions.

Built for agent-log-gif.

How is this different from pygifsicle?

pygifsicle requires users to install the gifsicle binary separately (brew install gifsicle, apt install gifsicle, etc.). While pygifsicle helps automate this somewhat, this still requires root permissions on most GNU/Linux distributions, and requires users to have Homebrew or manually install gifsicle themselves on Mac.

Use pygifsicle if you want to leverage the gifsicle on user's systems already, and if you don't care which specific version they have.

gifsicle-bin bundles the compiled gifsicle binary inside the wheel at a deterministic version and makes it available via the pip/uv dependency resolution mechanisms your Python code already uses.

Use gifsicle-bin if you want end users to be able to use gifsicle without needing a precondition of brew install or apt installing it, or if you want to use a deterministic version of gifsicle.

Manual Installation

pip install gifsicle-bin
# or
uv add gifsicle-bin

Usage

Once installed, gifsicle is available as a command:

gifsicle -O2 --lossy=80 input.gif -o output.gif

Or from Python:

import subprocess
subprocess.run(["gifsicle", "-O2", "--lossy=80", "input.gif", "-o", "output.gif"])

To use gifsicle provided by gifsicle-bin as a one off (in a CI build step, etc.):

uvx gifsicle-bin

(eg uvx gifsicle-bin -O2 input.gif -o output.gif)

WASM build

In addition to native wheels, gifsicle-bin builds gifsicle as a WebAssembly module for browser use. See wasm/README.md.

Development instructions for gifsicle-bin

Updating gifsicle version

gifsicle's original source is used via a clean git submodule without patching or modification.

cd vendor/gifsicle && git fetch --tags && git checkout vX.Y && cd ../..

Update the version in wasm/package.json, pyproject.toml and config.h.cmake.in (grep for the old version). If configure.ac changed between versions, check for new HAVE_* defines and add matching entries to CMakeLists.txt + config.h.cmake.in.

To publish, create a new tag and release for vX.Y. CI will build native wheels for all platforms (published to PyPI via OIDC), and WASM artifacts (attached to the GitHub Release and published to npm via OIDC).

License

gifsicle is Copyright (C) 1997-2025 Eddie Kohler and distributed under the GNU General Public License, Version 2.

This package redistributes gifsicle as a compiled binary. The source code is available at https://github.com/kohler/gifsicle.

GPL Information: gifsicle-bin is a convenience package that puts the gifsicle CLI on your PATH. gifsicle-bin still requires calling gifsicle externally (eg via subprocess.run) as a separate program at arms length. See the FSF's Plugins and Proprietary Systems FAQs.

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

gifsicle_bin-1.96.4.tar.gz (491.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

gifsicle_bin-1.96.4-py3-none-win_arm64.whl (104.7 kB view details)

Uploaded Python 3Windows ARM64

gifsicle_bin-1.96.4-py3-none-win_amd64.whl (117.5 kB view details)

Uploaded Python 3Windows x86-64

gifsicle_bin-1.96.4-py3-none-musllinux_1_2_x86_64.whl (140.4 kB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

gifsicle_bin-1.96.4-py3-none-musllinux_1_2_aarch64.whl (138.2 kB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

gifsicle_bin-1.96.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (136.9 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

gifsicle_bin-1.96.4-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (133.8 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

gifsicle_bin-1.96.4-py3-none-macosx_10_9_universal2.whl (230.8 kB view details)

Uploaded Python 3macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file gifsicle_bin-1.96.4.tar.gz.

File metadata

  • Download URL: gifsicle_bin-1.96.4.tar.gz
  • Upload date:
  • Size: 491.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gifsicle_bin-1.96.4.tar.gz
Algorithm Hash digest
SHA256 0d08c00f887129efc93de83a8c9a20c346ed48dcf0aae1987aa19427e21eae8c
MD5 83e3f3426a900b6a61261813862582dd
BLAKE2b-256 76c38a0c9785807d17881dd009c7cfca663c43083ae3977c76f6e6cf5ede1bbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.4.tar.gz:

Publisher: build.yml on ysamlan/gifsicle-bin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gifsicle_bin-1.96.4-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for gifsicle_bin-1.96.4-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 42e2841ea8a7f39c7de813f75d9be1735efd4596d64e33bc5d4023b4a0e2375a
MD5 c32562db09431e7c611ec1ef685df255
BLAKE2b-256 1a600e427aade992b67cac181c0793e8cdf31847f630fc2325eb78ecd52a37cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.4-py3-none-win_arm64.whl:

Publisher: build.yml on ysamlan/gifsicle-bin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gifsicle_bin-1.96.4-py3-none-win_amd64.whl.

File metadata

  • Download URL: gifsicle_bin-1.96.4-py3-none-win_amd64.whl
  • Upload date:
  • Size: 117.5 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for gifsicle_bin-1.96.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 f37cb6ab46981ef8fcdf2bdff7ccc6d911954edcb830b47a40624f7c6d9b5940
MD5 593689acee20504ed8d33883ba31b4d4
BLAKE2b-256 7ccad9b8bac10c623baa2de0f8d7d22a210a8bea705b085bdd07ab016ce4300e

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.4-py3-none-win_amd64.whl:

Publisher: build.yml on ysamlan/gifsicle-bin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gifsicle_bin-1.96.4-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for gifsicle_bin-1.96.4-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e3f1018730b7249339f575295dcd11926e184b8e16572e8ade45a76a985c5154
MD5 dc9f947381a7b88ac0e5c6b765c82709
BLAKE2b-256 6c8699f8649edacffa2fcd571f50b5c42f234817b6357fb599a88ee0e8efb626

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.4-py3-none-musllinux_1_2_x86_64.whl:

Publisher: build.yml on ysamlan/gifsicle-bin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gifsicle_bin-1.96.4-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for gifsicle_bin-1.96.4-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8e37d5efb039f1e2e5fa3a96e444fe79d7c05afcd747dd440879abd350dd5028
MD5 681ef635cc678dfe85ffb23088ce9545
BLAKE2b-256 7af8b14d191a3f4833fcee2e9ec5c886e969a34f4928b92b73f9953138ab279b

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.4-py3-none-musllinux_1_2_aarch64.whl:

Publisher: build.yml on ysamlan/gifsicle-bin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gifsicle_bin-1.96.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for gifsicle_bin-1.96.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7393739383bfc73d62dbef559c0689afbd6b6a2bdf550c1323eaa9a892e3284a
MD5 8646c3f121c8e8cefde259746b845368
BLAKE2b-256 f6d76be0647f1e4027b1e886883915cdaea3021e8a23baa3315943b132ad80df

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build.yml on ysamlan/gifsicle-bin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gifsicle_bin-1.96.4-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gifsicle_bin-1.96.4-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2aa25e1af983d6b55ac6827af6a350aa05659b83e3179473b8a34f50e6f52bea
MD5 baa913d0f9426bd07d59dac87122d3a6
BLAKE2b-256 dfa76eff0b7dd839aebd1e30ce7ab291d60c82e160c02d7725ce2745201b476e

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.4-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: build.yml on ysamlan/gifsicle-bin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gifsicle_bin-1.96.4-py3-none-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for gifsicle_bin-1.96.4-py3-none-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d40c5c92bc6559af4056a37b1c7912f3960fe1da9c5063f1fe6daf907c935db5
MD5 b4a2328c2118fdd0f2b69f6fddbdaec8
BLAKE2b-256 fa6053fcfeb1bb60783c82e140db5fcaa11502eb45ba8c3e05ce629406556e96

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.4-py3-none-macosx_10_9_universal2.whl:

Publisher: build.yml on ysamlan/gifsicle-bin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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