Skip to main content

System audio recording for macOS and Windows

Project description

pysysaudio

A Python library for recording system audio on macOS and Windows.

Features

  • 🎵 Record system audio (all sounds playing on your system)
  • 🪟 Cross-platform: macOS (ScreenCaptureKit) and Windows (WASAPI)
  • 🎚️ Configurable sample rate and channel count
  • 🔧 Configurable output formats: bytes, NumPy, or MLX arrays
  • 🎛️ Automatic resampling and channel remixing

Requirements

macOS

  • macOS 14.2 (Ventura) or later
  • Python 3.9+
  • Screen Recording permission (macOS will prompt on first use)

Windows

  • Windows 10 or later
  • Python 3.9+
  • Visual Studio C++ build tools (for installation from source)

Installation

From PyPI (Recommended)

pip install pysysaudio

Pre-built wheels are available for:

  • macOS: 14.2+ - Intel, Apple Silicon, and Universal2
  • Windows: 10+ (64-bit)
  • Python: 3.9, 3.10, 3.11, 3.12, 3.13

From Source

git clone https://github.com/yourusername/pysysaudio.git
cd pysysaudio
pip install .

For Development

pip install -e ".[dev]"

Quick Start

Basic Recording

from pysysaudio import SystemAudioRecorder
import time

# Create a recorder instance
recorder = SystemAudioRecorder(sample_rate=48000, channels=2)

# Start recording
recorder.start_recording("output.wav")

# Record for 10 seconds
time.sleep(10)

# Stop and save
output_path = recorder.stop_recording()
print(f"Recording saved to: {output_path}")

Using Context Manager

from pysysaudio import SystemAudioRecorder
import time

with SystemAudioRecorder() as recorder:
    recorder.start_recording("output.wav")
    time.sleep(10)
    # Automatically stops when context exits

Real-time Audio Streaming

Stream audio chunks in real-time for processing, analysis, or streaming to APIs.

Choose your output format:

from pysysaudio import SystemAudioRecorder

# Option 1: bytes format (default, no dependencies)
recorder = SystemAudioRecorder(format="bytes", dtype="int16")
recorder.start_recording()

for audio_data in recorder.stream():
    # audio_data is bytes (PCM int16)
    print(f"Got {len(audio_data)} bytes")
    if some_condition:
        break

recorder.stop_recording()

# Option 2: NumPy arrays (requires numpy)
recorder = SystemAudioRecorder(format="numpy", dtype="float32")
recorder.start_recording("output.wav")  # Save to file AND stream

for audio_chunk in recorder.stream():
    # audio_chunk is a numpy.ndarray with shape (frames, channels)
    print(f"NumPy: shape={audio_chunk.shape}, mean={audio_chunk.mean()}")
    if some_condition:
        break

recorder.stop_recording()

# Option 3: MLX arrays (requires mlx, Apple Silicon optimized)
import mlx.core as mx

recorder = SystemAudioRecorder(format="mlx", dtype="float32")
recorder.start_recording()  # Streaming only (no file)

for audio_chunk in recorder.stream():
    # audio_chunk is an mlx.core.array, runs on GPU/Neural Engine
    mean = mx.mean(audio_chunk)
    print(f"MLX: shape={audio_chunk.shape}, mean={float(mean)}")
    if some_condition:
        break

recorder.stop_recording()

Check Permission Status

from pysysaudio import SystemAudioRecorder

# Check if Screen Recording permission is granted
if SystemAudioRecorder.check_permission():
    print("Permission granted!")
else:
    print("Please grant Screen Recording permission in System Settings")

API Reference

SystemAudioRecorder

Main class for recording system audio.

Constructor

SystemAudioRecorder(
    sample_rate: int = 48000, 
    channels: int = 2,
    format: Literal["bytes", "numpy", "mlx"] = "bytes",
    dtype: Literal["float32", "int16", "int32"] = "float32",
    buffer_size: int = 100
)
  • sample_rate: Audio sample rate in Hz (default: 48000)
  • channels: Number of audio channels - 1 for mono, 2 for stereo (default: 2)
  • format: Format for audio data yielded by stream() (default: "bytes")
    • "bytes": Raw PCM data as bytes (no dependencies)
    • "numpy": NumPy ndarray with shape (frames, channels) (requires numpy)
    • "mlx": MLX array with shape (frames, channels) (requires mlx, Apple Silicon)
  • dtype: Sample data type for output audio (default: "float32")
    • "float32": 32-bit float in range [-1.0, 1.0]
    • "int16": 16-bit signed integer (PCM16, range [-32768, 32767])
    • "int32": 32-bit signed integer (PCM32)
  • buffer_size: Maximum number of audio chunks to buffer (default: 100)

Methods

start_recording(output_path: Optional[str] = None)

Start recording system audio.

  • output_path: Optional path where the WAV file will be saved. If None, audio is only available via stream().

You can save to a file, stream audio via stream(), or both simultaneously.

stream(timeout: Optional[float] = 0.1) -> Iterator[AudioData]

Generator that yields audio chunks as they are recorded.

  • timeout: Timeout in seconds for waiting for new chunks (default: 0.1). None means wait indefinitely.

Returns: Iterator yielding audio data in the format specified during initialization (bytes, numpy array, or mlx array).

Example:

recorder = SystemAudioRecorder(format="numpy")
recorder.start_recording()
for chunk in recorder.stream():
    # Process audio chunk
    if done:
        break
recorder.stop_recording()
stop_recording() -> Optional[str]

Stop recording and finalize the audio file.

Returns the path to the saved audio file, or empty string if no file was created (streaming-only mode).

is_recording() -> bool

Check if recording is currently in progress.

check_permission() -> bool (static)

Check if Screen Recording permission has been granted.

Returns True if permission is granted, False otherwise.

Permissions

On first use, macOS will prompt you to grant system audio recording permission to your application/terminal.

To grant permission:

  1. macOS will show a permission dialog on first use
  2. Or manually: System Settings → Privacy & Security → Screen & System Audio Recording
  3. Enable permission for your Python interpreter or Terminal

How It Works

pysysaudio uses platform-native APIs for optimal performance:

macOS

Uses CoreAudio process taps to capture system audio (requires macOS 14.2+).

Windows

Uses WASAPI (Windows Audio Session API) in loopback mode to capture audio from the default output device.

Development

Building

pip install -e ".[dev]"

License

MIT License - see LICENSE file for details

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

pysysaudio-0.1.3.tar.gz (25.1 kB view details)

Uploaded Source

Built Distributions

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

pysysaudio-0.1.3-cp312-cp312-win_amd64.whl (100.6 kB view details)

Uploaded CPython 3.12Windows x86-64

pysysaudio-0.1.3-cp312-cp312-macosx_14_0_x86_64.whl (117.8 kB view details)

Uploaded CPython 3.12macOS 14.0+ x86-64

pysysaudio-0.1.3-cp312-cp312-macosx_14_0_universal2.whl (218.0 kB view details)

Uploaded CPython 3.12macOS 14.0+ universal2 (ARM64, x86-64)

pysysaudio-0.1.3-cp312-cp312-macosx_14_0_arm64.whl (110.9 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

pysysaudio-0.1.3-cp311-cp311-win_amd64.whl (99.8 kB view details)

Uploaded CPython 3.11Windows x86-64

pysysaudio-0.1.3-cp311-cp311-macosx_14_0_x86_64.whl (115.4 kB view details)

Uploaded CPython 3.11macOS 14.0+ x86-64

pysysaudio-0.1.3-cp311-cp311-macosx_14_0_universal2.whl (214.7 kB view details)

Uploaded CPython 3.11macOS 14.0+ universal2 (ARM64, x86-64)

pysysaudio-0.1.3-cp311-cp311-macosx_14_0_arm64.whl (109.9 kB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

pysysaudio-0.1.3-cp310-cp310-win_amd64.whl (99.0 kB view details)

Uploaded CPython 3.10Windows x86-64

pysysaudio-0.1.3-cp310-cp310-macosx_14_0_x86_64.whl (114.1 kB view details)

Uploaded CPython 3.10macOS 14.0+ x86-64

pysysaudio-0.1.3-cp310-cp310-macosx_14_0_universal2.whl (212.0 kB view details)

Uploaded CPython 3.10macOS 14.0+ universal2 (ARM64, x86-64)

pysysaudio-0.1.3-cp310-cp310-macosx_14_0_arm64.whl (108.6 kB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

pysysaudio-0.1.3-cp39-cp39-win_amd64.whl (100.0 kB view details)

Uploaded CPython 3.9Windows x86-64

pysysaudio-0.1.3-cp39-cp39-macosx_14_0_x86_64.whl (114.2 kB view details)

Uploaded CPython 3.9macOS 14.0+ x86-64

pysysaudio-0.1.3-cp39-cp39-macosx_14_0_universal2.whl (212.3 kB view details)

Uploaded CPython 3.9macOS 14.0+ universal2 (ARM64, x86-64)

pysysaudio-0.1.3-cp39-cp39-macosx_14_0_arm64.whl (108.7 kB view details)

Uploaded CPython 3.9macOS 14.0+ ARM64

File details

Details for the file pysysaudio-0.1.3.tar.gz.

File metadata

  • Download URL: pysysaudio-0.1.3.tar.gz
  • Upload date:
  • Size: 25.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pysysaudio-0.1.3.tar.gz
Algorithm Hash digest
SHA256 f0f7b5b9105f0ffdc5e7ca31dd5cc72f3c271bc892207aeb4672bf657cb7afdb
MD5 b9ec5e95e7cd6b130fae9d4164a829f6
BLAKE2b-256 8938b42b58144f091948885426a010d12ffab7d4cd9d4e43199bedb3ee6dc29e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3.tar.gz:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pysysaudio-0.1.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 100.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pysysaudio-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a226a8b559aad45f696fcd7834b3c3426c26e35a3661cace66025c70773c003e
MD5 b40c058e65674e35dc55366190e07581
BLAKE2b-256 6f901fb85542ac620720908f55ef5d035a857b03f7c6fc745406183512c05003

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp312-cp312-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pysysaudio-0.1.3-cp312-cp312-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 97939c53579c0fb90c830fc2f07d98b1ce96ef52db36198c2ab0d4c7d8f1b622
MD5 86723353a09ab448e015aed3e25f14ca
BLAKE2b-256 ce91efcfe33948749c8843fb0bea01c9e66131b66e2396a4712f1b1027f88a4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp312-cp312-macosx_14_0_x86_64.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp312-cp312-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for pysysaudio-0.1.3-cp312-cp312-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 471466ea7eb0309746fc1b3f3106e6a403f5aab265fdd6608e2d21553a4664a5
MD5 0f702d150919c500a753e0fb5507e4a9
BLAKE2b-256 16a6a08934f0dd9dc11e812895cbdf151eb4091185aade05b65d0c8e48dfd238

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp312-cp312-macosx_14_0_universal2.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pysysaudio-0.1.3-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 fdb3807419f3d8a9ae0db6b2d984a334a322e5c576fba672a6b966cb3e52ff99
MD5 aac752d2463827017e202bb89052ee8c
BLAKE2b-256 f9ef7fba0fa1c6b8ab8d568fa0a6044499070064f2d9ea18f98927ff3efe96b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pysysaudio-0.1.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 99.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pysysaudio-0.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 46540109b6ffa41acb189a7cee8e125a90ff2bb90d75ee4a5318da4f68086913
MD5 f8677e1f965d2095327679dd0140d058
BLAKE2b-256 4856852c278f5d1e1c7444e5f58091221c1f46943d26f50ef36dad68f41141e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp311-cp311-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pysysaudio-0.1.3-cp311-cp311-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 0dbcd2021eddb9d7f1e2b323cd1793e90270cfa88e56d412b7be4b57895a7832
MD5 25366dcc618fae765f0b95e70a5a4235
BLAKE2b-256 b59aee5b272d96c227bcd1a28e112af3a37c599a971edefe67f474b05444261e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp311-cp311-macosx_14_0_x86_64.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp311-cp311-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for pysysaudio-0.1.3-cp311-cp311-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 53e504f49a6559e308be3ada5e442e712e679a2544d86b9755b34963329fe8f2
MD5 b6f4b2563a19d0923975ef284605e5e5
BLAKE2b-256 c2b1024a82af0c97042dc8161c19c11350dab683fe3a1ceddfe59af3cfb04814

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp311-cp311-macosx_14_0_universal2.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pysysaudio-0.1.3-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 b38e933100fbc2b15aa0b47de8af266a11c4e170445e983ad4dbd42bf6b3110b
MD5 8a05c5a9aed5a7c0c230e37dc65c595d
BLAKE2b-256 e211c1c11f36ffc6a7b8176686369014c19ad4bb7128238518d79ce2fbb4ded0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pysysaudio-0.1.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 99.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pysysaudio-0.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 726d0f5363bef5931372d474403ea8b2d229cbf42bde67994dea4024b93381eb
MD5 826447463ad9579a20b9f83bee581338
BLAKE2b-256 f4e920f212d58d6a12c3432d75de7255786babcb4331f2ff6609677721d6ad02

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp310-cp310-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pysysaudio-0.1.3-cp310-cp310-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 f896e2fa74863e31bc1c10094caf0bc6b30bef9e90e821f01738d3ec1b640679
MD5 7c26b673be5650109abdb933c46b6cdb
BLAKE2b-256 61d5d63f39d473a8a3b538641dcf2b141dcdcd9f467d2f550dabe6fb6f21b8ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp310-cp310-macosx_14_0_x86_64.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp310-cp310-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for pysysaudio-0.1.3-cp310-cp310-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 26155b28c001705bddabf116e818685628854d1e12f41708c1cb899427ff4009
MD5 ba857e45913c4370adf3b10a1c26bb5b
BLAKE2b-256 e163e201d555d0fafcfc6de8bb68b1712083a78eb80081e006cdbc1bf86e3f95

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp310-cp310-macosx_14_0_universal2.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pysysaudio-0.1.3-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4b87174b007d61b2f20448cc03487148922722c2cf5168efafbba65a04405bbe
MD5 4cf1852b353a5e45e56aff931cb1e309
BLAKE2b-256 0186f9ff426b608935f3d78abd36de0f632f8d67e5c28ffafed0e9562123210b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: pysysaudio-0.1.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 100.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pysysaudio-0.1.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9151ce4665adecc438ce78d7ff893ecf19d41e3dc82ddabc330672eb0058e480
MD5 9450ee9f01f6de8c89ee810e82657cd3
BLAKE2b-256 5526eaaaa6e1ca1d2b7d3905878def69849e03601c77d93295fcc590a3ba5385

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp39-cp39-win_amd64.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp39-cp39-macosx_14_0_x86_64.whl.

File metadata

File hashes

Hashes for pysysaudio-0.1.3-cp39-cp39-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 e5abe32380ccc80877e85923c9ba6036094e398b5a114e5376c1d678b54bdf61
MD5 38b929b87636f370706bf3dd615a2af0
BLAKE2b-256 9dcb124dd18fd96dc3706f5b3b1423a0345ea2a76ceb3dc9d213e06e44a5c5cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp39-cp39-macosx_14_0_x86_64.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp39-cp39-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for pysysaudio-0.1.3-cp39-cp39-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 ccf9ce33ca038b504652d7ea45cc40fba03f8e94d76ebcc9ad7acd1dc4f8e9fd
MD5 a39140928851efc6a31f29213cfdc600
BLAKE2b-256 9e3dad983c1d3f211bcedacbf0f5adb7d9fb598ca0b5dc331a4789ab3768cbc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp39-cp39-macosx_14_0_universal2.whl:

Publisher: publish.yml on scottjg/pysysaudio

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

File details

Details for the file pysysaudio-0.1.3-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for pysysaudio-0.1.3-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 bf4065389496c0390a0a07848441d0dd43a1df97bf12d0007c101a93adfb587a
MD5 7fe45522dcfb078278f89d5cc7d8ef66
BLAKE2b-256 67c9aabc3053eb0c4a53c2b87d46eaa1ee7dbbae767c67787921c4ba506c8258

See more details on using hashes here.

Provenance

The following attestation bundles were made for pysysaudio-0.1.3-cp39-cp39-macosx_14_0_arm64.whl:

Publisher: publish.yml on scottjg/pysysaudio

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