Skip to main content

PyALSoft

CI status Documentation PyPI version Supported Python versions

OpenAL Soft 1.25.2

PyALSoft provides function-oriented playback and capture APIs, plus typed bindings for OpenAL Soft. Wheels include the native OpenAL Soft runtime.

Read the documentation · Browse the API reference · View the examples

PyALSoft is an independent project and is not affiliated with or endorsed by the OpenAL Soft project.

Installation

PyALSoft requires Python 3.12 or later.

python -m pip install pyalsoft

Quick start

play starts a WAV file immediately and returns a control handle:

import time

from pyalsoft import play

sound = play("sound.wav")
while sound.playing:
    time.sleep(0.1)

Use play_stationary("sound.wav") for player-attached or UI audio that should not receive positional, distance, Doppler, or HRTF processing.

The managed API also supports spatial audio, effects and filters, recording, streaming, device selection, HRTF, and explicit playback sessions. See the documentation for guides and the complete API reference.

The lower-level pyalsoft.bindings namespace exposes typed OpenAL, ALC, EFX, and extension bindings, together with owned device and context handles.

Contributing

Development occurs on the development branch. Create the locked environment with uv:

uv sync --python 3.12

Before submitting a change, run the core checks:

uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run mypy
uv run python tools/generate_bindings.py --check
uv run python tools/sync_openal_soft.py --check
uv run mkdocs build --strict

Bindings and docs/reference.md are generated from the vendored OpenAL registry. See the repository tool guide for development and release commands.

Add an entry under Unreleased in the changelog for every notable user-facing change. Group entries under Added, Changed, Deprecated, Removed, Fixed, or Security, and describe the effect from the user's perspective. Internal refactors, tests, and formatting do not need entries.

For example:

## Unreleased

### Added

- Added reverse playback support to `PlayingSound`. (@BDraves)

### Fixed

- Prevented audio frames from shifting left when replacing a sound's filter.
  (@BDraves)

License

PyALSoft's original Python code is available under the MIT License. Bundled OpenAL Soft and other third-party components remain under their respective licenses. The distribution includes their license texts and a third-party notice.

Metadata

Release files for pyalsoft 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyalsoft 1.0.1
File Size Uploaded
pyalsoft-1.0.1.tar.gz 3.1 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyalsoft 1.0.1
File
pyalsoft-1.0.1-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
pyalsoft-1.0.1-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details
pyalsoft-1.0.1-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details
pyalsoft-1.0.1-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
pyalsoft-1.0.1-py3-none-macosx_10_13_x86_64.whl Python 3 none macOS 10.13+ x86-64 Details

Total release size: 10.3 MB

Release files / pyalsoft-1.0.1.tar.gz

Download URL pyalsoft-1.0.1.tar.gz
Size 3.1 MB
Tags Source
SHA-256 checksum
How to use checksums
4e3d851d0af85ef4b1b9c7b489b802cf868db40538c3f782a18035b8ec82e5c2
BLAKE2b-256 checksum
How to use checksums
56591c0151e42291a31215e25d0e54c1124757d274cf879aad3f0a481ba1db49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / pyalsoft-1.0.1-py3-none-win_amd64.whl

Download URL pyalsoft-1.0.1-py3-none-win_amd64.whl
Size 1.8 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
c42944cef908af7f70a2bb5016523c65598a9c627337b850c658d96053bcf51b
BLAKE2b-256 checksum
How to use checksums
5f4e5f4bd9071f85bad18f259ced6b12efa741f5588aaabdef8f43974957475b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / pyalsoft-1.0.1-py3-none-manylinux_2_28_x86_64.whl

Download URL pyalsoft-1.0.1-py3-none-manylinux_2_28_x86_64.whl
Size 1.8 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
8873645b1f35cd30bae3dcafcdb483c9385e021206e2418f2f4bb744c44eca55
BLAKE2b-256 checksum
How to use checksums
484408f1e625459a08fa56090ed3251e983ba34be0dda518e0301c26bbd781f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / pyalsoft-1.0.1-py3-none-manylinux_2_28_aarch64.whl

Download URL pyalsoft-1.0.1-py3-none-manylinux_2_28_aarch64.whl
Size 1.7 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
00ebee5900b971528bb15601701972dc270573dd091a97bf02cb6ef15f403bd6
BLAKE2b-256 checksum
How to use checksums
e6379a3661edab9d87f1ae468a731e620e01958f0d3708271e9d494c658e8ac8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / pyalsoft-1.0.1-py3-none-macosx_11_0_arm64.whl

Download URL pyalsoft-1.0.1-py3-none-macosx_11_0_arm64.whl
Size 892.1 kB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e70a220ed8adbc30f63d7311f163d93e195cb7a76c9959767ec9278dd40aabe3
BLAKE2b-256 checksum
How to use checksums
aeba56647a870728badfb696faddc95315b683e1ce7ee9d525e4ab654b30645d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / pyalsoft-1.0.1-py3-none-macosx_10_13_x86_64.whl

Download URL pyalsoft-1.0.1-py3-none-macosx_10_13_x86_64.whl
Size 976.5 kB
Tags Python 3 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
b46b0a409818bd4b689decf3a7593abc032f85fafb8bea956e4da561f840b5b5
BLAKE2b-256 checksum
How to use checksums
969fa11509d5ba769e170179f571f27e27811ae3bf4b89cd38c72abfb7c0201d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

1.8.0

6 release files

1.7.0

6 release files

1.6.0

6 release files

1.5.0

6 release files

1.4.0

6 release files

1.3.0

6 release files

1.2.0

6 release files

1.1.1

6 release files

1.1.0

6 release files

1.0.2

6 release files

This release

1.0.1 This release

6 release files

1.0.0

6 release files

0.9.0

6 release files

0.8.0

6 release files

0.7.0

6 release files

0.6.0

6 release files

0.5.0

6 release files

0.4.0

6 release files

0.3.0

6 release files

0.2.0

6 release files

0.1.0

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page