PyAudioWPatch


NamePyAudioWPatch JSON
Version 0.2.12.6 PyPI version JSON
download
home_pagehttps://github.com/s0d3s/PyAudioWPatch/
SummaryPortAudio fork with WASAPI loopback support
upload_time2023-06-03 12:50:50
maintainer
docs_urlNone
authorHubert Pham(S0D3S edition)
requires_python
licenseApache-2.0 license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">

<!---![PyAudioWasapiLoopbackPatch](assets/snake-350_patch.png)-->
<img alt="PyAudio Wasapi Loopback Patch" src="https://raw.githubusercontent.com/s0d3s/PyAudioWPatch/master/assets/snake_trace_clear.svg" height="414"/>

# PyAudioWPatch

This fork will allow you to use the WASAPI device as loopback using **PyAudio**.
<br>
So you can *use speakers to record audio*вњЁ


![Last Commit](https://img.shields.io/github/last-commit/s0d3s/PyAudioWPatch)
![Wheels](https://img.shields.io/pypi/wheel/PyAudioWpatch)
![Downloads](https://img.shields.io/pypi/dm/PyAudioWPatch)
![Py Version](https://img.shields.io/pypi/pyversions/PyAudioWpatch)
![Latest release](https://img.shields.io/github/v/release/s0d3s/PyAudioWPatch)

</div>

<br /><br />

## For whom?

If you want to record sound from speakers in python, then this fork is for you.

> PyAudioW(*indows|ASAPI*)Patch come only with WMME, DirectX and WASAPI support
> if you need more -> create an issue

## How

The Windows Audio Session API ([WASAPI](https://docs.microsoft.com/en-us/windows/win32/coreaudio/wasapi)) allows you to use output devices (that support this API) in loopback mode. At the time of release, it was impossible to achieve this using the original version of PyAudio.

> Note: Now WASAPI loopback devices are duplicated at the end of the list as virtual devices. That is, to record from speakers, you need to use not just a WASAPI device, but its loopback analogue. All loopback devices are **input devices**.

## How to use

*Read -> Install -> Enjoy!*

### Installation

```bash
pip install PyAudioWPatch
```
> Wheels are available for **Windows**, Python *3.{7,8,9,10,11}*.<br />
> All wheels support APIs: WMME, WASAPI, DirectX(DSound).

### In code

With new features:

```python
import pyaudiowpatch as pyaudio

with pyaudio.PyAudio() as p:
    # Open PyA manager via context manager
    with p.open(...) as stream:
        # Open audio stream via context manager
        # Do some stuff
        ...
```

Or in original PyAudio way:

```python
import pyaudiowpatch as pyaudio

p = pyaudio.PyAudio()
stream = p.open(...)

# Do some stuff
...

stream.stop_stream()
stream.close()

# close PyAudio
p.terminate()
```

### Difference with PyAudio

 - The behavior of all standard methods is unchanged
 - Added several *life-improving* methods
 - Fixed problem with name encoding
 - Ability to record audio from WASAPI loopback devices (see [example](https://github.com/s0d3s/PyAudioWPatch/blob/master/examples/pawp_record_wasapi_loopback.py))
 
#### More detailed
 - new methods:
   - [`get_host_api_info_generator`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1082) - Iterate over all Host APIs
   - [`get_device_info_generator`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1096) - Iterate over all devices
   - [`get_device_info_generator_by_host_api`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1109) - Iterate over all devices, by specific Host API(index/type)
   - [`get_loopback_device_info_generator`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1133) - Iterate over all devices(with loopback mode)
   - [`print_detailed_system_info`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1149) - Print some info about Host Api and devices
   - [`get_default_wasapi_loopback`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1255) - Return `loopback` for default speakers
   - [`get_wasapi_loopback_analogue_by_index`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1243) - Return `loopback` for device via index
   - [`get_wasapi_loopback_analogue_by_dict`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1213) - Return `loopback` for device related to `info_dict`
   - [`get_default_wasapi_device`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1191) - Return default (out/in)put device for `WASAPI` driver

 - new features:
   - Context manager support, for PyAudio(manager) and Stream classes
   - Run `python -m pyaudiowpatch` to get list of devices(like `print_detailed_system_info` call)
 
#### Examples:
 - [Play sine, using \'new context manager'](https://github.com/s0d3s/PyAudioWPatch/blob/master/examples/pawp_play_sine_using_context_manger.py)
 - [Record audio from default speakers](https://github.com/s0d3s/PyAudioWPatch/blob/master/examples/pawp_record_wasapi_loopback.py)
 - [Simple recording app](https://github.com/s0d3s/PyAudioWPatch/blob/master/examples/pawp_simple_recording_app.py)
 - [Cross-platform concept (Not example)](https://github.com/s0d3s/PyAudioWPatch/blob/master/examples/pawp_crossplatform_concept.py)
<!---
 - [Play sine, using \'new context manager'](examples/pawp_play_sine_using_context_manger.py)
 - [Record from audio from default speakers](examples/pawp_record_wasapi_loopback.py)
 - [Cross-platform concept (Not example)](examples/pawp_crossplatform_concept.py)-->
 
## Sources

The following were taken as a basis:

 - PortAudio v19 \[[8b6d16f26ad660e68a97743842ac29b939f3c0c1](https://github.com/PortAudio/portaudio/commit/8b6d16f26ad660e68a97743842ac29b939f3c0c1)]
 - PyAudio v0.2.12
 
## How to build manually

 - Build PortAudio (using the instructions in the [README](portaudio_v19/README.md))
 - ~~Install [~~python~~](https://www.python.org/downloads/)~~
 - run in the PyAudioWPatch directory:
   ```bush
   python setup.py install
   ```
 - ???
 - Profit.
 
 Also you can build wheel**s**:
 - `pip install cibuildwheel`
 - Run in Cygwin:
    ```bash
    ./cygwin_cibuildwheel_build.sh
    ```
 - Get your wheels in the `./wheelhouse` folder

---

<div align="center">

## Origin README

</div>


<img align="right" width="200" style="margin-left: 3px" src="https://people.csail.mit.edu/hubert/pyaudio/images/snake-300.png">

## PyAudio

PyAudio provides Python bindings for PortAudio v19, the cross-platform audio I/O library. With PyAudio, you can easily use Python to play and record audio on a variety of platforms, such as GNU/Linux, Microsoft Windows, and Apple macOS.

PyAudio is distributed under the MIT License.

* [Homepage](https://people.csail.mit.edu/hubert/pyaudio/)
* [API Documentation](https://people.csail.mit.edu/hubert/pyaudio/docs/)
* [PyPi](https://pypi.python.org/pypi/PyAudio)

## Installation

See the INSTALLATION file in the source distribution for details. In summary, install PyAudio using `pip` on most platforms.

### Windows

```sh
python -m pip install pyaudio
```

This installs the precompiled PyAudio library with PortAudio v19 19.7.0 included. The library is compiled with support for Windows MME API, DirectSound, WASAPI, and WDM-KS. It does not include support for ASIO. If you require support for APIs not included, you will need to compile PortAudio and PyAudio.

### macOS

Use [Homebrew](https://brew.sh) to install the prerequisite [portaudio](http://portaudio.com) library, then install PyAudio using `pip`:

```sh
brew install portaudio
pip install pyaudio
```

### GNU/Linux

Use the package manager to install PyAudio. For example, on Debian-based systems:

```sh
sudo apt install python3-pyaudio
```

Alternatively, if the latest version of PyAudio is not available, install it using `pip`. Be sure to first install development libraries for `portaudio19` and `python3`.

### Building from source

See the INSTALLATION file.

## Documentation & Usage Examples

* Read the [API Documentation](https://people.csail.mit.edu/hubert/pyaudio/docs/), or generate it from the source using [`sphinx`](https://www.sphinx-doc.org/).

* Usage examples are in the `examples` directory of the source distribution, or see the [project homepage](https://people.csail.mit.edu/hubert/pyaudio/).

## License

PyAudio is distributed under the MIT License. See LICENSE.txt.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/s0d3s/PyAudioWPatch/",
    "name": "PyAudioWPatch",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Hubert Pham(S0D3S edition)",
    "author_email": "",
    "download_url": "",
    "platform": null,
    "description": "<div align=\"center\">\r\n\r\n<!---![PyAudioWasapiLoopbackPatch](assets/snake-350_patch.png)-->\r\n<img alt=\"PyAudio Wasapi Loopback Patch\" src=\"https://raw.githubusercontent.com/s0d3s/PyAudioWPatch/master/assets/snake_trace_clear.svg\" height=\"414\"/>\r\n\r\n# PyAudioWPatch\r\n\r\nThis fork will allow you to use the WASAPI device as loopback using **PyAudio**.\r\n<br>\r\nSo you can *use speakers to record audio*\u0432\u045a\u0401\r\n\r\n\r\n![Last Commit](https://img.shields.io/github/last-commit/s0d3s/PyAudioWPatch)\r\n![Wheels](https://img.shields.io/pypi/wheel/PyAudioWpatch)\r\n![Downloads](https://img.shields.io/pypi/dm/PyAudioWPatch)\r\n![Py Version](https://img.shields.io/pypi/pyversions/PyAudioWpatch)\r\n![Latest release](https://img.shields.io/github/v/release/s0d3s/PyAudioWPatch)\r\n\r\n</div>\r\n\r\n<br /><br />\r\n\r\n## For whom?\r\n\r\nIf you want to record sound from speakers in python, then this fork is for you.\r\n\r\n> PyAudioW(*indows|ASAPI*)Patch come only with WMME, DirectX and WASAPI support\r\n> if you need more -> create an issue\r\n\r\n## How\r\n\r\nThe Windows Audio Session API ([WASAPI](https://docs.microsoft.com/en-us/windows/win32/coreaudio/wasapi)) allows you to use output devices (that support this API) in loopback mode. At the time of release, it was impossible to achieve this using the original version of PyAudio.\r\n\r\n> Note: Now WASAPI loopback devices are duplicated at the end of the list as virtual devices. That is, to record from speakers, you need to use not just a WASAPI device, but its loopback analogue. All loopback devices are **input devices**.\r\n\r\n## How to use\r\n\r\n*Read -> Install -> Enjoy!*\r\n\r\n### Installation\r\n\r\n```bash\r\npip install PyAudioWPatch\r\n```\r\n> Wheels are available for **Windows**, Python *3.{7,8,9,10,11}*.<br />\r\n> All wheels support APIs: WMME, WASAPI, DirectX(DSound).\r\n\r\n### In code\r\n\r\nWith new features:\r\n\r\n```python\r\nimport pyaudiowpatch as pyaudio\r\n\r\nwith pyaudio.PyAudio() as p:\r\n    # Open PyA manager via context manager\r\n    with p.open(...) as stream:\r\n        # Open audio stream via context manager\r\n        # Do some stuff\r\n        ...\r\n```\r\n\r\nOr in original PyAudio way:\r\n\r\n```python\r\nimport pyaudiowpatch as pyaudio\r\n\r\np = pyaudio.PyAudio()\r\nstream = p.open(...)\r\n\r\n# Do some stuff\r\n...\r\n\r\nstream.stop_stream()\r\nstream.close()\r\n\r\n# close PyAudio\r\np.terminate()\r\n```\r\n\r\n### Difference with PyAudio\r\n\r\n - The behavior of all standard methods is unchanged\r\n - Added several *life-improving* methods\r\n - Fixed problem with name encoding\r\n - Ability to record audio from WASAPI loopback devices (see [example](https://github.com/s0d3s/PyAudioWPatch/blob/master/examples/pawp_record_wasapi_loopback.py))\r\n \r\n#### More detailed\r\n - new methods:\r\n   - [`get_host_api_info_generator`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1082) - Iterate over all Host APIs\r\n   - [`get_device_info_generator`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1096) - Iterate over all devices\r\n   - [`get_device_info_generator_by_host_api`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1109) - Iterate over all devices, by specific Host API(index/type)\r\n   - [`get_loopback_device_info_generator`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1133) - Iterate over all devices(with loopback mode)\r\n   - [`print_detailed_system_info`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1149) - Print some info about Host Api and devices\r\n   - [`get_default_wasapi_loopback`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1255) - Return `loopback` for default speakers\r\n   - [`get_wasapi_loopback_analogue_by_index`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1243) - Return `loopback` for device via index\r\n   - [`get_wasapi_loopback_analogue_by_dict`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1213) - Return `loopback` for device related to `info_dict`\r\n   - [`get_default_wasapi_device`](https://github.com/s0d3s/PyAudioWPatch/blob/master/src/pyaudiowpatch/__init__.py#L1191) - Return default (out/in)put device for `WASAPI` driver\r\n\r\n - new features:\r\n   - Context manager support, for PyAudio(manager) and Stream classes\r\n   - Run `python -m pyaudiowpatch` to get list of devices(like `print_detailed_system_info` call)\r\n \r\n#### Examples:\r\n - [Play sine, using \\'new context manager'](https://github.com/s0d3s/PyAudioWPatch/blob/master/examples/pawp_play_sine_using_context_manger.py)\r\n - [Record audio from default speakers](https://github.com/s0d3s/PyAudioWPatch/blob/master/examples/pawp_record_wasapi_loopback.py)\r\n - [Simple recording app](https://github.com/s0d3s/PyAudioWPatch/blob/master/examples/pawp_simple_recording_app.py)\r\n - [Cross-platform concept (Not example)](https://github.com/s0d3s/PyAudioWPatch/blob/master/examples/pawp_crossplatform_concept.py)\r\n<!---\r\n - [Play sine, using \\'new context manager'](examples/pawp_play_sine_using_context_manger.py)\r\n - [Record from audio from default speakers](examples/pawp_record_wasapi_loopback.py)\r\n - [Cross-platform concept (Not example)](examples/pawp_crossplatform_concept.py)-->\r\n \r\n## Sources\r\n\r\nThe following were taken as a basis:\r\n\r\n - PortAudio v19 \\[[8b6d16f26ad660e68a97743842ac29b939f3c0c1](https://github.com/PortAudio/portaudio/commit/8b6d16f26ad660e68a97743842ac29b939f3c0c1)]\r\n - PyAudio v0.2.12\r\n \r\n## How to build manually\r\n\r\n - Build PortAudio (using the instructions in the [README](portaudio_v19/README.md))\r\n - ~~Install [~~python~~](https://www.python.org/downloads/)~~\r\n - run in the PyAudioWPatch directory:\r\n   ```bush\r\n   python setup.py install\r\n   ```\r\n - ???\r\n - Profit.\r\n \r\n Also you can build wheel**s**:\r\n - `pip install cibuildwheel`\r\n - Run in Cygwin:\r\n    ```bash\r\n    ./cygwin_cibuildwheel_build.sh\r\n    ```\r\n - Get your wheels in the `./wheelhouse` folder\r\n\r\n---\r\n\r\n<div align=\"center\">\r\n\r\n## Origin README\r\n\r\n</div>\r\n\r\n\r\n<img align=\"right\" width=\"200\" style=\"margin-left: 3px\" src=\"https://people.csail.mit.edu/hubert/pyaudio/images/snake-300.png\">\r\n\r\n## PyAudio\r\n\r\nPyAudio provides Python bindings for PortAudio v19, the cross-platform audio I/O library. With PyAudio, you can easily use Python to play and record audio on a variety of platforms, such as GNU/Linux, Microsoft Windows, and Apple macOS.\r\n\r\nPyAudio is distributed under the MIT License.\r\n\r\n* [Homepage](https://people.csail.mit.edu/hubert/pyaudio/)\r\n* [API Documentation](https://people.csail.mit.edu/hubert/pyaudio/docs/)\r\n* [PyPi](https://pypi.python.org/pypi/PyAudio)\r\n\r\n## Installation\r\n\r\nSee the INSTALLATION file in the source distribution for details. In summary, install PyAudio using `pip` on most platforms.\r\n\r\n### Windows\r\n\r\n```sh\r\npython -m pip install pyaudio\r\n```\r\n\r\nThis installs the precompiled PyAudio library with PortAudio v19 19.7.0 included. The library is compiled with support for Windows MME API, DirectSound, WASAPI, and WDM-KS. It does not include support for ASIO. If you require support for APIs not included, you will need to compile PortAudio and PyAudio.\r\n\r\n### macOS\r\n\r\nUse [Homebrew](https://brew.sh) to install the prerequisite [portaudio](http://portaudio.com) library, then install PyAudio using `pip`:\r\n\r\n```sh\r\nbrew install portaudio\r\npip install pyaudio\r\n```\r\n\r\n### GNU/Linux\r\n\r\nUse the package manager to install PyAudio. For example, on Debian-based systems:\r\n\r\n```sh\r\nsudo apt install python3-pyaudio\r\n```\r\n\r\nAlternatively, if the latest version of PyAudio is not available, install it using `pip`. Be sure to first install development libraries for `portaudio19` and `python3`.\r\n\r\n### Building from source\r\n\r\nSee the INSTALLATION file.\r\n\r\n## Documentation & Usage Examples\r\n\r\n* Read the [API Documentation](https://people.csail.mit.edu/hubert/pyaudio/docs/), or generate it from the source using [`sphinx`](https://www.sphinx-doc.org/).\r\n\r\n* Usage examples are in the `examples` directory of the source distribution, or see the [project homepage](https://people.csail.mit.edu/hubert/pyaudio/).\r\n\r\n## License\r\n\r\nPyAudio is distributed under the MIT License. See LICENSE.txt.\r\n",
    "bugtrack_url": null,
    "license": "Apache-2.0 license",
    "summary": "PortAudio fork with WASAPI loopback support",
    "version": "0.2.12.6",
    "project_urls": {
        "Homepage": "https://github.com/s0d3s/PyAudioWPatch/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b9c39e156a4353fb7706e656da2f1a605820ef791b1e0e08becb1e62d008d5f5",
                "md5": "c03adb54d1e0dbf7816968b5a17e4f20",
                "sha256": "3eac00d775820ee9f2f07f91965c93eb6b06864356ae197489be632add13d5e8"
            },
            "downloads": -1,
            "filename": "PyAudioWPatch-0.2.12.6-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "c03adb54d1e0dbf7816968b5a17e4f20",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 84047,
            "upload_time": "2023-06-03T12:50:50",
            "upload_time_iso_8601": "2023-06-03T12:50:50.373861Z",
            "url": "https://files.pythonhosted.org/packages/b9/c3/9e156a4353fb7706e656da2f1a605820ef791b1e0e08becb1e62d008d5f5/PyAudioWPatch-0.2.12.6-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9299cd5c957cda1e85b8be27f94409712b311e9085eb49e026b3fb6de930decb",
                "md5": "5c0c5030abe369a091ae5362a2c4164d",
                "sha256": "962fe6f210aa1e1d62d8ac5f433ee7095603989f614754c819995f2328150b51"
            },
            "downloads": -1,
            "filename": "PyAudioWPatch-0.2.12.6-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5c0c5030abe369a091ae5362a2c4164d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 86293,
            "upload_time": "2023-06-03T12:50:52",
            "upload_time_iso_8601": "2023-06-03T12:50:52.558691Z",
            "url": "https://files.pythonhosted.org/packages/92/99/cd5c957cda1e85b8be27f94409712b311e9085eb49e026b3fb6de930decb/PyAudioWPatch-0.2.12.6-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b75a8cdeb8da773260e03566441ea3ee58a4077dd9fd8e022099ccdfa39e5b4",
                "md5": "602efd917ce1fc327867d64777d41814",
                "sha256": "5ae26f1f7d6b76f9a6d124daef4922b12572b4f393fbe99637ea89cb03e390d8"
            },
            "downloads": -1,
            "filename": "PyAudioWPatch-0.2.12.6-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "602efd917ce1fc327867d64777d41814",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 84052,
            "upload_time": "2023-06-03T12:50:54",
            "upload_time_iso_8601": "2023-06-03T12:50:54.360332Z",
            "url": "https://files.pythonhosted.org/packages/7b/75/a8cdeb8da773260e03566441ea3ee58a4077dd9fd8e022099ccdfa39e5b4/PyAudioWPatch-0.2.12.6-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ffc4cfa2066e9cd1938468c609a75ed32784bc30aac25c50b10d891e96d46989",
                "md5": "b3ab20b73f69499a627c18b55d43e630",
                "sha256": "ff9642f32d6cc9fb183c88f36a9a34d8a7f0434dd96022ec7d235732c07c2188"
            },
            "downloads": -1,
            "filename": "PyAudioWPatch-0.2.12.6-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b3ab20b73f69499a627c18b55d43e630",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 86304,
            "upload_time": "2023-06-03T12:50:56",
            "upload_time_iso_8601": "2023-06-03T12:50:56.334806Z",
            "url": "https://files.pythonhosted.org/packages/ff/c4/cfa2066e9cd1938468c609a75ed32784bc30aac25c50b10d891e96d46989/PyAudioWPatch-0.2.12.6-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b3afeba2e7b650e0b1feebf514ce24fd0af45d3b3cc4ea1a5bc6d3e83b77b557",
                "md5": "a2de74fab2de41ab9feeb24c1c601e3c",
                "sha256": "42bd9bb177575d2c4cf039513be48254694d670841029e0a7c70d8949025e802"
            },
            "downloads": -1,
            "filename": "PyAudioWPatch-0.2.12.6-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "a2de74fab2de41ab9feeb24c1c601e3c",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 84016,
            "upload_time": "2023-06-03T12:50:58",
            "upload_time_iso_8601": "2023-06-03T12:50:58.530096Z",
            "url": "https://files.pythonhosted.org/packages/b3/af/eba2e7b650e0b1feebf514ce24fd0af45d3b3cc4ea1a5bc6d3e83b77b557/PyAudioWPatch-0.2.12.6-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0f609f76683875689db588df0bd90c0a02b4548c4a6de37d82c1497f3c0f0282",
                "md5": "a475db2a9e6029ab619fc673dcac0e7d",
                "sha256": "e3014ff6c35e844b4977b0c201b74f69ad7319cdf2fc17b7658c8017bca0414e"
            },
            "downloads": -1,
            "filename": "PyAudioWPatch-0.2.12.6-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a475db2a9e6029ab619fc673dcac0e7d",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 86280,
            "upload_time": "2023-06-03T12:51:00",
            "upload_time_iso_8601": "2023-06-03T12:51:00.431211Z",
            "url": "https://files.pythonhosted.org/packages/0f/60/9f76683875689db588df0bd90c0a02b4548c4a6de37d82c1497f3c0f0282/PyAudioWPatch-0.2.12.6-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0c3f4e0919149216cabcb9c3b7baf39d7aa2d7d55b550fdf6adfff0ede5c527f",
                "md5": "f049dd6997991c9d4ac38c4f6c5c3ab3",
                "sha256": "3142092a8be291879d8fb3f99871bbe19225f30894b27721c804eec401e3dbfa"
            },
            "downloads": -1,
            "filename": "PyAudioWPatch-0.2.12.6-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "f049dd6997991c9d4ac38c4f6c5c3ab3",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 84049,
            "upload_time": "2023-06-03T12:51:02",
            "upload_time_iso_8601": "2023-06-03T12:51:02.311099Z",
            "url": "https://files.pythonhosted.org/packages/0c/3f/4e0919149216cabcb9c3b7baf39d7aa2d7d55b550fdf6adfff0ede5c527f/PyAudioWPatch-0.2.12.6-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "051fbcae8b8e98b6872ce71e08d4aa6712dd57bb3bd70198441f9d56ccaa9658",
                "md5": "16bd7d8c90aecbb5bfecc4ba3abed874",
                "sha256": "bfcd7708c84fc7d0bbb29f27235369d3f547459f124b088a5f7281e72cd2daeb"
            },
            "downloads": -1,
            "filename": "PyAudioWPatch-0.2.12.6-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "16bd7d8c90aecbb5bfecc4ba3abed874",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 86318,
            "upload_time": "2023-06-03T12:51:04",
            "upload_time_iso_8601": "2023-06-03T12:51:04.181644Z",
            "url": "https://files.pythonhosted.org/packages/05/1f/bcae8b8e98b6872ce71e08d4aa6712dd57bb3bd70198441f9d56ccaa9658/PyAudioWPatch-0.2.12.6-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "66ab441537e5a2b5cc71f862658547e90be736d17e120dbc146ff539dd92dd1a",
                "md5": "69aa10870cee6960653a0a5d3c81c2f1",
                "sha256": "d80712f502e0709fee3c93b568ed69343b6a2ba5b0e2e9c72d7ca19a91c1c87a"
            },
            "downloads": -1,
            "filename": "PyAudioWPatch-0.2.12.6-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "69aa10870cee6960653a0a5d3c81c2f1",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 84040,
            "upload_time": "2023-06-03T12:51:06",
            "upload_time_iso_8601": "2023-06-03T12:51:06.056785Z",
            "url": "https://files.pythonhosted.org/packages/66/ab/441537e5a2b5cc71f862658547e90be736d17e120dbc146ff539dd92dd1a/PyAudioWPatch-0.2.12.6-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "27bd370ae7a9ee6100afed45e50e8f7ecc204617f47b379b95216a40eee30282",
                "md5": "b738959d2172d65da0dbd805916e1ebd",
                "sha256": "c8d803a08ddab5e97b25df4e506b955d97a067bbccdff13f5b70115ddeeb0e5d"
            },
            "downloads": -1,
            "filename": "PyAudioWPatch-0.2.12.6-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b738959d2172d65da0dbd805916e1ebd",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 86293,
            "upload_time": "2023-06-03T12:51:08",
            "upload_time_iso_8601": "2023-06-03T12:51:08.077035Z",
            "url": "https://files.pythonhosted.org/packages/27/bd/370ae7a9ee6100afed45e50e8f7ecc204617f47b379b95216a40eee30282/PyAudioWPatch-0.2.12.6-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-03 12:50:50",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "s0d3s",
    "github_project": "PyAudioWPatch",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "pyaudiowpatch"
}
        
Elapsed time: 0.07934s