gifsicle-bin
Pre-compiled gifsicle binary distributed as a Python wheel and as WASM/JS for browser use.
- Python developers: Let your app take advantage of
gifsicleoptimization 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.
Metadata
Release files for gifsicle-bin 1.96.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gifsicle_bin-1.96.4.tar.gz | 491.6 kB | With provenance | Details for gifsicle_bin-1.96.4.tar.gz |
Built distributions (wheels)
Total release size: 1.5 MB
Release files / gifsicle_bin-1.96.4.tar.gz
| Download URL | gifsicle_bin-1.96.4.tar.gz |
|---|---|
| Size | 491.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0d08c00f887129efc93de83a8c9a20c346ed48dcf0aae1987aa19427e21eae8c
|
|
BLAKE2b-256 checksum How to use checksums |
76c38a0c9785807d17881dd009c7cfca663c43083ae3977c76f6e6cf5ede1bbf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.
Transparency logRelease files / gifsicle_bin-1.96.4-py3-none-win_arm64.whl
| Download URL | gifsicle_bin-1.96.4-py3-none-win_arm64.whl |
|---|---|
| Size | 104.7 kB |
| Tags | Python 3 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
42e2841ea8a7f39c7de813f75d9be1735efd4596d64e33bc5d4023b4a0e2375a
|
|
BLAKE2b-256 checksum How to use checksums |
1a600e427aade992b67cac181c0793e8cdf31847f630fc2325eb78ecd52a37cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.
Transparency logRelease files / gifsicle_bin-1.96.4-py3-none-win_amd64.whl
| Download URL | gifsicle_bin-1.96.4-py3-none-win_amd64.whl |
|---|---|
| Size | 117.5 kB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f37cb6ab46981ef8fcdf2bdff7ccc6d911954edcb830b47a40624f7c6d9b5940
|
|
BLAKE2b-256 checksum How to use checksums |
7ccad9b8bac10c623baa2de0f8d7d22a210a8bea705b085bdd07ab016ce4300e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.
Transparency logRelease files / gifsicle_bin-1.96.4-py3-none-musllinux_1_2_x86_64.whl
| Download URL | gifsicle_bin-1.96.4-py3-none-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 140.4 kB |
| Tags | Linux musl 1.2+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
e3f1018730b7249339f575295dcd11926e184b8e16572e8ade45a76a985c5154
|
|
BLAKE2b-256 checksum How to use checksums |
6c8699f8649edacffa2fcd571f50b5c42f234817b6357fb599a88ee0e8efb626
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.
Transparency logRelease files / gifsicle_bin-1.96.4-py3-none-musllinux_1_2_aarch64.whl
| Download URL | gifsicle_bin-1.96.4-py3-none-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 138.2 kB |
| Tags | Linux musl 1.2+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
8e37d5efb039f1e2e5fa3a96e444fe79d7c05afcd747dd440879abd350dd5028
|
|
BLAKE2b-256 checksum How to use checksums |
7af8b14d191a3f4833fcee2e9ec5c886e969a34f4928b92b73f9953138ab279b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.
Transparency logRelease files / gifsicle_bin-1.96.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | gifsicle_bin-1.96.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 136.9 kB |
| Tags | Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
7393739383bfc73d62dbef559c0689afbd6b6a2bdf550c1323eaa9a892e3284a
|
|
BLAKE2b-256 checksum How to use checksums |
f6d76be0647f1e4027b1e886883915cdaea3021e8a23baa3315943b132ad80df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.
Transparency logRelease files / gifsicle_bin-1.96.4-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | gifsicle_bin-1.96.4-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 133.8 kB |
| Tags | Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
2aa25e1af983d6b55ac6827af6a350aa05659b83e3179473b8a34f50e6f52bea
|
|
BLAKE2b-256 checksum How to use checksums |
dfa76eff0b7dd839aebd1e30ce7ab291d60c82e160c02d7725ce2745201b476e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.
Transparency logRelease files / gifsicle_bin-1.96.4-py3-none-macosx_10_9_universal2.whl
| Download URL | gifsicle_bin-1.96.4-py3-none-macosx_10_9_universal2.whl |
|---|---|
| Size | 230.8 kB |
| Tags | Python 3 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
d40c5c92bc6559af4056a37b1c7912f3960fe1da9c5063f1fe6daf907c935db5
|
|
BLAKE2b-256 checksum How to use checksums |
fa6053fcfeb1bb60783c82e140db5fcaa11502eb45ba8c3e05ce629406556e96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.
Transparency logSecurity for gifsicle-bin 1.96.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 8 files in this release have been uploaded with provenance metadata.
Attestation for gifsicle_bin-1.96.4.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 24, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.