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.

How is this different from gifsicle-wasm-browser?

Provenance: gifsicle-bin's WASM is built from a version-controlled submodule of the original gifsicle source in public CI.

Invocation model: gifsicle-bin's WASM exposes the raw _run_gifsicle(argc, argv) gifsicle CLI entry point instead of wrapping as a library. See License for more on why we do that.

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.3.tar.gz (491.7 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.3-py3-none-win_arm64.whl (104.8 kB view details)

Uploaded Python 3Windows ARM64

gifsicle_bin-1.96.3-py3-none-win_amd64.whl (117.8 kB view details)

Uploaded Python 3Windows x86-64

gifsicle_bin-1.96.3-py3-none-musllinux_1_2_x86_64.whl (140.5 kB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

gifsicle_bin-1.96.3-py3-none-musllinux_1_2_aarch64.whl (138.4 kB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

gifsicle_bin-1.96.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (137.1 kB view details)

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

gifsicle_bin-1.96.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (134.0 kB view details)

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

gifsicle_bin-1.96.3-py3-none-macosx_10_9_universal2.whl (231.0 kB view details)

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

File details

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

File metadata

  • Download URL: gifsicle_bin-1.96.3.tar.gz
  • Upload date:
  • Size: 491.7 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.3.tar.gz
Algorithm Hash digest
SHA256 fe5d08ff80200cdd8a0aec6a499f262dbe015118c34e7c715a673f92164e1c2b
MD5 392350cfa7041758a772185292efe0a0
BLAKE2b-256 6d3728d75e86ae3da3b88886ccee2138cb48067e82c70c299cda5a0c2f864766

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.3.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.3-py3-none-win_arm64.whl.

File metadata

File hashes

Hashes for gifsicle_bin-1.96.3-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 415a1f4e6d1285b2c336681e7cf933f790ef154eb4e25ea127be0d0c8b8eeec7
MD5 3e7832a27805c932ca249b115decd538
BLAKE2b-256 d49fd95e421400ab903f3ca634d703da19068ec5228ad7c9ad78ba27682ef7da

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.3-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.3-py3-none-win_amd64.whl.

File metadata

  • Download URL: gifsicle_bin-1.96.3-py3-none-win_amd64.whl
  • Upload date:
  • Size: 117.8 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.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 e098cc4c7e202381c56f85e970a3c9715609f0f675aa906f6903b4cb86601efb
MD5 2bdc081564662e30f629bb3940752305
BLAKE2b-256 3ebf51b1e78f8eefe0e3657670c21247bf5142eb0d460643e0b01e0e73d57527

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.3-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.3-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for gifsicle_bin-1.96.3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c8b2d81f5ba8653e64a3794c243619a55848ba8f82fdba2106e5dac55c4fc8c4
MD5 7223eff96dcb54c6d49eee49236fb7be
BLAKE2b-256 17fe004d370285e611985a1241e6922c89d0c9616bd19811c3ca2e9948c8d33d

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.3-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.3-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for gifsicle_bin-1.96.3-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 24a3b7cc50b202cc1d2146c61964538517fee098471b11d0ada84fa454f981b5
MD5 5cbb81f572fd6b8bd80c07f0e18a0569
BLAKE2b-256 a593b0c4cfebe5f798b8c3078bb8b448e10f6919e2ddfbc17bed5bc177b2ba1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.3-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.3-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.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3f2d6a80ba8dc5a8a574f9549d31f1fc3e40037e8edf619f10da4a17e141b4f1
MD5 1c7e309a74bba02f66474268a0524092
BLAKE2b-256 52bbe6c8935302c02b8ef47195fd0e49771afd765c85e8f012e23e023b5f8844

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.3-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.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for gifsicle_bin-1.96.3-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 eabbb7318579628bcd16d9493b13d0f3c2d4666735f2d210e8a824ab70c767a3
MD5 2fb923b9ac91bf805c9a96b63254f6f4
BLAKE2b-256 d95cdb1308fb0dad9cdec31ed70b37cebf70e63e260596fecb92c745dae1ce53

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.3-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.3-py3-none-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for gifsicle_bin-1.96.3-py3-none-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 84909331347d7993737808b911fc00bf22ce4b02147411e2a9c3807174acb082
MD5 5b14d5ce1aed7a467d86e44a1c023abc
BLAKE2b-256 67baf2da30dc27a860fc4fd630147a9bc49e68d12e5e0322b4e52a71a9dc6722

See more details on using hashes here.

Provenance

The following attestation bundles were made for gifsicle_bin-1.96.3-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