Skip to main content

A Python wrapper for the AY-3-8910 and AY-3-8912 sound chip emulators, featuring real-time audio playback and cycle-accurate synthesis.

Project description

AY-3-8910 Standalone Library and Python Wrapper

A Python wrapper for the AY-3-8910 and AY-3-8912 sound chip emulators, featuring real-time audio playback and cycle-accurate synthesis.

A Note on this Project's Origin

This project is primarily the result of a series of experiments using various IA Code Assists for code generation and error handling. Rather than using it on academic examples, it seemed more interesting to apply it to a project that could meet a real practical need.

This, therefore, is the reason for AY8910's existence: you can dissect the code to see how Gemini and Junie (with my guidance) went about building it, or you can ignore all that and just use this library for your own needs!

This project contains a standalone C++ library for the AY-3-8910 sound chip. It features three emulation engines:

  • Caprice32-based (ay8912_cap32): The recommended engine for all new projects. It offers superior accuracy, stereo mixing, and integrated live audio support.
  • Ay_Emul31-based (ay_emul31): A port of Sergey Bulba's Ay_Emul 3.1. It provides high-quality mono emulation with accurate AY and YM volume tables.
  • MAME-based (ay8910): Kept primarily for historical reasons and legacy compatibility.

It also includes a Python wrapper to make these emulators accessible from Python scripts, allowing for programmatic chiptune generation and .ym file playback.

Quick Start (Live Audio)

import ay8910_wrapper as ay
import time

# Initialize
psg = ay.ay8912_cap32(1000000, 44100)
psg.set_stereo_mix(255, 13, 170, 170, 13, 255)

# Start live playback!
psg.play()

# Set registers - sound changes immediately
psg.set_register(0, 254) # Tone A Fine
psg.set_register(1, 0)   # Tone A Coarse
psg.set_register(7, 0x3E) # Enable Channel A
psg.set_register(8, 15)   # Max volume

time.sleep(1)
psg.stop()
# Play a .ym file using the new live script (defaults to Caprice32)
python scripts\ym_live_player.py PATH\TO\YM_FILE.YM

# Use the MAME or Ay_Emul31 engines
python scripts\ym_live_player.py PATH\TO\YM_FILE.YM --mame
python scripts\ym_live_player.py PATH\TO\YM_FILE.YM --ay_emul31

Installation

You can install the library directly from PyPI:

pip install ay8910_wrapper

This will automatically install the necessary dependencies (lhafile, numpy, sounddevice).

For developers who want to compile from source or contribute, please refer to the Contributing Guide.

Basic Usage in Python (Legacy MAME engine)

Note: This section demonstrates the legacy ay8910 class. For modern applications, please refer to the Quick Start section or the Caprice32 section below.

import ay8910_wrapper as ay
import wave
import struct

# Helper to write WAV files
def write_wav(filename, samples, sample_rate):
    with wave.open(filename, 'wb') as f:
        f.setnchannels(1)
        f.setsampwidth(2)
        f.setframerate(sample_rate)
        packed_samples = struct.pack('<' + 'h' * len(samples), *samples)
        f.writeframes(packed_samples)

# --- Main Program ---

# 1. Initialize the emulator
clock = 2000000  # 2 MHz, a common clock for this chip
sample_rate = 44100
psg = ay.ay8910(ay.psg_type.PSG_TYPE_AY, clock, 1, 0)
psg.set_flags(ay.AY8910_LEGACY_OUTPUT)
psg.start()
psg.reset()

# 2. Program the chip registers
# Enable Tone on Channel A, disable everything else
psg.address_w(7)
psg.data_w(0b00111110)

# Set Channel A frequency to Middle C (261.63 Hz)
period = int(clock / (16 * 261.63))
psg.address_w(0)  # Fine tune
psg.data_w(period & 0xFF)
psg.address_w(1)  # Coarse tune
psg.data_w((period >> 8) & 0x0F)

# Set Channel A volume to max
psg.address_w(8)
psg.data_w(15)

# 3. Generate audio
# Generate 2 seconds of audio
num_samples = sample_rate * 2
samples = psg.generate(num_samples, sample_rate)

# 4. Save the result
write_wav("tone_output.wav", samples, sample_rate)
print("Generated 'tone_output.wav'")

For a complete list of all available functions, classes, and constants, please see the API Reference.

Scripts and Tools

The project includes several scripts for playing chiptunes and running tests. For a detailed description of how to use them, please see the Scripts and Tools page.

Recommended: Caprice32 (Amstrad CPC) Emulation

The Caprice32 engine is the preferred choice for most users. It provides more authentic sound synthesis and advanced features like stereo panning.

# Initialize the Caprice32-style emulator
psg_cpc = ay.ay8912_cap32(clock, sample_rate)
# Set standard CPC stereo mix (Channel A=Left, B=Center, C=Right)
psg_cpc.set_stereo_mix(255, 13, 170, 170, 13, 255)

# Generate stereo audio (interleaved)
stereo_samples = psg_cpc.generate(num_samples)

Contributing Guide

If you wish to contribute to the project or compile it from source, please refer to our Contributing Guide.

It contains all the necessary information about:

  • The development workflow (GitHub Flow)
  • Using uv for environment management
  • Compilation and test commands
  • Continuous integration processes (GitHub Actions)

Acknowledgments

This project relies on the incredible work of the following open-source projects:

  • MAME: The original AY-3-8910 and YM2149 emulation cores were derived from the MAME project. Their commitment to accuracy and historical preservation is a cornerstone of this library.
  • Caprice32: The Amstrad CPC-specific PSG emulation logic and amplitude tables were integrated from the Caprice32 project, providing authentic sound for CPC-related audio tasks.
  • Ay_Emul: The ay_emul31 engine is based on the work of Sergey Bulba. It's a port of his original Pascal source code (version 3.1) to C++.
  • Sergey Bulba: Special thanks for the AY/YM amplitude tables used in the Caprice32 and Ay_Emul31 engines, which are essential for reproducing the characteristic sound of these chips.
  • Gemini & Junie: This project was built with the assistance of AI, demonstrating the potential of human-AI collaboration in software development.

License

This project is licensed under the MIT License - see the License for details. The original MAME and Caprice32 cores have their own licensing terms (see LICENSE_MAME.md).

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

ay8910_wrapper-0.9.0.tar.gz (173.6 kB view details)

Uploaded Source

Built Distributions

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

ay8910_wrapper-0.9.0-cp314-cp314-win_amd64.whl (132.8 kB view details)

Uploaded CPython 3.14Windows x86-64

ay8910_wrapper-0.9.0-cp314-cp314-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

ay8910_wrapper-0.9.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (161.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ay8910_wrapper-0.9.0-cp314-cp314-macosx_11_0_arm64.whl (128.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ay8910_wrapper-0.9.0-cp313-cp313-win_amd64.whl (129.7 kB view details)

Uploaded CPython 3.13Windows x86-64

ay8910_wrapper-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

ay8910_wrapper-0.9.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (161.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ay8910_wrapper-0.9.0-cp313-cp313-macosx_11_0_arm64.whl (127.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ay8910_wrapper-0.9.0-cp312-cp312-win_amd64.whl (129.7 kB view details)

Uploaded CPython 3.12Windows x86-64

ay8910_wrapper-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

ay8910_wrapper-0.9.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (161.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ay8910_wrapper-0.9.0-cp312-cp312-macosx_11_0_arm64.whl (127.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ay8910_wrapper-0.9.0-cp311-cp311-win_amd64.whl (128.8 kB view details)

Uploaded CPython 3.11Windows x86-64

ay8910_wrapper-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

ay8910_wrapper-0.9.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (158.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ay8910_wrapper-0.9.0-cp311-cp311-macosx_11_0_arm64.whl (127.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ay8910_wrapper-0.9.0-cp310-cp310-win_amd64.whl (128.0 kB view details)

Uploaded CPython 3.10Windows x86-64

ay8910_wrapper-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

ay8910_wrapper-0.9.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (157.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ay8910_wrapper-0.9.0-cp310-cp310-macosx_11_0_arm64.whl (126.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

ay8910_wrapper-0.9.0-cp39-cp39-win_amd64.whl (131.8 kB view details)

Uploaded CPython 3.9Windows x86-64

ay8910_wrapper-0.9.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

ay8910_wrapper-0.9.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (157.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

ay8910_wrapper-0.9.0-cp39-cp39-macosx_11_0_arm64.whl (126.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file ay8910_wrapper-0.9.0.tar.gz.

File metadata

  • Download URL: ay8910_wrapper-0.9.0.tar.gz
  • Upload date:
  • Size: 173.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ay8910_wrapper-0.9.0.tar.gz
Algorithm Hash digest
SHA256 83db2f5d74056c0f9f886aecd22e9628c15c4d77a5c60356158d97c8dbe32bc0
MD5 d75797db12a9079b57c8ab44e06b2f0c
BLAKE2b-256 55732a93012bbf78c789bf5d1f812d8fbe3515a730c885c4ce828c9196f51a59

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0.tar.gz:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 69590989a286636beb1150478358081307ac77fe918291833c9510d05699ba11
MD5 24d4f9afe402ac6381c3502e0d9de10f
BLAKE2b-256 d7022d8b3bedde86f6e9b7eb3168b1082bb3cee5ea9672f02435f21bc25977e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp314-cp314-win_amd64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4c62ca892168fccda1c100ac26368366fb06bdd1236db8acb37ba00a6b96e025
MD5 9cbf60199dc335f7963de162f2248883
BLAKE2b-256 a49a5db56c1b8ba0ff584fd90b8746de2042e1449cdba255de2d1f494116e796

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6e22c196123424de1b814ae211a0ff06d03a03d2d201194d4b0c3be371f2ec79
MD5 031b55e64fe845b9ef6ca1c3e8d4b5b3
BLAKE2b-256 f566c133402c8ac28079ddb478ecba9dd944ce1ba0cdcff3cd53e9823cd34210

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b3b50c37eb5b6a3cbf02d9e2fd48195a9eec213997129448ac6d78f45f5023ad
MD5 359b76c4c13f6a73aae496a32d72dc0f
BLAKE2b-256 de3b0f7e22191dc4926e8c9ff378632a5a3164ef02cc65ff29e5dedcc85e8822

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1ab4f430bfbff575ef2775f72c562815cd326e7640b0f88a05ec039160a7c0da
MD5 f1e51eaa0911daa43851bee1331906bd
BLAKE2b-256 bcc9260a28234aa3d379f6babce8c0a078b94f455ade6aaab082a845b54e9d0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp313-cp313-win_amd64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 588929f74f66a3991e8bf9fd4f1feba1d2a5683262404d2e5884e1466a3ab328
MD5 d4edc1f9bb57036b5999e150471541d8
BLAKE2b-256 a44a9abcf4f66b18f4860cb307fdb484b6e2852d4752c7957750e3369ba90454

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c765d95088646d091bec336525f44b260fedf41750f48bf4f0d1635bd5c2d5d6
MD5 abbbcfdd83c9607e2a41a97581325846
BLAKE2b-256 b11643a7313e20d2180eb7914814332116ffc9763da4612fc2ae3ed6aa6fe710

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ffc080d8d367b3e3ca63c46083939b9939c955ed7170150f9c3a7db3340801e9
MD5 f3162f85ccc606706e26f127fb0c1dde
BLAKE2b-256 0abb99662bf5d46e1dbb9371fe4da77affb90780a97b5231276865ae859f7e43

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6515b5669444f5f6d0f5c28aac18d145270ccd302ae1ca5ff2c595e1da673be8
MD5 b073b875c0bca0ce841ddb12365e495d
BLAKE2b-256 2ef9177cbae1a9dc6665b1bf0a48d97004f53b7639f26d449685c6581221f9bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp312-cp312-win_amd64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f8b39b31a1d472914ae751ffffbc109135daddf0ca5367ccb0714a34433d5024
MD5 a4da2eb58eef2f4d42930b5d801ce4c5
BLAKE2b-256 aa986d8b45e8d93a481b1c5f1d3df7d4afd27aa1ad608710bd7b6a7dd38d675a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 98f433254676122bab0b5704cf3df484188d416bfea1db4c9873dcd25e1d6f13
MD5 d3232fed4817bf4edb2406a736a97b25
BLAKE2b-256 7e3837aa1aaed975e5bb32e7832028350eecf54d5d0b3be2988ee795247a006a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a157c600d640c355c07a5c61614954f5432b55dc6fe86ee79569172d192e836
MD5 77591c5ac9beee2410daeb1624f479a7
BLAKE2b-256 ca04e6beb85a5ba56875377a0faf8307e32749e4decfc2a30a072a18683b63f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 41a265149c700f96c21098aad2ec33fb6ccd039ef6aa2cfe859f7427d673211d
MD5 de26eeda76261efca836088211feeabb
BLAKE2b-256 71b14cbceae5dfaeb268e53c660d3a1f1c68856099ba6bcde2b11597a6f5148a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp311-cp311-win_amd64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c7baee6ecdad1de1740f5d99a5a48e381e3a34b47df536ab9be79de7fa5a4039
MD5 eb23a112b43d05509798f559438eccd3
BLAKE2b-256 cc12a917a5d81c344f30398623de760ae51e9f3992dcc327023b1727c8799d21

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9174e2dea3ba2fe8c1d5b6f277d6df2e4a4a95e5cabd620fd1bd8388b2a03f86
MD5 0f5c38385916ebcc7b3ad98146afc29d
BLAKE2b-256 996c08ed2261ca3b95ef9f3e101e642ed0aebef9a5ebeed5dd84d0752983f61d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc041409bf7b0b2ed830882fd9616d9990dc8d19e5161dfbd644dd8e0b720adc
MD5 debbaab3b1f9dc91a007c875945b1adc
BLAKE2b-256 926ff0665e797982d65cb337a1de9e70a0ae19957892bb68b04ee2abed502019

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 97aa30229448e91600c5c9906b8f1d446922bd75ae0a3f6a8034b151ceff3ba2
MD5 5a298ebfa78d94c4689f0f1439a26e09
BLAKE2b-256 fe5cf09fae1ec25822e5608e53842aa221b8b2e77c38e41b4cb24ef0df238f9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp310-cp310-win_amd64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 63feb2a7c8c78bd39f0c628630e0804404816f6d732bbebfe3f8b5e656ef1f35
MD5 9e4f3c49ed66fa8d18d624e10d86b3ff
BLAKE2b-256 a1fcdae2ba33500b7affad1a893497025cefdae8633c1077b30cd07c98d3610e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8555c6b5dd108a4f6ac25033f216c49b140a438f962ea5b7b1e15e0020dcf20b
MD5 bfc0849a2b55e5dd404933449292ff3b
BLAKE2b-256 a65ad3e4360bea9fbf05f060ec3f6f66c2906d1835debc3522013f836c3d9f89

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac485ff5c5ec8f2c83b197571720f9127e2ecb51c45c069e67eac11288442383
MD5 fffc9f498a0b831e189bc063ba4cdd29
BLAKE2b-256 b1f824a56de4e441dc21f7766b7220b28a75604e3dc13d9bc67307e2b9f9a12d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 01c48a3e07b10f757dbb6d488b1fa1c58a500ea11713bd2e85165172da1acdc5
MD5 01fb18e0b58be26a13f1d7fad8a040ae
BLAKE2b-256 7c5ab0a49a48b26a33007c038514667af18c05a9aa3d7db6b6ce7a0c1a98998a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp39-cp39-win_amd64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 baff56c1ecd55210b4d6a9ff9c4bcc8cf7e020b2c41aa6dd62d47281cde62c3d
MD5 ad8159601e8f83313e468e9403cf4e96
BLAKE2b-256 7da3309ebde055afb1f9d1f28c9323f003522decf3163161038fef0db3f10758

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 65dfaefeadd702e59141b3a12c9d63166797de8a299739fcbb93f00fa8c8965a
MD5 84838dd0ca9db4348c561107947a93b8
BLAKE2b-256 df14af066766863d5275dbf4dab3112efebce176e13a9995c07f2cf9ef898877

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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

File details

Details for the file ay8910_wrapper-0.9.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-0.9.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4d843489557208d5789c5292aeee1149a1d0b9fe1de40445d543cb4dbf783038
MD5 56e61ff7d2560496c9cd3625b7503bea
BLAKE2b-256 2773ca49e837177fa373cf1816cde240a0ded8514f5759648d2749a972985aab

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-0.9.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: build_and_publish.yml on devfred78/ay8910

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