pyalsoft 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. pyalsoft-0.1.0/.gitignore +19 -0
  2. pyalsoft-0.1.0/LICENSE +21 -0
  3. pyalsoft-0.1.0/LICENSES/Microsoft-GSL.txt +21 -0
  4. pyalsoft-0.1.0/LICENSES/OpenAL-Registry.txt +28 -0
  5. pyalsoft-0.1.0/LICENSES/THIRD-PARTY.md +42 -0
  6. pyalsoft-0.1.0/LICENSES/fmt.txt +27 -0
  7. pyalsoft-0.1.0/PKG-INFO +46 -0
  8. pyalsoft-0.1.0/README.md +29 -0
  9. pyalsoft-0.1.0/docs/reference.md +1262 -0
  10. pyalsoft-0.1.0/hatch_build.py +77 -0
  11. pyalsoft-0.1.0/pyproject.toml +98 -0
  12. pyalsoft-0.1.0/src/pyalsoft/__init__.py +55 -0
  13. pyalsoft-0.1.0/src/pyalsoft/_api.py +302 -0
  14. pyalsoft-0.1.0/src/pyalsoft/_extensions.py +130 -0
  15. pyalsoft-0.1.0/src/pyalsoft/_generated/commands.py +1737 -0
  16. pyalsoft-0.1.0/src/pyalsoft/_generated/constants.py +1674 -0
  17. pyalsoft-0.1.0/src/pyalsoft/_generated/enums.py +1397 -0
  18. pyalsoft-0.1.0/src/pyalsoft/_generated/extensions.py +363 -0
  19. pyalsoft-0.1.0/src/pyalsoft/_generated/functions.py +1992 -0
  20. pyalsoft-0.1.0/src/pyalsoft/_generated/objects.py +701 -0
  21. pyalsoft-0.1.0/src/pyalsoft/_generated/registry.py +1337 -0
  22. pyalsoft-0.1.0/src/pyalsoft/_generated/semantics.py +660 -0
  23. pyalsoft-0.1.0/src/pyalsoft/_generated/types.py +104 -0
  24. pyalsoft-0.1.0/src/pyalsoft/_library.py +431 -0
  25. pyalsoft-0.1.0/src/pyalsoft/_objects.py +226 -0
  26. pyalsoft-0.1.0/src/pyalsoft/_pyinstaller.py +14 -0
  27. pyalsoft-0.1.0/src/pyalsoft/_pyinstaller_hooks/hook-pyalsoft.py +8 -0
  28. pyalsoft-0.1.0/src/pyalsoft/_specs.py +186 -0
  29. pyalsoft-0.1.0/src/pyalsoft/py.typed +1 -0
  30. pyalsoft-0.1.0/src/pyalsoft/registry.py +71 -0
  31. pyalsoft-0.1.0/tests/test_generated_ctypes.py +44 -0
  32. pyalsoft-0.1.0/tests/test_generated_metadata.py +113 -0
  33. pyalsoft-0.1.0/tests/test_generator.py +141 -0
  34. pyalsoft-0.1.0/tests/test_library.py +466 -0
  35. pyalsoft-0.1.0/tests/test_native_build.py +49 -0
  36. pyalsoft-0.1.0/tests/test_system_runtime.py +45 -0
  37. pyalsoft-0.1.0/tests/test_vendored_runtime.py +35 -0
  38. pyalsoft-0.1.0/tools/__init__.py +1 -0
  39. pyalsoft-0.1.0/tools/build_openal_soft.py +210 -0
  40. pyalsoft-0.1.0/tools/freeze_test.py +40 -0
  41. pyalsoft-0.1.0/tools/generate_bindings.py +2545 -0
  42. pyalsoft-0.1.0/tools/semantic_overrides.toml +147 -0
  43. pyalsoft-0.1.0/tools/smoke_test_runtime.py +37 -0
  44. pyalsoft-0.1.0/tools/sync_openal_soft.py +163 -0
  45. pyalsoft-0.1.0/uv.lock +289 -0
  46. pyalsoft-0.1.0/vendor/openal-soft/COPYING +437 -0
  47. pyalsoft-0.1.0/vendor/openal-soft/LICENSE-pffft +38 -0
  48. pyalsoft-0.1.0/vendor/openal-soft/al.xml +5469 -0
  49. pyalsoft-0.1.0/vendor/openal-soft/openal-soft-1.25.2.tar.bz2 +0 -0
  50. pyalsoft-0.1.0/vendor/openal-soft/runtime/win_amd64/soft_oal.dll +0 -0
  51. pyalsoft-0.1.0/vendor/openal-soft/source.toml +15 -0
@@ -0,0 +1,19 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+
4
+ .venv/
5
+ .cache/
6
+ .env
7
+
8
+ .pytest_cache/
9
+ .mypy_cache/
10
+ .ruff_cache/
11
+ .coverage
12
+ .coverage.*
13
+ htmlcov/
14
+
15
+ build/
16
+ dist/
17
+ *.egg-info/
18
+
19
+ .vscode/
pyalsoft-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Brennan Draves
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,21 @@
1
+ Copyright (c) 2015 Microsoft Corporation. All rights reserved.
2
+
3
+ This code is licensed under the MIT License (MIT).
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
9
+ of the Software, and to permit persons to whom the Software is furnished to do
10
+ so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,28 @@
1
+ Copyright (C) 2025 Dylan Perks and Contributors
2
+
3
+ This file, al.xml, is the OpenAL API Registry. The canonical version of the
4
+ registry, together with documentation and Python generator scripts used to
5
+ generate C header files for OpenAL, can always be found in the OpenAL Soft
6
+ repository at https://github.com/kcat/openal-soft.
7
+
8
+ This file is based upon the following documents and reproduces the same
9
+ copyright notice:
10
+ - OpenAL Specification and Reference v1.0 Draft Edition (Published June 2000)
11
+ Copyright (C) 1999-2000 by Loki Software
12
+ - OpenAL Specification and Reference v1.1 (Published June 2005)
13
+ Copyright (C) 2005 by authors
14
+
15
+ In addition, this file is based on OpenAL Soft, and makes use of only numerical
16
+ parameters, data structure layouts and accessors, and small macros and small
17
+ inline functions (ten lines or less in length) in accordance with the Lesser
18
+ General Public License v2.0. Usage of this file alone is unencumbered by LGPL
19
+ and does not attract the copyleft provisions thereof.
20
+
21
+ Permission is granted to make and distribute verbatim copies of this file
22
+ provided the copyright notice and this permission notice are preserved on all
23
+ copies.
24
+
25
+ Permission is granted to copy and distribute translations of this file into
26
+ another language, under the above conditions for modified versions, except
27
+ that this permission notice may be stated in a translation approved by the
28
+ copyright owners.
@@ -0,0 +1,42 @@
1
+ # Third-party notices
2
+
3
+ PyALSoft includes and generates code from third-party projects. Those portions
4
+ remain under their respective licenses; the MIT License for PyALSoft's original
5
+ code does not replace them.
6
+
7
+ ## OpenAL Soft
8
+
9
+ Platform wheels bundle an unmodified OpenAL Soft 1.25.2 shared library. OpenAL
10
+ Soft is licensed under the GNU Library General Public License version 2 or, at
11
+ your option, any later version (`LGPL-2.0-or-later`). The applicable license is
12
+ in `vendor/openal-soft/COPYING`.
13
+
14
+ The exact corresponding source archive is distributed at
15
+ `vendor/openal-soft/openal-soft-1.25.2.tar.bz2`. Its upstream project is
16
+ <https://github.com/kcat/openal-soft>.
17
+
18
+ OpenAL Soft includes a modified PFFFT implementation under a permissive
19
+ three-clause license. Its notice is in `vendor/openal-soft/LICENSE-pffft`.
20
+
21
+ ## OpenAL API Registry
22
+
23
+ PyALSoft's generated bindings are derived from the OpenAL API Registry. The
24
+ registry's copyright and permission notice is in
25
+ `LICENSES/OpenAL-Registry.txt`. That notice states that use of the registry
26
+ alone is unencumbered by the OpenAL Soft LGPL terms.
27
+
28
+ ## {fmt}
29
+
30
+ OpenAL Soft includes {fmt}. Its MIT license and compiled-object exception are
31
+ in `LICENSES/fmt.txt`.
32
+
33
+ ## Microsoft Guidelines Support Library
34
+
35
+ OpenAL Soft includes headers from the Microsoft Guidelines Support Library.
36
+ Its MIT license is in `LICENSES/Microsoft-GSL.txt`.
37
+
38
+ ## Trademarks
39
+
40
+ OpenAL is a trademark of Creative Labs, Inc. PyALSoft is an independent project
41
+ and is not affiliated with or endorsed by Creative Labs or the OpenAL Soft
42
+ project.
@@ -0,0 +1,27 @@
1
+ Copyright (c) 2012 - present, Victor Zverovich and {fmt} contributors
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ --- Optional exception to the license ---
23
+
24
+ As an exception, if, as a result of your compiling your source code, portions
25
+ of this Software are embedded into a machine-executable object form of such
26
+ source code, you may redistribute such embedded portions in such object form
27
+ without including the above copyright and permission notices.
@@ -0,0 +1,46 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyalsoft
3
+ Version: 0.1.0
4
+ Summary: PyALSoft provides automatically generated Python bindings for OpenAL Soft, including core OpenAL, ALC, EFX, and supported extensions
5
+ Project-URL: Source, https://github.com/BDraves/pyalsoft
6
+ Author-email: Brennan Draves <dravesbrennan@gmail.com>
7
+ License-Expression: MIT AND LGPL-2.0-or-later AND BSD-3-Clause AND LicenseRef-OpenAL-Registry
8
+ License-File: LICENSE
9
+ License-File: LICENSES/Microsoft-GSL.txt
10
+ License-File: LICENSES/OpenAL-Registry.txt
11
+ License-File: LICENSES/THIRD-PARTY.md
12
+ License-File: LICENSES/fmt.txt
13
+ License-File: vendor/openal-soft/COPYING
14
+ License-File: vendor/openal-soft/LICENSE-pffft
15
+ Requires-Python: >=3.12
16
+ Description-Content-Type: text/markdown
17
+
18
+ # PyALSoft
19
+
20
+ PyALSoft provides automatically generated Python bindings for OpenAL Soft, including core OpenAL, ALC, EFX, and supported extensions.
21
+
22
+ ## Installation
23
+
24
+ PyALSoft requires Python 3.12 or later.
25
+
26
+ ```console
27
+ python3 -m pip install pyalsoft
28
+ ```
29
+
30
+ ## Platforms
31
+
32
+ PyALSoft supports Windows x86-64, macOS x86-64 and ARM64, and Linux x86-64
33
+ and ARM64. Platform wheels bundle OpenAL Soft. `pyalsoft.load()` uses the
34
+ bundled library when available, then falls back to a system installation. Pass
35
+ an explicit library path to `pyalsoft.load(path)` to override discovery.
36
+
37
+ ## Disclaimer
38
+
39
+ > PyALSoft is an independent project and is not affiliated with or endorsed by the OpenAL Soft project.
40
+
41
+ ## License
42
+
43
+ PyALSoft's original Python code is available under the MIT License. Bundled
44
+ OpenAL Soft and other third-party components remain under their respective
45
+ licenses. The distribution includes the complete license texts and a
46
+ third-party notice.
@@ -0,0 +1,29 @@
1
+ # PyALSoft
2
+
3
+ PyALSoft provides automatically generated Python bindings for OpenAL Soft, including core OpenAL, ALC, EFX, and supported extensions.
4
+
5
+ ## Installation
6
+
7
+ PyALSoft requires Python 3.12 or later.
8
+
9
+ ```console
10
+ python3 -m pip install pyalsoft
11
+ ```
12
+
13
+ ## Platforms
14
+
15
+ PyALSoft supports Windows x86-64, macOS x86-64 and ARM64, and Linux x86-64
16
+ and ARM64. Platform wheels bundle OpenAL Soft. `pyalsoft.load()` uses the
17
+ bundled library when available, then falls back to a system installation. Pass
18
+ an explicit library path to `pyalsoft.load(path)` to override discovery.
19
+
20
+ ## Disclaimer
21
+
22
+ > PyALSoft is an independent project and is not affiliated with or endorsed by the OpenAL Soft project.
23
+
24
+ ## License
25
+
26
+ PyALSoft's original Python code is available under the MIT License. Bundled
27
+ OpenAL Soft and other third-party components remain under their respective
28
+ licenses. The distribution includes the complete license texts and a
29
+ third-party notice.