Skip to main content

A Python wrapper for the AY-3-8910, AY-3-8912 and AY-3-8913 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, AY-3-8912 and AY-3-8913 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 now features a unified API with three main classes:

  • ay8910: Emulates the 3-channel PSG with 2 I/O ports.
  • ay8912: Emulates the 3-channel PSG with 1 I/O port.
  • ay8913: Emulates the 3-channel PSG with 0 I/O port.

At instantiation, you can choose between three emulation backends:

  • CAPRICE32 (default): The recommended engine. High accuracy, stereo mixing, and integrated live audio.
  • MAME: Based on the MAME implementation.
  • AY_EMUL31: A port of Sergey Bulba's Ay_Emul 3.1.

Quick Start (Live Audio)

import ay8910_wrapper as ay
import time

# Initialize an AY-3-8912 using the Caprice32 backend (default)
psg = ay.ay8912(clock=1000000, sample_rate=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 Tone A, disable others
psg.set_register(8, 15)   # Max volume

time.sleep(1)
psg.stop()
# Play a .ym file using the live player
ym_live_player PATH\TO\YM_FILE.YM

# Explicitly choose a backend
ym_live_player PATH\TO\YM_FILE.YM --backend MAME
ym_live_player PATH\TO\YM_FILE.YM --backend AY_EMUL31

Installation

You can install the library directly from PyPI:

# Base installation (emulator only)
pip install ay8910_wrapper

# Full installation with playback tools and LHA support
pip install ay8910_wrapper[tools]

The base installation has no external dependencies. The [tools] option adds lhafile, numpy, and sounddevice which are required for the command-line players and real-time audio output.

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

Usage Examples

1. Basic Tone (Live Playback)

The simplest way to hear a sound in real-time.

import ay8910_wrapper as ay
import time

# Create an AY-3-8912 (1 I/O port) as used in Amstrad CPC
psg = ay.ay8912(backend=ay.Backend.CAPRICE32, clock=1000000)

# Start live audio
psg.play()

# Set a 440Hz tone on Channel A
# Period = 1000000 / (16 * 440) ≈ 142
psg.set_register(0, 142 & 0xFF)
psg.set_register(1, (142 >> 8) & 0x0F)
psg.set_register(7, 0xFE)  # Enable Tone A
psg.set_register(8, 15)    # Max volume

time.sleep(1)
psg.stop()

2. Generating Audio Data (WAV Export)

Generate samples manually and save them to a file.

import ay8910_wrapper as ay
import wave, struct

psg = ay.ay8910(backend=ay.Backend.MAME, clock=2000000)

# Configure a noise effect (e.g., snare drum)
psg.set_register(6, 15)   # Noise period
psg.set_register(7, 0xF7) # Enable Noise on Channel A
psg.set_register(8, 16)   # Use envelope
psg.set_register(11, 0)   # Envelope period fine
psg.set_register(12, 10)  # Envelope period coarse
psg.set_register(13, 0x00) # Decay shape (\___)

# Generate 0.5s of audio at 44100Hz
samples = psg.generate(22050)

with wave.open("noise_effect.wav", "wb") as f:
    f.setnchannels(1)
    f.setsampwidth(2)
    f.setframerate(44100)
    f.writeframes(struct.pack('<' + ('h' * len(samples)), *samples))

3. Advanced Configuration (MAME & Resistors)

Simulate specific hardware analog characteristics.

import ay8910_wrapper as ay

# Use MAME backend for advanced hardware flags
psg = ay.ay8910(backend=ay.Backend.MAME, clock=1750000)

# Enable resistor-based output modeling (high accuracy)
psg.set_flags(ay.AY8910_RESISTOR_OUTPUT | ay.AY8910_SINGLE_OUTPUT)

# Set specific load resistors for ZX Spectrum (~1k Ohm)
psg.set_resistors_load(1000.0, 1000.0, 1000.0)

psg.play()
# ... program registers ...

4. Using DirectOutput for manual playback control

For more fine-grained control over the audio stream, use the DirectOutput class directly.

import ay8910_wrapper as ay
from ay8910_wrapper import DirectOutput

# Create any PSG instance
psg = ay.ay8910(backend=ay.Backend.MAME)

# Initialize and start the audio output manually
audio = DirectOutput(psg)
audio.start()

# ... sound generation ...

# Stop playback when done
audio.stop()

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.

Unified Architecture

The new architecture allows you to choose the exact chip model and the emulation engine that best fits your needs.

# Initialize an AY-3-8910 (2 I/O ports) using the Caprice32 backend
psg_8910 = ay.ay8910(backend=ay.Backend.CAPRICE32)

# Initialize an AY-3-8912 (1 I/O port) using the MAME backend
psg_8912 = ay.ay8912(backend=ay.Backend.MAME)

# Initialize an AY-3-8913 (0 I/O ports) using the Ay_Emul31 backend
psg_8913 = ay.ay8913(backend=ay.Backend.AY_EMUL31)

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-1.0.0.tar.gz (183.2 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-1.0.0-cp314-cp314-win_amd64.whl (143.0 kB view details)

Uploaded CPython 3.14Windows x86-64

ay8910_wrapper-1.0.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-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (171.7 kB view details)

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

ay8910_wrapper-1.0.0-cp314-cp314-macosx_11_0_arm64.whl (138.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

ay8910_wrapper-1.0.0-cp313-cp313-win_amd64.whl (139.9 kB view details)

Uploaded CPython 3.13Windows x86-64

ay8910_wrapper-1.0.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-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (171.8 kB view details)

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

ay8910_wrapper-1.0.0-cp313-cp313-macosx_11_0_arm64.whl (137.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

ay8910_wrapper-1.0.0-cp312-cp312-win_amd64.whl (139.9 kB view details)

Uploaded CPython 3.12Windows x86-64

ay8910_wrapper-1.0.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-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (171.8 kB view details)

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

ay8910_wrapper-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (137.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

ay8910_wrapper-1.0.0-cp311-cp311-win_amd64.whl (138.9 kB view details)

Uploaded CPython 3.11Windows x86-64

ay8910_wrapper-1.0.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-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (169.1 kB view details)

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

ay8910_wrapper-1.0.0-cp311-cp311-macosx_11_0_arm64.whl (137.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

ay8910_wrapper-1.0.0-cp310-cp310-win_amd64.whl (138.1 kB view details)

Uploaded CPython 3.10Windows x86-64

ay8910_wrapper-1.0.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-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (167.8 kB view details)

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

ay8910_wrapper-1.0.0-cp310-cp310-macosx_11_0_arm64.whl (136.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

ay8910_wrapper-1.0.0-cp39-cp39-win_amd64.whl (142.0 kB view details)

Uploaded CPython 3.9Windows x86-64

ay8910_wrapper-1.0.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-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (167.5 kB view details)

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

ay8910_wrapper-1.0.0-cp39-cp39-macosx_11_0_arm64.whl (136.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for ay8910_wrapper-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8d5af2cedb837c889db81b7e1a21f4239284ee6e5eed4623c160a238b169000a
MD5 29a9d5c7b360a5f9c30ea300f039fc35
BLAKE2b-256 ef1457e2ab84e0b385e944a975cdbc1afd58c6be6b1006f680a15d485caf6842

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6673fba9a7e92164653ea7a6734406502e120a336e94663c603b379596f15f38
MD5 ef274524106d567baa66d84a5decedee
BLAKE2b-256 5684b0922b05dca1c5a0a063ca610d1d0a50057481224bbc314e38863f7262c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8750b65203cbeacf73f2f0dbb66964b22df548729e82af33d84178d209c852c3
MD5 068bf620802f43a2cad2f5aa49d3177d
BLAKE2b-256 c9acda036da7b2d20b57ee30fa172508c3927e380a37e1e03088ac1a3ca55d3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e0b2b437d6690a1c7cb1c018c8177bc468b6b993a3b34bac3a3a2221fa2ce1e8
MD5 22f1b00ec15cf3ccd1c70c9768595209
BLAKE2b-256 389bc25229ac5500ca56256527fc9c28267a754c05d0a1fb1c2307bc67a7fd48

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e241f5e7e724f92e99cee5a3780e45a9f1f2e69983348178df313663345258fc
MD5 742bed3b11024a21fa3aa3b1fb361f04
BLAKE2b-256 0500f05bfcb4a75885b3c1299b6aa982209ffa81906674bea44ba3c1cb55182d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3ed6aabef803b7011d2e43301fc2eb6a16ecf9702b55eb22c966f0feaa3f1dfa
MD5 877bf4fb37f0ed83a1288cb5c95bcd10
BLAKE2b-256 67eb2563108a0f65688c8ec332964fc9a70bde3741a895575fe3f62eacc806b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 cbc48a5a75ced9ff5c04c6ec2b594abd75e15af9ca573944628377b40046f298
MD5 ecb034440b8c7ba58b089adb2a404cf3
BLAKE2b-256 ef43021643e93afa2e900fce6eb2438295b381cdbad6a83db5f6ba7d1882544d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a3802d691ca188264cafbc34baa7d66961a94f640078225163771506d4c5a17f
MD5 88e9798d348c44d84a4d2d4fb0ce50b5
BLAKE2b-256 90c7dd752d01d6f208e1a71713865b36c4593864dbac97528d8298a27ce7222e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 033c4ae43ac8707c9227a87f37566b23961e8dc0d8ab83a2d16161bcd7287ece
MD5 84d9e077526486981cd49e2f1934049a
BLAKE2b-256 7bffea9d221d4a74389cb586d354e249ab4708a52cece5ecbfc0e0cdc10bc258

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 04bead0b89ff92cce6b2e3363cfcd3ded6557f222f4b40aabe192087bdb16f4a
MD5 77b716e95c42f8a69c4a0fed94f98f60
BLAKE2b-256 fd01c50dd7040fd5677543dee9f3d1ab12869a4bb7f10a6b0801b38bd603108e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2d2f8d64e17af2258b267ead63997b132255ae68b6276cabce339c77b944d6a3
MD5 b11aae32d7070e334a6c1c10cfe83899
BLAKE2b-256 184a1d0317adc1ddf0f162b78deb94103304cb6f9dc4be4aaa0bceb0d51623e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d992b6da1f8c9c0163994e95eb5464263cf7bc8e444d69fbb5ee317a0c40a89f
MD5 4b101faee6521523d438ac3d83e72926
BLAKE2b-256 c67e3e2d3a5018ec707e7c8e468f6fa7311c297f5542f19d94ef6db8bf2e22fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 50b47eaac90bd2d1f9046c439e6580bf1c56987c45145a0113b968887da58f15
MD5 8e8267c72c35fe2ad968cd5bdaf257d5
BLAKE2b-256 cb1727dcd8bd54b8dd8c329a3d88214d0732ec30e1e9788700d71d1e08d4eb93

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 81d6e30376aca9b12ecb77934e24b2ea127e116525c231be5dbf5484dd896b52
MD5 0578b772bd0c5adeed4d1f60027c552e
BLAKE2b-256 02ebb3555c3e3a4f4dcf809c7097472dfed38626acd8c2dfec06f9e1bd0109c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 91e10ea328b225ae1cefe57aa9a0487727b5b8398a8da88322d17eb7e8bff963
MD5 c2094f843527e6d665ccc5ed82ef646f
BLAKE2b-256 4896e9e300683fec9d1a4d25e78428a10c03af7470821baa6400e1d0bb6fb815

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6cbf2f315d1b1827ec737685d400e1010847e5858cc2063f2477531d01d7a504
MD5 e68d233eecdeddd58e71645ad987ae8f
BLAKE2b-256 e5d1104f9bd235bfa5a9313901a6308685f7037234b1477917f86c147f35c01d

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 04f06164e97493c49bc07d45e087b6b99f8156150e8de8dbaf95bb9a4f2e6eb4
MD5 ab648f2cccf0104116c7c0e633202673
BLAKE2b-256 87d682665593dc3d19e1960e5ab6cb48e7bb9e824bda0d3461c2f7d89d892439

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0a5c4ed956c1d2e37d95fe57a21b731740f9a9546cfaf816bae623ba8da5029d
MD5 d68b80483e06d010ea4735994b06f85c
BLAKE2b-256 e489ac8d0a519b30db1a18fa6c09f275e97c4d69f0898d2d9f9dd183de023edb

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1ab5f91bb69f702f241480dc3b15154570ba35efa37f00c0ae056b9725065770
MD5 8c4334a996e590a8e0b8db8c14d045cd
BLAKE2b-256 3e262869234ad298a8dca4851e5c3d4b8696f0fed75f5fc02d4e92129d1de492

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 94e2b64bd45a815085740f7ef294e41c117f25c91324951c7cd0b03d241efe61
MD5 9c1f9cef7846e6862773466a1f94febb
BLAKE2b-256 453007fae04f443699e2a6f8f77bea327af46e225148085ad75177cc5be1d8dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4fee09ff6858ff280b013c33348e27f6d514edb8ce19a3dd653a33c12930d0f7
MD5 207f6f45787928bdfc18b2d94cf124df
BLAKE2b-256 1000998a82236ff02a8cebee0bbd2fdfef385547cd740206572a8c26ce5c6004

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0f5419f02fc9f9430d7eb10a925b6c7d0337e4609e81c43f8d115816a3551835
MD5 edb520edd6c7e5b384216f58881fa97d
BLAKE2b-256 2b17858a9638388e06febf1bae2043923f82413489cefe1e5d79f70f89d81a59

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 efc06d4baeb0644f78edf7af555d78da07d8a32275f42d085b9a2ddc91eb5138
MD5 4e4adfc5b60cde33af7780ab554f126a
BLAKE2b-256 dbd5d8611c012882ad0f15c9351d1fa75d529fa0da1a3fc69449d8b033e27d3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 db665f7ebbfe89e5c4729714f78f2a45c7a45a58092eeb069dfb9fc8113776f7
MD5 016c27a7530d6de858eadf9ca2640583
BLAKE2b-256 6d2e267a70287fb48155183f1e89a7f5ef47fed977e5ff3c20f87c9a8fa895dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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-1.0.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ay8910_wrapper-1.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e16e431109b49f706447ddcbb6f8273a7dce220aac76892088e30a7d98238d5d
MD5 979e6479aedf1fddd695d532da25aa34
BLAKE2b-256 4d27351c9dc2b5b5ef54f62ddb34c1535999b971b4f0737d393362c05c564670

See more details on using hashes here.

Provenance

The following attestation bundles were made for ay8910_wrapper-1.0.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