Skip to main content

webcodecs-py

Project description

webcodecs-py

PyPI SPEC 0 — Minimum Supported Dependencies image License Actions status

About Shiguredo's open source software

We will not respond to PRs or issues that have not been discussed on Discord. Also, Discord is only available in Japanese.

Please read https://github.com/shiguredo/oss/blob/master/README.en.md before use.

時雨堂のオープンソースソフトウェアについて

利用前に https://github.com/shiguredo/oss をお読みください。

webcodecs-py について

webcodecs-py は WebCodecs API API を Python で利用できるようにするライブラリです。

特徴

  • WebCodecs API の Python バインディング
  • Opus、FLAC、AAC、VP8、VP9、AV1、H.264、H.265 コーデックをサポート
    • AAC は macOS の AudioToolbox を利用
    • H.264 と H.265 は macOS の VideoToolbox または NVIDIA Video Codec を利用
  • Apple Audio Toolbox と Video Toolbox を利用したハードウェアアクセラレーション対応 (macOS)
  • NVIDIA Video Codec SDK を利用したハードウェアアクセラレーション対応 (Ubuntu x86_64)
    • NVIDIA Video Codec を利用する場合は NVIDIA ドライバー 570.0 以降が必要
  • NumPy の ndarray を直接利用できる
  • クロスプラットフォーム対応
    • macOS arm64
    • Ubuntu x86_64 および arm64
    • Windows x86_64
      • Windows はソフトウェアエンコード/デコードのみ対応

開発状況は webcodecs-py 対応状況 をご確認ください。

実装しない機能

  • ImageDecoder: 画像デコード機能は実装対象外
    • Pillow や OpenCV を使用してください
  • CanvasImageSource: VideoFrame の CanvasImageSource コンストラクタはブラウザ固有機能のため実装対象外

サンプルコード

Opus オーディオエンコード

import numpy as np

from webcodecs import (
    AudioData,
    AudioDataInit,
    AudioEncoder,
    AudioEncoderConfig,
    AudioSampleFormat,
)

sample_rate = 48000
frame_size = 960  # 20ms @ 48kHz

# エンコーダを作成
encoded_chunks = []


def on_output(chunk):
    encoded_chunks.append(chunk)


def on_error(error):
    raise RuntimeError(f"エンコーダエラー: {error}")


encoder = AudioEncoder(on_output, on_error)
encoder_config: AudioEncoderConfig = {
    "codec": "opus",
    "sample_rate": sample_rate,
    "number_of_channels": 1,
    "bitrate": 64000,
}
encoder.configure(encoder_config)

# サイン波を生成してエンコード
t = np.linspace(0, frame_size / sample_rate, frame_size, dtype=np.float32)
audio_samples = (np.sin(2 * np.pi * 440 * t) * 0.5).reshape(frame_size, 1)

init: AudioDataInit = {
    "format": AudioSampleFormat.F32,
    "sample_rate": sample_rate,
    "number_of_frames": frame_size,
    "number_of_channels": 1,
    "timestamp": 0,
    "data": audio_samples,
}

# with 文で AudioData を使用(自動的に close される)
with AudioData(init) as audio_data:
    encoder.encode(audio_data)

encoder.flush()

print(f"エンコード完了: {len(encoded_chunks)} チャンク")

encoder.close()

AV1 ビデオエンコード

import numpy as np

from webcodecs import (
    LatencyMode,
    VideoEncoder,
    VideoEncoderConfig,
    VideoFrame,
    VideoFrameBufferInit,
    VideoPixelFormat,
)

width, height = 320, 240

# エンコーダを作成
encoded_chunks = []


def on_output(chunk):
    encoded_chunks.append(chunk)


def on_error(error):
    raise RuntimeError(f"エンコーダエラー: {error}")


encoder = VideoEncoder(on_output, on_error)
encoder_config: VideoEncoderConfig = {
    "codec": "av01.0.04M.08",
    "width": width,
    "height": height,
    "bitrate": 500_000,
    "framerate": 30.0,
    "latency_mode": LatencyMode.REALTIME,
}
encoder.configure(encoder_config)

# I420 フォーマットのテストフレームを作成
data_size = width * height * 3 // 2
frame_data = np.zeros(data_size, dtype=np.uint8)
init: VideoFrameBufferInit = {
    "format": VideoPixelFormat.I420,
    "coded_width": width,
    "coded_height": height,
    "timestamp": 0,
}

# with 文で VideoFrame を使用(自動的に close される)
with VideoFrame(frame_data, init) as frame:
    encoder.encode(frame, {"key_frame": True})

encoder.flush()

print(f"エンコード完了: {len(encoded_chunks)} チャンク, {encoded_chunks[0].byte_length} bytes")

encoder.close()

インストール

uv add webcodecs-py

コーデック

Python

  • 3.14
  • 3.13
  • 3.12

プラットフォーム

  • macOS 26 arm64
  • macOS 15 arm64
  • Ubuntu 24.04 LTS x86_64
  • Ubuntu 24.04 LTS arm64
  • Ubuntu 22.04 LTS x86_64
  • Ubuntu 22.04 LTS arm64
  • Windows 11 x86_64
  • Windows Server 2025 x86_64

ビルド

make develop

テスト

uv sync
make test

サンプル

uv sync --group example
make develop
uv run python examples/blend2d_to_mp4.py

ライセンス

Apache License 2.0

Copyright 2025-2025, Shiguredo Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

NVIDIA Video Codec SDK

https://docs.nvidia.com/video-technologies/video-codec-sdk/13.0/index.html

https://docs.nvidia.com/video-technologies/video-codec-sdk/13.0/license/index.html

“This software contains source code provided by NVIDIA Corporation.”

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

webcodecs_py-2025.2.0-cp314-cp314-win_amd64.whl (5.5 MB view details)

Uploaded CPython 3.14Windows x86-64

webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_38_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.38+ x86-64

webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_38_aarch64.whl (5.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.38+ ARM64

webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_35_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.35+ x86-64

webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_35_aarch64.whl (5.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.35+ ARM64

webcodecs_py-2025.2.0-cp314-cp314-macosx_15_0_arm64.whl (4.4 MB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

webcodecs_py-2025.2.0-cp313-cp313-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.13Windows x86-64

webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_38_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.38+ x86-64

webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_38_aarch64.whl (5.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.38+ ARM64

webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_35_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ x86-64

webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_35_aarch64.whl (5.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ ARM64

webcodecs_py-2025.2.0-cp313-cp313-macosx_15_0_arm64.whl (4.4 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

webcodecs_py-2025.2.0-cp312-cp312-win_amd64.whl (5.4 MB view details)

Uploaded CPython 3.12Windows x86-64

webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_38_x86_64.whl (6.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.38+ x86-64

webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_38_aarch64.whl (5.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.38+ ARM64

webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_35_x86_64.whl (5.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ x86-64

webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_35_aarch64.whl (5.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ ARM64

webcodecs_py-2025.2.0-cp312-cp312-macosx_15_0_arm64.whl (4.4 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

File details

Details for the file webcodecs_py-2025.2.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b5b9886f3cef9365a719842265b52fe524960bf8cb59df1818f71518a7e6a20d
MD5 6b1d16736d5145ce67cfc482b4a38a0c
BLAKE2b-256 8dbe7d837a0fa0e1285147ba306b790fd8df99e4e0aabf9af5b7ef7ece2ee09e

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp314-cp314-win_amd64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 fabbd344a25c23e3af05b7cc32876e595328749ab6ce0f24a040bfb068e0aeda
MD5 2b361cec1cf7e24fa088cdc14ec83768
BLAKE2b-256 def11cdf7bdf367ac0230ebc92be61bd5da443e0665ee9ffc61a1d85a6e39b8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_38_x86_64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_38_aarch64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_38_aarch64.whl
Algorithm Hash digest
SHA256 ce90b0961026fa95174f2bf29e2c4963d74cca9407f988f3b2e5c733013b3d34
MD5 9823bc96b974e05f5f02ee3110365633
BLAKE2b-256 c8e66cbbfe7814e07503e1ec491b1728f2a3783ba01fdd9b8ffb00a649c64f4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_38_aarch64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 ceedb066a6f545cc39fda3e4e550c71a9afffcc1bcd555c70753d77757e1429c
MD5 63333d7c774962257d42a959ab92f793
BLAKE2b-256 ef3fb466e460422d2d820f1138f1d0e39e62c570cb1f5008893b321a0f8306bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_35_x86_64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 208f4548b01ac0df93ff6ee69e544d58c7342fd1278a2fe4875a04ee35ceb5f0
MD5 5a5bfba6af148b29bbb266280a62c23b
BLAKE2b-256 dcd79176896d6479e2491026cd46814a480d48cd54f5b96c21736d2c8cfe91f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp314-cp314-manylinux_2_35_aarch64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 ad1542559fedea74e119255c1469685744fb44b0738ae4848ed63d4964035f81
MD5 6646b4cd47dc2e589af3791c559b2f53
BLAKE2b-256 916282f11d6a385bc509740ee6acfd2833cfc2e79bdec8b87d5acd1eb101e2db

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp314-cp314-macosx_15_0_arm64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f0540770cd5e4f4e3bdb5b5f66ce18ca1843cf5ab5d435b81efd3d455088dd70
MD5 e646acd7f889f380c6310dd0babb0d7d
BLAKE2b-256 93f2357dab1215a4e1a800671cdce2bf640b962d0256b98d8e4ecda180706d6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp313-cp313-win_amd64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 6e7d483fcb4e224c2f779708b2954f45224e1f3b5c2b19c614b414d93cbb3418
MD5 33bbbc45d26c2a089fcea37d2ba66d03
BLAKE2b-256 a0d89773bb04a796c4383b0904fef6bff26d6bd61a64a2db3080e01fde2176e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_38_x86_64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_38_aarch64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_38_aarch64.whl
Algorithm Hash digest
SHA256 95c82a7c549e497f91883bebd5098f3e880fdaeda72f68e80815360bc7f3a98c
MD5 b7878d51b304dcc5e17b00ddbc93c8c9
BLAKE2b-256 49ca6013c3b29b4be818c135c39ece3e0d50333fb79b94a7199e6467604b7543

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_38_aarch64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 11aeca51427e5106e81a4fbe00eb4347af7f51b159a51674dfc9bfa94c061c75
MD5 b13cf722da89f88964440f842e6768a3
BLAKE2b-256 e9034a34f79e2435a5529a7434246b4e536158580146758bad221a2ab604e505

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_35_x86_64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 9133f2e3637dc816baa6928795af54f4b29073a36061b640d83e4285d2040f81
MD5 b523990ece61993633055ef5e93b7467
BLAKE2b-256 920857f7e1c377cf55ec79fa78c865bdd78aa46b8386d8c35223666efbb5fb43

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp313-cp313-manylinux_2_35_aarch64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 edbff113d00495e347d0cbe7533153b5bc6960e2355db27ca594c5326721fdab
MD5 a7875404684f87bb63291fba06a758ab
BLAKE2b-256 4d23c5cc7c51525b4e739db1d77acd1f7f411740ac8a707bd992d5c944da0f2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp313-cp313-macosx_15_0_arm64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a112b1a70a8a48289d976b0aafe6092f37980d4d395d4b0857133c6a63d6f69f
MD5 f1f0ce702b637d1cd5792d00b56f2ddb
BLAKE2b-256 1279f5efc7948db277e11595fec985c6076e4def9c03594a6dbc771d5cfc09dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp312-cp312-win_amd64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 2191061f0fc1abdacb5028715039ce6f1f0af4c670f383bd47ece344e94de7ca
MD5 d7efed58457a7319f6a4b6e94c91f3d9
BLAKE2b-256 ce451e0357ba16fe32df8c56bceafe8030306f76fcd568d8b5edcf1a1f1d2d7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_38_x86_64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_38_aarch64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_38_aarch64.whl
Algorithm Hash digest
SHA256 04fda0c37b9770e3e4ffa2da795ae4798719901c4d1e2673285a635eff107dcc
MD5 0bd1f5f33dfd0a93167f7287685443ec
BLAKE2b-256 0e88da5e8ebd5211b94d6bb82dcd0299c02e524f3118d74716756b2210d2c8b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_38_aarch64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 3b9823ef0622e32f833549d44d99ae99af81883dd0591fe91eb1a7b23d42dcdb
MD5 b52f97ae104c24b5aa79a716d69b9953
BLAKE2b-256 b16ef221380f014464900a13d32a53058a6bba81732c0b85175db84d74c575b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_35_x86_64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 a599dfa2d18815c2b8d4fe4883d7ec0beb936e85161c1f19084b4f1cb936dcbd
MD5 1219f54cd008e25ca2f1a56942fc3ec2
BLAKE2b-256 377fd4664ffc49b276df15ebf19c5f7e768f242d19c7ae71c709e2eebea22c32

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp312-cp312-manylinux_2_35_aarch64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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

File details

Details for the file webcodecs_py-2025.2.0-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for webcodecs_py-2025.2.0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 82f329b41a326c5e6634daa29168401b5cd596156338b6cfcf4e91ae2c315a3c
MD5 120f71581690559b089e21650264f208
BLAKE2b-256 2f78d5136d2eb81db27379fc51b9e65c740c8f21412108a2832fed98b096accb

See more details on using hashes here.

Provenance

The following attestation bundles were made for webcodecs_py-2025.2.0-cp312-cp312-macosx_15_0_arm64.whl:

Publisher: wheel.yml on shiguredo/webcodecs-py

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