webp


Namewebp JSON
Version 0.3.0 PyPI version JSON
download
home_page
SummaryPython bindings for WebP
upload_time2023-10-06 00:29:29
maintainer
docs_urlNone
author
requires_python>=3.8
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # WebP Python bindings

[![Build status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fanibali%2Fpywebp%2Fbadge&label=build&logo=none)](https://actions-badge.atrox.dev/anibali/pywebp/goto)
[![License](https://img.shields.io/github/license/anibali/pywebp.svg)](https://github.com/anibali/pywebp/blob/master/LICENSE)
[![PyPI](https://img.shields.io/pypi/v/webp)](https://pypi.org/project/webp/)
[![GitHub](https://img.shields.io/github/stars/anibali/pywebp?style=social)](https://github.com/anibali/pywebp)

## Installation

```sh
pip install webp
```

On Windows you may encounter the following error during installation:

```
conans.errors.ConanException: 'settings.compiler' value not defined
```

This means that you need to install a C compiler and configure Conan so that it knows which
compiler to use. See https://github.com/anibali/pywebp/issues/20 for more details.

### Requirements

* Python 3.8+

## Usage

```python
import webp
```

### Simple API

```python
# Save an image
webp.save_image(img, 'image.webp', quality=80)

# Load an image
img = webp.load_image('image.webp', 'RGBA')

# Save an animation
webp.save_images(imgs, 'anim.webp', fps=10, lossless=True)

# Load an animation
imgs = webp.load_images('anim.webp', 'RGB', fps=10)
```

If you prefer working with numpy arrays, use the functions `imwrite`, `imread`, `mimwrite`,
and `mimread` instead.

### Advanced API

```python
# Encode a PIL image to WebP in memory, with encoder hints
pic = webp.WebPPicture.from_pil(img)
config = WebPConfig.new(preset=webp.WebPPreset.PHOTO, quality=70)
buf = pic.encode(config).buffer()

# Read a WebP file and decode to a BGR numpy array
with open('image.webp', 'rb') as f:
  webp_data = webp.WebPData.from_buffer(f.read())
  arr = webp_data.decode(color_mode=WebPColorMode.BGR)

# Save an animation
enc = webp.WebPAnimEncoder.new(width, height)
timestamp_ms = 0
for img in imgs:
  pic = webp.WebPPicture.from_pil(img)
  enc.encode_frame(pic, timestamp_ms)
  timestamp_ms += 250
anim_data = enc.assemble(timestamp_ms)
with open('anim.webp', 'wb') as f:
  f.write(anim_data.buffer())

# Load an animation
with open('anim.webp', 'rb') as f:
  webp_data = webp.WebPData.from_buffer(f.read())
  dec = webp.WebPAnimDecoder.new(webp_data)
  for arr, timestamp_ms in dec.frames():
    # `arr` contains decoded pixels for the frame
    # `timestamp_ms` contains the _end_ time of the frame
    pass
```

## Features

* Picture encoding/decoding
* Animation encoding/decoding
* Automatic memory management
* Simple API for working with `PIL.Image` objects

### Not implemented

* Encoding/decoding still images in YUV color mode
* Advanced muxing/demuxing (color profiles, etc.)
* Expose all useful fields

## Developer notes

### Setting up

1. Install `mamba` and `conda-lock`. The easiest way to do this is by installing
   [Mambaforge](https://github.com/conda-forge/miniforge#mambaforge) and then
   running `mamba install conda-lock`. 
2. Create and activate the Conda environment:
   ```console
   $ conda-lock install -n webp
   $ mamba activate webp
   ```
3. Install PyPI dependencies:
   ```console
   $ pdm install -G:all
   ```

### Running tests

```console
$ pytest tests/
```

### Cutting a new release

1. Ensure that tests are passing and everything is ready for release.
2. Create and push a Git tag:
   ```console
   $ git tag v0.1.6
   $ git push --tags
   ```
3. Download the artifacts from GitHub Actions, which will include the source distribution tarball and binary wheels.
4. Create a new release on GitHub from the tagged commit and upload the packages as attachments to the release.
5. Also upload the packages to PyPI using Twine:
   ```console
   $ twine upload webp-*.tar.gz webp-*.whl
   ```
6. Bump the version number in `pyproject.toml` and create a commit, signalling the start of development on the next version.

These files should also be added to a GitHub release.

## Known issues

* An animation where all frames are identical will "collapse" in on itself,
  resulting in a single frame. Unfortunately, WebP seems to discard timestamp
  information in this case, which breaks `webp.load_images` when the FPS
  is specified.
* There are currently no 32-bit binaries of libwebp uploaded to Conan Center. If you are running
  32-bit Python, libwebp will be built from source.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "webp",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "",
    "author_email": "Aiden Nibali <dismaldenizen@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/7a/90/7076ccbf2a6dab0c54461249f598bd926aa94b6cbe58eade792fa5a05f25/webp-0.3.0.tar.gz",
    "platform": null,
    "description": "# WebP Python bindings\n\n[![Build status](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fanibali%2Fpywebp%2Fbadge&label=build&logo=none)](https://actions-badge.atrox.dev/anibali/pywebp/goto)\n[![License](https://img.shields.io/github/license/anibali/pywebp.svg)](https://github.com/anibali/pywebp/blob/master/LICENSE)\n[![PyPI](https://img.shields.io/pypi/v/webp)](https://pypi.org/project/webp/)\n[![GitHub](https://img.shields.io/github/stars/anibali/pywebp?style=social)](https://github.com/anibali/pywebp)\n\n## Installation\n\n```sh\npip install webp\n```\n\nOn Windows you may encounter the following error during installation:\n\n```\nconans.errors.ConanException: 'settings.compiler' value not defined\n```\n\nThis means that you need to install a C compiler and configure Conan so that it knows which\ncompiler to use. See https://github.com/anibali/pywebp/issues/20 for more details.\n\n### Requirements\n\n* Python 3.8+\n\n## Usage\n\n```python\nimport webp\n```\n\n### Simple API\n\n```python\n# Save an image\nwebp.save_image(img, 'image.webp', quality=80)\n\n# Load an image\nimg = webp.load_image('image.webp', 'RGBA')\n\n# Save an animation\nwebp.save_images(imgs, 'anim.webp', fps=10, lossless=True)\n\n# Load an animation\nimgs = webp.load_images('anim.webp', 'RGB', fps=10)\n```\n\nIf you prefer working with numpy arrays, use the functions `imwrite`, `imread`, `mimwrite`,\nand `mimread` instead.\n\n### Advanced API\n\n```python\n# Encode a PIL image to WebP in memory, with encoder hints\npic = webp.WebPPicture.from_pil(img)\nconfig = WebPConfig.new(preset=webp.WebPPreset.PHOTO, quality=70)\nbuf = pic.encode(config).buffer()\n\n# Read a WebP file and decode to a BGR numpy array\nwith open('image.webp', 'rb') as f:\n  webp_data = webp.WebPData.from_buffer(f.read())\n  arr = webp_data.decode(color_mode=WebPColorMode.BGR)\n\n# Save an animation\nenc = webp.WebPAnimEncoder.new(width, height)\ntimestamp_ms = 0\nfor img in imgs:\n  pic = webp.WebPPicture.from_pil(img)\n  enc.encode_frame(pic, timestamp_ms)\n  timestamp_ms += 250\nanim_data = enc.assemble(timestamp_ms)\nwith open('anim.webp', 'wb') as f:\n  f.write(anim_data.buffer())\n\n# Load an animation\nwith open('anim.webp', 'rb') as f:\n  webp_data = webp.WebPData.from_buffer(f.read())\n  dec = webp.WebPAnimDecoder.new(webp_data)\n  for arr, timestamp_ms in dec.frames():\n    # `arr` contains decoded pixels for the frame\n    # `timestamp_ms` contains the _end_ time of the frame\n    pass\n```\n\n## Features\n\n* Picture encoding/decoding\n* Animation encoding/decoding\n* Automatic memory management\n* Simple API for working with `PIL.Image` objects\n\n### Not implemented\n\n* Encoding/decoding still images in YUV color mode\n* Advanced muxing/demuxing (color profiles, etc.)\n* Expose all useful fields\n\n## Developer notes\n\n### Setting up\n\n1. Install `mamba` and `conda-lock`. The easiest way to do this is by installing\n   [Mambaforge](https://github.com/conda-forge/miniforge#mambaforge) and then\n   running `mamba install conda-lock`. \n2. Create and activate the Conda environment:\n   ```console\n   $ conda-lock install -n webp\n   $ mamba activate webp\n   ```\n3. Install PyPI dependencies:\n   ```console\n   $ pdm install -G:all\n   ```\n\n### Running tests\n\n```console\n$ pytest tests/\n```\n\n### Cutting a new release\n\n1. Ensure that tests are passing and everything is ready for release.\n2. Create and push a Git tag:\n   ```console\n   $ git tag v0.1.6\n   $ git push --tags\n   ```\n3. Download the artifacts from GitHub Actions, which will include the source distribution tarball and binary wheels.\n4. Create a new release on GitHub from the tagged commit and upload the packages as attachments to the release.\n5. Also upload the packages to PyPI using Twine:\n   ```console\n   $ twine upload webp-*.tar.gz webp-*.whl\n   ```\n6. Bump the version number in `pyproject.toml` and create a commit, signalling the start of development on the next version.\n\nThese files should also be added to a GitHub release.\n\n## Known issues\n\n* An animation where all frames are identical will \"collapse\" in on itself,\n  resulting in a single frame. Unfortunately, WebP seems to discard timestamp\n  information in this case, which breaks `webp.load_images` when the FPS\n  is specified.\n* There are currently no 32-bit binaries of libwebp uploaded to Conan Center. If you are running\n  32-bit Python, libwebp will be built from source.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python bindings for WebP",
    "version": "0.3.0",
    "project_urls": {
        "Homepage": "https://github.com/anibali/pywebp"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a3abf533569acf8d9f3bdcaf88823266d7a02c11e5e356b5625ca918fac3b85f",
                "md5": "e8143a69d48e7b5bd97e75759bad88a0",
                "sha256": "ef131d8af4552f870f5984a96671600bf29558ab7c3bf5fa2a010bfaefb4ff81"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "e8143a69d48e7b5bd97e75759bad88a0",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 583342,
            "upload_time": "2023-10-06T00:28:03",
            "upload_time_iso_8601": "2023-10-06T00:28:03.367620Z",
            "url": "https://files.pythonhosted.org/packages/a3/ab/f533569acf8d9f3bdcaf88823266d7a02c11e5e356b5625ca918fac3b85f/webp-0.3.0-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1ae32fa462b4e575748897f5d782b3565cc604e062f44c8300d74881880908da",
                "md5": "c1151451beb74c56a2d7c5e1ef7e2477",
                "sha256": "f4eec57bf92d5871a291d790e73b04e829c7703c25a141eff01da28141e50d18"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c1151451beb74c56a2d7c5e1ef7e2477",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 355128,
            "upload_time": "2023-10-06T00:28:08",
            "upload_time_iso_8601": "2023-10-06T00:28:08.739724Z",
            "url": "https://files.pythonhosted.org/packages/1a/e3/2fa462b4e575748897f5d782b3565cc604e062f44c8300d74881880908da/webp-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6af3d867b6380a7e031fdd22002f27e48028f8ce11629827da95b7a4a7c7b089",
                "md5": "5dbcd73c085865610f21b19d1d3107c7",
                "sha256": "01c8ee5824984b2c83696b134f9d6d468a768d3e0bffb09e82f9d39027874755"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5dbcd73c085865610f21b19d1d3107c7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 403579,
            "upload_time": "2023-10-06T00:28:11",
            "upload_time_iso_8601": "2023-10-06T00:28:11.299961Z",
            "url": "https://files.pythonhosted.org/packages/6a/f3/d867b6380a7e031fdd22002f27e48028f8ce11629827da95b7a4a7c7b089/webp-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "058847972b0fb39cb2ddad43c7817c2ae1a2b76d8ecfa3bebc84a69ee837290b",
                "md5": "b9215aff2d09ec73806461fda73bf844",
                "sha256": "302c213370b549e59fba03589bcdf033723ad46d0e813843b95d0d80c3c7a903"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b9215aff2d09ec73806461fda73bf844",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 410257,
            "upload_time": "2023-10-06T00:28:14",
            "upload_time_iso_8601": "2023-10-06T00:28:14.620106Z",
            "url": "https://files.pythonhosted.org/packages/05/88/47972b0fb39cb2ddad43c7817c2ae1a2b76d8ecfa3bebc84a69ee837290b/webp-0.3.0-cp310-cp310-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4a4b006058628b74301604f098fc0d721dee8060ba750c70accf6d189408a863",
                "md5": "1664c11a6073bc2287f735dc9fa6bf10",
                "sha256": "55e939762c504797c3ff1c26828961986ee1b04452515910077a22b85d4214fd"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1664c11a6073bc2287f735dc9fa6bf10",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 216849,
            "upload_time": "2023-10-06T00:28:17",
            "upload_time_iso_8601": "2023-10-06T00:28:17.636799Z",
            "url": "https://files.pythonhosted.org/packages/4a/4b/006058628b74301604f098fc0d721dee8060ba750c70accf6d189408a863/webp-0.3.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ed0fe7998f2575e0444498c2ec86d15abc1fbfc2286e7a71df4bd23f85c45d9",
                "md5": "326b743948ee624b32313654465c14cb",
                "sha256": "4d0136be5a1d78d283a9df4542ab18a94ffa8a71eb692d63f459c5567b2a0796"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp310-cp310-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "326b743948ee624b32313654465c14cb",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 188384,
            "upload_time": "2023-10-06T00:28:20",
            "upload_time_iso_8601": "2023-10-06T00:28:20.606309Z",
            "url": "https://files.pythonhosted.org/packages/6e/d0/fe7998f2575e0444498c2ec86d15abc1fbfc2286e7a71df4bd23f85c45d9/webp-0.3.0-cp310-cp310-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "32089b9f1724d0222f69dfba8e4ff1b2594a97ce9be98c469eb7416f5a90f43b",
                "md5": "3dd0c1af0d311dc81e3259cd15b131c1",
                "sha256": "17c66319ded46c0b858424f5a8e132b1fc233106784027dede17a33bffbe508b"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "3dd0c1af0d311dc81e3259cd15b131c1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 583340,
            "upload_time": "2023-10-06T00:28:24",
            "upload_time_iso_8601": "2023-10-06T00:28:24.211421Z",
            "url": "https://files.pythonhosted.org/packages/32/08/9b9f1724d0222f69dfba8e4ff1b2594a97ce9be98c469eb7416f5a90f43b/webp-0.3.0-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8345548a9fc944a9618c5ca33d0cf98459021df3fb667229f480e14743103100",
                "md5": "5074b2bd4fe3ffe759c888ed379de2f0",
                "sha256": "3901024c0214b43f0830d18dc95fb681e5e2d150d92c84b734616961b52e5f92"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5074b2bd4fe3ffe759c888ed379de2f0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 355133,
            "upload_time": "2023-10-06T00:28:26",
            "upload_time_iso_8601": "2023-10-06T00:28:26.985526Z",
            "url": "https://files.pythonhosted.org/packages/83/45/548a9fc944a9618c5ca33d0cf98459021df3fb667229f480e14743103100/webp-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c0b294e266f71f63cf81c32e2bacc3e156364b26e24ab796aea7338e92e594d8",
                "md5": "63ea4f5a10eefaa4147f0ef4a1231a62",
                "sha256": "2e290cc3db157a9557fc7d0c9044f83e5ed518c92019067ac87433eb37e28bf0"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "63ea4f5a10eefaa4147f0ef4a1231a62",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 403591,
            "upload_time": "2023-10-06T00:28:31",
            "upload_time_iso_8601": "2023-10-06T00:28:31.282244Z",
            "url": "https://files.pythonhosted.org/packages/c0/b2/94e266f71f63cf81c32e2bacc3e156364b26e24ab796aea7338e92e594d8/webp-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b9bd9877f72dffd80fe9fed89e11f3a23e35ae2db4761daeaf8f92665ed90f16",
                "md5": "fe192cc692a9b03f7cbcf18a2cdd68e8",
                "sha256": "958e38357fa0eb60ce6352020210a90fd1954a6270f2daa758ea404f85d7739f"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fe192cc692a9b03f7cbcf18a2cdd68e8",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 410263,
            "upload_time": "2023-10-06T00:28:34",
            "upload_time_iso_8601": "2023-10-06T00:28:34.567819Z",
            "url": "https://files.pythonhosted.org/packages/b9/bd/9877f72dffd80fe9fed89e11f3a23e35ae2db4761daeaf8f92665ed90f16/webp-0.3.0-cp311-cp311-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c7d7f944e317ccc208eb5dbf3e323434b56b40e7d466f05e23ecc504b660813d",
                "md5": "6bb071e70ede0f0d8900ac98831d2d79",
                "sha256": "0e228715cb7102610bd78cf9b626b7dd0fb0ea89fc36be483db6c05760fa89b7"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6bb071e70ede0f0d8900ac98831d2d79",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 216859,
            "upload_time": "2023-10-06T00:28:37",
            "upload_time_iso_8601": "2023-10-06T00:28:37.654465Z",
            "url": "https://files.pythonhosted.org/packages/c7/d7/f944e317ccc208eb5dbf3e323434b56b40e7d466f05e23ecc504b660813d/webp-0.3.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cdadce2c50ef994b03405efd8a7408eef0579706bd6ea38be958f14ee8265165",
                "md5": "665cf57a5a98c041ab4ef0daee422d30",
                "sha256": "69f56d5e40020559ab967ff38fd37895886bb752045ebbba83750d157f692868"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp311-cp311-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "665cf57a5a98c041ab4ef0daee422d30",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 188382,
            "upload_time": "2023-10-06T00:28:40",
            "upload_time_iso_8601": "2023-10-06T00:28:40.006281Z",
            "url": "https://files.pythonhosted.org/packages/cd/ad/ce2c50ef994b03405efd8a7408eef0579706bd6ea38be958f14ee8265165/webp-0.3.0-cp311-cp311-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "67b4810ec7773184ba2ca92dd7eec1db43b0600910d03edd5b872f9f609e083a",
                "md5": "ca75fb2a2589d70e236e3e455358117c",
                "sha256": "edb6b911fdd98fc8caa5e28070ef398a9c92c6c27d435d13ebe0061cb1bf67af"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp312-cp312-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "ca75fb2a2589d70e236e3e455358117c",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 583358,
            "upload_time": "2023-10-06T00:28:43",
            "upload_time_iso_8601": "2023-10-06T00:28:43.668619Z",
            "url": "https://files.pythonhosted.org/packages/67/b4/810ec7773184ba2ca92dd7eec1db43b0600910d03edd5b872f9f609e083a/webp-0.3.0-cp312-cp312-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "388db896ec4365da6b195e4f1691c6a9c563eade3b45df1b074e00f01debd65b",
                "md5": "0484b06ee387bb6682e15124a68bbf87",
                "sha256": "57028316253ef07b7c985aed2d635d6a9e7b77dd369aba35c17cb77f2e24fccb"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0484b06ee387bb6682e15124a68bbf87",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 355758,
            "upload_time": "2023-10-06T00:28:46",
            "upload_time_iso_8601": "2023-10-06T00:28:46.342257Z",
            "url": "https://files.pythonhosted.org/packages/38/8d/b896ec4365da6b195e4f1691c6a9c563eade3b45df1b074e00f01debd65b/webp-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "088f64822f39f4acc05e34f60e234a306208550d4a237124b49d8c445b855772",
                "md5": "d9f501ee9a48c5bcfc715316600ae5d2",
                "sha256": "ddfb90c5a726818e4a2ff9006a2f3c3168957fff56291081e64da9c54af3e6d1"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d9f501ee9a48c5bcfc715316600ae5d2",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 404144,
            "upload_time": "2023-10-06T00:28:48",
            "upload_time_iso_8601": "2023-10-06T00:28:48.962950Z",
            "url": "https://files.pythonhosted.org/packages/08/8f/64822f39f4acc05e34f60e234a306208550d4a237124b49d8c445b855772/webp-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8c08f934d28a0e30835660ae7fed92f2d56cf4a3637059fef4904ebad09b19b9",
                "md5": "85f699094b9e288848ccee0657ebb9c6",
                "sha256": "a70886ccad12f99286979e5615f984bfd76aff4d48861618340e8b3b0b8d2114"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "85f699094b9e288848ccee0657ebb9c6",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 411134,
            "upload_time": "2023-10-06T00:28:51",
            "upload_time_iso_8601": "2023-10-06T00:28:51.708434Z",
            "url": "https://files.pythonhosted.org/packages/8c/08/f934d28a0e30835660ae7fed92f2d56cf4a3637059fef4904ebad09b19b9/webp-0.3.0-cp312-cp312-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9ac0640881d0255b2587f30e5d5cb923cf4a8277d013effb0a33753d361becfa",
                "md5": "39ab771b9a9f99923d5139100b011d96",
                "sha256": "32d4c2e692cb367e1deb3696a4bca43dc4ac855cc53b265a5e2fce338e633377"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "39ab771b9a9f99923d5139100b011d96",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 216881,
            "upload_time": "2023-10-06T00:28:54",
            "upload_time_iso_8601": "2023-10-06T00:28:54.136177Z",
            "url": "https://files.pythonhosted.org/packages/9a/c0/640881d0255b2587f30e5d5cb923cf4a8277d013effb0a33753d361becfa/webp-0.3.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ac1539fc71f0c33caadb06e4e49409045ce2d1694455c357ec86365b5383f8eb",
                "md5": "f2e708e8a5331989ceac7a2a04e527ab",
                "sha256": "e15336927e14320acea89b34350918d201c1ab2627c00d165dffceb5356ec246"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp312-cp312-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "f2e708e8a5331989ceac7a2a04e527ab",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 188407,
            "upload_time": "2023-10-06T00:28:57",
            "upload_time_iso_8601": "2023-10-06T00:28:57.171522Z",
            "url": "https://files.pythonhosted.org/packages/ac/15/39fc71f0c33caadb06e4e49409045ce2d1694455c357ec86365b5383f8eb/webp-0.3.0-cp312-cp312-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c94fac2970043151ea1e6da5ca22ffe8c79225c6d43f150d1d4e1fde440a9ffd",
                "md5": "43e11294424a5d50c6ae9fc6b432f303",
                "sha256": "59fd0abcfe53fd3cca3df29286440f6909304c5e723b76ece1142097c6566f5f"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp38-cp38-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "43e11294424a5d50c6ae9fc6b432f303",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 583342,
            "upload_time": "2023-10-06T00:29:00",
            "upload_time_iso_8601": "2023-10-06T00:29:00.159459Z",
            "url": "https://files.pythonhosted.org/packages/c9/4f/ac2970043151ea1e6da5ca22ffe8c79225c6d43f150d1d4e1fde440a9ffd/webp-0.3.0-cp38-cp38-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "116be2f4d148b17cd65fbe04f6101c0549c7c216f48635450b88b1eb306c4076",
                "md5": "c360001cab36e8869473d81bc7d8ede8",
                "sha256": "dff7117a5eaff19e7d3f71be9bb775e52a35cc14dd03e58ccd2d41bc57feedd2"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c360001cab36e8869473d81bc7d8ede8",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 355295,
            "upload_time": "2023-10-06T00:29:04",
            "upload_time_iso_8601": "2023-10-06T00:29:04.239468Z",
            "url": "https://files.pythonhosted.org/packages/11/6b/e2f4d148b17cd65fbe04f6101c0549c7c216f48635450b88b1eb306c4076/webp-0.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "800dc69de0c2b2ac2c829302d7d995e73e9858616d34571f38e7a9f017057f84",
                "md5": "3e0c174f374b7fc862b2d2dc4aee1dc5",
                "sha256": "fe9ee71c2cf53fa9d1da3a22a7ff49e3d7734c335c48066c4a08be88d4b682c0"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3e0c174f374b7fc862b2d2dc4aee1dc5",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 403719,
            "upload_time": "2023-10-06T00:29:07",
            "upload_time_iso_8601": "2023-10-06T00:29:07.320021Z",
            "url": "https://files.pythonhosted.org/packages/80/0d/c69de0c2b2ac2c829302d7d995e73e9858616d34571f38e7a9f017057f84/webp-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d6fdae9fd901f0b277677c3a8615a33f485c8e9e6e630f84a1e90b12415c9e0f",
                "md5": "a284d86cb3aafef88f9375d7841603c0",
                "sha256": "6256e63ce90331cddf5f6a3fda3b7e11a5d35284230c320e4a7614b43d9f54d7"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a284d86cb3aafef88f9375d7841603c0",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 216850,
            "upload_time": "2023-10-06T00:29:10",
            "upload_time_iso_8601": "2023-10-06T00:29:10.726891Z",
            "url": "https://files.pythonhosted.org/packages/d6/fd/ae9fd901f0b277677c3a8615a33f485c8e9e6e630f84a1e90b12415c9e0f/webp-0.3.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2c5c196d83111b2b92896427e95fb06fb1723069e2d7862ae5bffac0d04b9067",
                "md5": "294c62dc53566c6eae33317cb31400d9",
                "sha256": "25b423412035d8888cb4d2613ef235b42bba14cd26ef04a4a28da9b39af433e7"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp39-cp39-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "294c62dc53566c6eae33317cb31400d9",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 583337,
            "upload_time": "2023-10-06T00:29:14",
            "upload_time_iso_8601": "2023-10-06T00:29:14.000018Z",
            "url": "https://files.pythonhosted.org/packages/2c/5c/196d83111b2b92896427e95fb06fb1723069e2d7862ae5bffac0d04b9067/webp-0.3.0-cp39-cp39-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cd68d32f46482dfc9fcd08e76a0c1d8d40cdf581d6940211bcc5bf564d0cd939",
                "md5": "bb64748c5f1a95eebcf46e0686359099",
                "sha256": "f1bd6dfb54ca66ee05ce83135641d98f196374202e139455ed59b7c2ec7cd150"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "bb64748c5f1a95eebcf46e0686359099",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 355122,
            "upload_time": "2023-10-06T00:29:16",
            "upload_time_iso_8601": "2023-10-06T00:29:16.706270Z",
            "url": "https://files.pythonhosted.org/packages/cd/68/d32f46482dfc9fcd08e76a0c1d8d40cdf581d6940211bcc5bf564d0cd939/webp-0.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2830aa6c11e1e70b797b2c7ef061d592470d9de9769cb60079e13d54e277635f",
                "md5": "0325a3ad181528cf0f666397f7415aad",
                "sha256": "a41dd59cd254e922995db5d373d64ec09af53eedf772e9b36adaf7394af024f9"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0325a3ad181528cf0f666397f7415aad",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 403572,
            "upload_time": "2023-10-06T00:29:19",
            "upload_time_iso_8601": "2023-10-06T00:29:19.629654Z",
            "url": "https://files.pythonhosted.org/packages/28/30/aa6c11e1e70b797b2c7ef061d592470d9de9769cb60079e13d54e277635f/webp-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "25def0a16e052f73cd837f1b50954ce0715103321b29120dd3cd696e37cc434d",
                "md5": "8c735a1b81c5e7980549ef6a3f11f6b3",
                "sha256": "a4e0237bd3e4fce1d040b4fcc230c156a86b5e6468d9d69c5e5c2c92a35c9fbd"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8c735a1b81c5e7980549ef6a3f11f6b3",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 410248,
            "upload_time": "2023-10-06T00:29:22",
            "upload_time_iso_8601": "2023-10-06T00:29:22.697770Z",
            "url": "https://files.pythonhosted.org/packages/25/de/f0a16e052f73cd837f1b50954ce0715103321b29120dd3cd696e37cc434d/webp-0.3.0-cp39-cp39-musllinux_1_1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "be4305ea60eba99d4cf8ba3f4c513df83c0fcaca1739b74592b5534184085be6",
                "md5": "16433c0302f881d9d66e6e2db5686cef",
                "sha256": "b789fc057994085877f6ea0a4980aaa6ec95335ff7dc20072a4ff69049cf3df6"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "16433c0302f881d9d66e6e2db5686cef",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 216848,
            "upload_time": "2023-10-06T00:29:25",
            "upload_time_iso_8601": "2023-10-06T00:29:25.111490Z",
            "url": "https://files.pythonhosted.org/packages/be/43/05ea60eba99d4cf8ba3f4c513df83c0fcaca1739b74592b5534184085be6/webp-0.3.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "69b6657fc16641e84c7271017844be132884fcf390deafd031cc341ab96897a7",
                "md5": "13b7a7c9157462b12cf24a44275825cc",
                "sha256": "f77f1a387e0c972f22163eb503b2d4a7e716bb352f6a06774111bcb62e5a60e7"
            },
            "downloads": -1,
            "filename": "webp-0.3.0-cp39-cp39-win_arm64.whl",
            "has_sig": false,
            "md5_digest": "13b7a7c9157462b12cf24a44275825cc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 188379,
            "upload_time": "2023-10-06T00:29:27",
            "upload_time_iso_8601": "2023-10-06T00:29:27.322790Z",
            "url": "https://files.pythonhosted.org/packages/69/b6/657fc16641e84c7271017844be132884fcf390deafd031cc341ab96897a7/webp-0.3.0-cp39-cp39-win_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7a907076ccbf2a6dab0c54461249f598bd926aa94b6cbe58eade792fa5a05f25",
                "md5": "bdf4b5ff4bcc3829ca90df7f77bb6501",
                "sha256": "14be1d3b0b2efca620bf7d2ea028de8f618219b1ba7b2a83097ea35b7f2e7565"
            },
            "downloads": -1,
            "filename": "webp-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "bdf4b5ff4bcc3829ca90df7f77bb6501",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 18774,
            "upload_time": "2023-10-06T00:29:29",
            "upload_time_iso_8601": "2023-10-06T00:29:29.646047Z",
            "url": "https://files.pythonhosted.org/packages/7a/90/7076ccbf2a6dab0c54461249f598bd926aa94b6cbe58eade792fa5a05f25/webp-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-06 00:29:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "anibali",
    "github_project": "pywebp",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "webp"
}
        
Elapsed time: 0.11824s