soxr


Namesoxr JSON
Version 0.5.0.post1 PyPI version JSON
download
home_pageNone
SummaryHigh quality, one-dimensional sample-rate conversion library
upload_time2024-08-31 03:43:33
maintainerNone
docs_urlNone
authorKEUM Myungchul
requires_python>=3.9
licenseNone
keywords audio resampling samplerate conversion src signal processing resampler
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Python-SoXR

[![GitHub](https://img.shields.io/badge/GitHub-python--soxr-181717?logo=github)](https://github.com/dofuuz/python-soxr) [![PyPI](https://img.shields.io/pypi/v/soxr.svg?logo=pypi)](https://pypi.org/project/soxr/) [![conda-forge](https://img.shields.io/conda/vn/conda-forge/soxr-python?logo=conda-forge)](https://anaconda.org/conda-forge/soxr-python) [![Packaging status](https://repology.org/badge/tiny-repos/python:soxr.svg)](https://repology.org/project/python:soxr/versions) [![Read the Docs](https://img.shields.io/readthedocs/python-soxr?logo=read-the-docs)](https://python-soxr.readthedocs.io)

High quality, one-dimensional sample-rate conversion library for Python.

- Homepage: https://github.com/dofuuz/python-soxr
- Documentation: https://python-soxr.readthedocs.io
- PyPI: https://pypi.org/project/soxr/

Keywords: Resampler, Audio resampling, Samplerate conversion, DSP(Digital Signal Processing)

Python-SoXR is a Python wrapper of [libsoxr](https://sourceforge.net/projects/soxr/).


## Installation

```
pip install soxr
```

If installation fails, upgrade pip with `python -m pip install --upgrade pip` and try again.


### in Conda environment

```
conda install -c conda-forge soxr-python
```

Note: Conda packge name is `soxr-python`, not python-soxr.


## Basic usage

```python
import soxr

y = soxr.resample(
    x,          # input array – mono(1D) or multi-channel(2D of [frame, channel])
    48000,      # input samplerate
    16000       # target samplerate
)
```
If input is not `numpy.ndarray`, it will be converted to `numpy.ndarray(dtype='float32')`.  
dtype should be one of float32, float64, int16, int32.

Output is `numpy.ndarray` with same dimension and data type of input.


## Streaming usage

Use `ResampleStream` for real-time processing or very long signal.

```python
import soxr

rs = soxr.ResampleStream(
    44100,              # input samplerate
    16000,              # target samplerate
    1,                  # channel(s)
    dtype='float32'     # data type (default = 'float32')
)

eof = False
while not eof:
    # Get chunk
    ...

    y_chunk = rs.resample_chunk(
        x,              # input aray – mono(1D) or multi-channel(2D of [frame, channel])
        last=eof        # Set True at end of input
    )
```

Output frame count may not be consistent. This is normal operation.  
(ex. [0, 0, 0, 186, 186, 166, 186, 186, 168, ...])

📝 [More code examples](https://dofuuz.github.io/dsp/2024/05/26/sample-rate-conversion-in-python.html)


## Benchmark

Sweep, impulse, speed compairsion with other resamplers for Python.

https://colab.research.google.com/drive/1_xYUs00VWYOAXShB85W1MFWaUjGHfO4K?usp=sharing


### Speed comparison summary

Downsampling 10 sec of 48000 Hz to 44100 Hz.  
Ran on Google Colab.

Library                  | Time on CPU (ms)
------------------------ | ----------------
soxr (HQ)                | 10.8
torchaudio               | 13.8
soxr (VHQ)               | 14.5
scipy.signal.resample    | 21.3
lilfilter                | 24.7
julius                   | 31
resampy (kaiser_fast)    | 108
samplerate (sinc_medium) | 223
resampy (kaiser_best)    | 310
samplerate (sinc_best)   | 794


## Technical detail

For technical details behind resampler, see libsoxr docs.
- https://sourceforge.net/p/soxr/wiki/Home/
- http://sox.sourceforge.net/SoX/Resampling ([archive](https://web.archive.org/web/20230626144127/https://sox.sourceforge.net/SoX/Resampling))
- https://sourceforge.net/p/soxr/code/ci/master/tree/src/soxr.h

Python-SoXR package comes with [modified version](https://github.com/dofuuz/soxr) of libsoxr. [See changes here](https://github.com/dofuuz/soxr/compare/0.1.3...master).  
These changes do not apply to dynamic-linked builds (e.g. conda-forge build).  
To check the version of libsoxr, use `soxr.__libsoxr_version__`.


## Credit and License

Python-SoXR is LGPL v2.1+ licensed, following libsoxr's license.

### OSS libraries used

#### libsoxr (LGPLv2.1+)
The SoX Resampler library  
https://sourceforge.net/projects/soxr/

Python-SoXR is a Python wrapper of libsoxr.

#### PFFFT (BSD-like)
PFFFT: a pretty fast FFT.  
https://bitbucket.org/jpommier/pffft/  

libsoxr dependency.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "soxr",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "audio resampling, samplerate conversion, SRC, signal processing, resampler",
    "author": "KEUM Myungchul",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/02/c0/4429bf9b3be10e749149e286aa5c53775399ec62891c6b970456c6dca325/soxr-0.5.0.post1.tar.gz",
    "platform": null,
    "description": "# Python-SoXR\n\n[![GitHub](https://img.shields.io/badge/GitHub-python--soxr-181717?logo=github)](https://github.com/dofuuz/python-soxr) [![PyPI](https://img.shields.io/pypi/v/soxr.svg?logo=pypi)](https://pypi.org/project/soxr/) [![conda-forge](https://img.shields.io/conda/vn/conda-forge/soxr-python?logo=conda-forge)](https://anaconda.org/conda-forge/soxr-python) [![Packaging status](https://repology.org/badge/tiny-repos/python:soxr.svg)](https://repology.org/project/python:soxr/versions) [![Read the Docs](https://img.shields.io/readthedocs/python-soxr?logo=read-the-docs)](https://python-soxr.readthedocs.io)\n\nHigh quality, one-dimensional sample-rate conversion library for Python.\n\n- Homepage: https://github.com/dofuuz/python-soxr\n- Documentation: https://python-soxr.readthedocs.io\n- PyPI: https://pypi.org/project/soxr/\n\nKeywords: Resampler, Audio resampling, Samplerate conversion, DSP(Digital Signal Processing)\n\nPython-SoXR is a Python wrapper of [libsoxr](https://sourceforge.net/projects/soxr/).\n\n\n## Installation\n\n```\npip install soxr\n```\n\nIf installation fails, upgrade pip with `python -m pip install --upgrade pip` and try again.\n\n\n### in Conda environment\n\n```\nconda install -c conda-forge soxr-python\n```\n\nNote: Conda packge name is `soxr-python`, not python-soxr.\n\n\n## Basic usage\n\n```python\nimport soxr\n\ny = soxr.resample(\n    x,          # input array \u2013 mono(1D) or multi-channel(2D of [frame, channel])\n    48000,      # input samplerate\n    16000       # target samplerate\n)\n```\nIf input is not `numpy.ndarray`, it will be converted to `numpy.ndarray(dtype='float32')`.  \ndtype should be one of float32, float64, int16, int32.\n\nOutput is `numpy.ndarray` with same dimension and data type of input.\n\n\n## Streaming usage\n\nUse `ResampleStream` for real-time processing or very long signal.\n\n```python\nimport soxr\n\nrs = soxr.ResampleStream(\n    44100,              # input samplerate\n    16000,              # target samplerate\n    1,                  # channel(s)\n    dtype='float32'     # data type (default = 'float32')\n)\n\neof = False\nwhile not eof:\n    # Get chunk\n    ...\n\n    y_chunk = rs.resample_chunk(\n        x,              # input aray \u2013 mono(1D) or multi-channel(2D of [frame, channel])\n        last=eof        # Set True at end of input\n    )\n```\n\nOutput frame count may not be consistent. This is normal operation.  \n(ex. [0, 0, 0, 186, 186, 166, 186, 186, 168, ...])\n\n\ud83d\udcdd [More code examples](https://dofuuz.github.io/dsp/2024/05/26/sample-rate-conversion-in-python.html)\n\n\n## Benchmark\n\nSweep, impulse, speed compairsion with other resamplers for Python.\n\nhttps://colab.research.google.com/drive/1_xYUs00VWYOAXShB85W1MFWaUjGHfO4K?usp=sharing\n\n\n### Speed comparison summary\n\nDownsampling 10 sec of 48000 Hz to 44100 Hz.  \nRan on Google Colab.\n\nLibrary                  | Time on CPU (ms)\n------------------------ | ----------------\nsoxr (HQ)                | 10.8\ntorchaudio               | 13.8\nsoxr (VHQ)               | 14.5\nscipy.signal.resample    | 21.3\nlilfilter                | 24.7\njulius                   | 31\nresampy (kaiser_fast)    | 108\nsamplerate (sinc_medium) | 223\nresampy (kaiser_best)    | 310\nsamplerate (sinc_best)   | 794\n\n\n## Technical detail\n\nFor technical details behind resampler, see libsoxr docs.\n- https://sourceforge.net/p/soxr/wiki/Home/\n- http://sox.sourceforge.net/SoX/Resampling ([archive](https://web.archive.org/web/20230626144127/https://sox.sourceforge.net/SoX/Resampling))\n- https://sourceforge.net/p/soxr/code/ci/master/tree/src/soxr.h\n\nPython-SoXR package comes with [modified version](https://github.com/dofuuz/soxr) of libsoxr. [See changes here](https://github.com/dofuuz/soxr/compare/0.1.3...master).  \nThese changes do not apply to dynamic-linked builds (e.g. conda-forge build).  \nTo check the version of libsoxr, use `soxr.__libsoxr_version__`.\n\n\n## Credit and License\n\nPython-SoXR is LGPL v2.1+ licensed, following libsoxr's license.\n\n### OSS libraries used\n\n#### libsoxr (LGPLv2.1+)\nThe SoX Resampler library  \nhttps://sourceforge.net/projects/soxr/\n\nPython-SoXR is a Python wrapper of libsoxr.\n\n#### PFFFT (BSD-like)\nPFFFT: a pretty fast FFT.  \nhttps://bitbucket.org/jpommier/pffft/  \n\nlibsoxr dependency.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "High quality, one-dimensional sample-rate conversion library",
    "version": "0.5.0.post1",
    "project_urls": {
        "Bug tracker": "https://github.com/dofuuz/python-soxr/issues",
        "Documentation": "https://python-soxr.readthedocs.io",
        "Homepage": "https://github.com/dofuuz/python-soxr",
        "Source": "https://github.com/dofuuz/python-soxr"
    },
    "split_keywords": [
        "audio resampling",
        " samplerate conversion",
        " src",
        " signal processing",
        " resampler"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7d96bee1eb69d66fc28c3b219ba9b8674b49d3dcc6cd2f9b3e5114ff28cf88b5",
                "md5": "795b5c26a771ac97d9121c9a9ebef760",
                "sha256": "7406d782d85f8cf64e66b65e6b7721973de8a1dc50b9e88bc2288c343a987484"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp310-cp310-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "795b5c26a771ac97d9121c9a9ebef760",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 203841,
            "upload_time": "2024-08-31T03:42:59",
            "upload_time_iso_8601": "2024-08-31T03:42:59.186376Z",
            "url": "https://files.pythonhosted.org/packages/7d/96/bee1eb69d66fc28c3b219ba9b8674b49d3dcc6cd2f9b3e5114ff28cf88b5/soxr-0.5.0.post1-cp310-cp310-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1f5d56ad3d181d30d103128f65cc44f4c4e24c199e6d5723e562704e47c89f78",
                "md5": "b59bc2a33ecfbbb007ce6b28de60bd4f",
                "sha256": "fa0a382fb8d8e2afed2c1642723b2d2d1b9a6728ff89f77f3524034c8885b8c9"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "b59bc2a33ecfbbb007ce6b28de60bd4f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 160192,
            "upload_time": "2024-08-31T03:43:01",
            "upload_time_iso_8601": "2024-08-31T03:43:01.128637Z",
            "url": "https://files.pythonhosted.org/packages/1f/5d/56ad3d181d30d103128f65cc44f4c4e24c199e6d5723e562704e47c89f78/soxr-0.5.0.post1-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7f09e43c39390e26b4c1b8d46f8a1c252a5077fa9f81cc2326b03c3d2b85744e",
                "md5": "50481503459d153bb6e73ea54184760d",
                "sha256": "8b01d3efb95a2851f78414bcd00738b0253eec3f5a1e5482838e965ffef84969"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "50481503459d153bb6e73ea54184760d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 221176,
            "upload_time": "2024-08-31T03:43:02",
            "upload_time_iso_8601": "2024-08-31T03:43:02.663381Z",
            "url": "https://files.pythonhosted.org/packages/7f/09/e43c39390e26b4c1b8d46f8a1c252a5077fa9f81cc2326b03c3d2b85744e/soxr-0.5.0.post1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bae6059070b4cdb7fdd8ffbb67c5087c1da9716577127fb0540cd11dbf77923b",
                "md5": "755d3d6e1443cd68f068ae5f2a9cc737",
                "sha256": "fcc049b0a151a65aa75b92f0ac64bb2dba785d16b78c31c2b94e68c141751d6d"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "755d3d6e1443cd68f068ae5f2a9cc737",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 252779,
            "upload_time": "2024-08-31T03:43:04",
            "upload_time_iso_8601": "2024-08-31T03:43:04.582653Z",
            "url": "https://files.pythonhosted.org/packages/ba/e6/059070b4cdb7fdd8ffbb67c5087c1da9716577127fb0540cd11dbf77923b/soxr-0.5.0.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ad6486082b6372e5ff807dfa79b857da9f50e94e155706000daa43fdc3b59851",
                "md5": "0c9fa9e9fcde2bafbd761aade6b54c5f",
                "sha256": "97f269bc26937c267a2ace43a77167d0c5c8bba5a2b45863bb6042b5b50c474e"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0c9fa9e9fcde2bafbd761aade6b54c5f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 166881,
            "upload_time": "2024-08-31T03:43:06",
            "upload_time_iso_8601": "2024-08-31T03:43:06.255939Z",
            "url": "https://files.pythonhosted.org/packages/ad/64/86082b6372e5ff807dfa79b857da9f50e94e155706000daa43fdc3b59851/soxr-0.5.0.post1-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2928dc62dae260a77603e8257e9b79078baa2ca4c0b4edc6f9f82c9113d6ef18",
                "md5": "3aa9d45f6c85618077091a3e5799db2f",
                "sha256": "6fb77b626773a966e3d8f6cb24f6f74b5327fa5dc90f1ff492450e9cdc03a378"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp311-cp311-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3aa9d45f6c85618077091a3e5799db2f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 203648,
            "upload_time": "2024-08-31T03:43:08",
            "upload_time_iso_8601": "2024-08-31T03:43:08.339313Z",
            "url": "https://files.pythonhosted.org/packages/29/28/dc62dae260a77603e8257e9b79078baa2ca4c0b4edc6f9f82c9113d6ef18/soxr-0.5.0.post1-cp311-cp311-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0e483e88329a695f6e0e38a3b171fff819d75d7cc055dae1ec5d5074f34d61e3",
                "md5": "ba875f163d18dd6a1fe965c46bd879dc",
                "sha256": "39e0f791ba178d69cd676485dbee37e75a34f20daa478d90341ecb7f6d9d690f"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ba875f163d18dd6a1fe965c46bd879dc",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 159933,
            "upload_time": "2024-08-31T03:43:10",
            "upload_time_iso_8601": "2024-08-31T03:43:10.053239Z",
            "url": "https://files.pythonhosted.org/packages/0e/48/3e88329a695f6e0e38a3b171fff819d75d7cc055dae1ec5d5074f34d61e3/soxr-0.5.0.post1-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9ca56b439164be6871520f3d199554568a7656e96a867adbbe5bac179caf5776",
                "md5": "4c808ccba5ce976a73bbbcecbf708c5a",
                "sha256": "4f0b558f445ba4b64dbcb37b5f803052eee7d93b1dbbbb97b3ec1787cb5a28eb"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "4c808ccba5ce976a73bbbcecbf708c5a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 221010,
            "upload_time": "2024-08-31T03:43:11",
            "upload_time_iso_8601": "2024-08-31T03:43:11.839187Z",
            "url": "https://files.pythonhosted.org/packages/9c/a5/6b439164be6871520f3d199554568a7656e96a867adbbe5bac179caf5776/soxr-0.5.0.post1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9fe5400e3bf7f29971abad85cb877e290060e5ec61fccd2fa319e3d85709c1be",
                "md5": "47fd9e97dd6d120bc4da03567ac64f64",
                "sha256": "ca6903671808e0a6078b0d146bb7a2952b118dfba44008b2aa60f221938ba829"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "47fd9e97dd6d120bc4da03567ac64f64",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 252471,
            "upload_time": "2024-08-31T03:43:13",
            "upload_time_iso_8601": "2024-08-31T03:43:13.347608Z",
            "url": "https://files.pythonhosted.org/packages/9f/e5/400e3bf7f29971abad85cb877e290060e5ec61fccd2fa319e3d85709c1be/soxr-0.5.0.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "86946a7e91bea7e6ca193ee429869b8f18548cd79759e064021ecb5756024c7c",
                "md5": "d5ec7a015781494957cca1dc71ec30de",
                "sha256": "c4d8d5283ed6f5efead0df2c05ae82c169cfdfcf5a82999c2d629c78b33775e8"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d5ec7a015781494957cca1dc71ec30de",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 166723,
            "upload_time": "2024-08-31T03:43:15",
            "upload_time_iso_8601": "2024-08-31T03:43:15.212853Z",
            "url": "https://files.pythonhosted.org/packages/86/94/6a7e91bea7e6ca193ee429869b8f18548cd79759e064021ecb5756024c7c/soxr-0.5.0.post1-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5de3d422d279e51e6932e7b64f1170a4f61a7ee768e0f84c9233a5b62cd2c832",
                "md5": "b16abbe3d2f6b7827959cae94847a8c4",
                "sha256": "fef509466c9c25f65eae0ce1e4b9ac9705d22c6038c914160ddaf459589c6e31"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp312-abi3-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b16abbe3d2f6b7827959cae94847a8c4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 199993,
            "upload_time": "2024-08-31T03:43:17",
            "upload_time_iso_8601": "2024-08-31T03:43:17.240573Z",
            "url": "https://files.pythonhosted.org/packages/5d/e3/d422d279e51e6932e7b64f1170a4f61a7ee768e0f84c9233a5b62cd2c832/soxr-0.5.0.post1-cp312-abi3-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "20f188adaca3c52e03bcb66b63d295df2e2d35bf355d19598c6ce84b20be7fca",
                "md5": "ddf8cf0caf5775fa6e219f57995fb9a4",
                "sha256": "4704ba6b13a3f1e41d12acf192878384c1c31f71ce606829c64abdf64a8d7d32"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp312-abi3-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ddf8cf0caf5775fa6e219f57995fb9a4",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 156373,
            "upload_time": "2024-08-31T03:43:18",
            "upload_time_iso_8601": "2024-08-31T03:43:18.633808Z",
            "url": "https://files.pythonhosted.org/packages/20/f1/88adaca3c52e03bcb66b63d295df2e2d35bf355d19598c6ce84b20be7fca/soxr-0.5.0.post1-cp312-abi3-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b838bad15a9e615215c8219652ca554b601663ac3b7ac82a284aca53ec2ff48c",
                "md5": "62edccfcf048789fa1cf3a494285a45a",
                "sha256": "bd052a66471a7335b22a6208601a9d0df7b46b8d087dce4ff6e13eed6a33a2a1"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "62edccfcf048789fa1cf3a494285a45a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 216564,
            "upload_time": "2024-08-31T03:43:20",
            "upload_time_iso_8601": "2024-08-31T03:43:20.789441Z",
            "url": "https://files.pythonhosted.org/packages/b8/38/bad15a9e615215c8219652ca554b601663ac3b7ac82a284aca53ec2ff48c/soxr-0.5.0.post1-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e11a569ea0420a0c4801c2c8dd40d8d544989522f6014d51def689125f3f2935",
                "md5": "3ee89c2c54fa4263fc36db477a3e99fc",
                "sha256": "a3f16810dd649ab1f433991d2a9661e9e6a116c2b4101039b53b3c3e90a094fc"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3ee89c2c54fa4263fc36db477a3e99fc",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 248455,
            "upload_time": "2024-08-31T03:43:22",
            "upload_time_iso_8601": "2024-08-31T03:43:22.165498Z",
            "url": "https://files.pythonhosted.org/packages/e1/1a/569ea0420a0c4801c2c8dd40d8d544989522f6014d51def689125f3f2935/soxr-0.5.0.post1-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bc10440f1ba3d4955e0dc740bbe4ce8968c254a3d644d013eb75eea729becdb8",
                "md5": "92cbe5abc0f5e822a7e7289153555e88",
                "sha256": "b1be9fee90afb38546bdbd7bde714d1d9a8c5a45137f97478a83b65e7f3146f6"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp312-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "92cbe5abc0f5e822a7e7289153555e88",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 164937,
            "upload_time": "2024-08-31T03:43:23",
            "upload_time_iso_8601": "2024-08-31T03:43:23.671971Z",
            "url": "https://files.pythonhosted.org/packages/bc/10/440f1ba3d4955e0dc740bbe4ce8968c254a3d644d013eb75eea729becdb8/soxr-0.5.0.post1-cp312-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d97bc8d797235d06ae316e0c9bc2b1d0d5d948834dfac17eba0ad10fd177524b",
                "md5": "fa16ece2707ef9c941e6d3cdc5979d02",
                "sha256": "c5af7b355959061beb90a1d73c4834ece4549f07b708f8c73c088153cec29935"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp39-cp39-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fa16ece2707ef9c941e6d3cdc5979d02",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 204073,
            "upload_time": "2024-08-31T03:43:24",
            "upload_time_iso_8601": "2024-08-31T03:43:24.935309Z",
            "url": "https://files.pythonhosted.org/packages/d9/7b/c8d797235d06ae316e0c9bc2b1d0d5d948834dfac17eba0ad10fd177524b/soxr-0.5.0.post1-cp39-cp39-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "885cf6cf6b90ce1628def17c746d6cde9991fdd29667ef1d5fb5bd3b22eb788f",
                "md5": "33f5e651b00fa198606676325dc67270",
                "sha256": "e1dda616fc797b1507b65486f3116ed2c929f13c722922963dd419d64ada6c07"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "33f5e651b00fa198606676325dc67270",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 160375,
            "upload_time": "2024-08-31T03:43:26",
            "upload_time_iso_8601": "2024-08-31T03:43:26.742897Z",
            "url": "https://files.pythonhosted.org/packages/88/5c/f6cf6b90ce1628def17c746d6cde9991fdd29667ef1d5fb5bd3b22eb788f/soxr-0.5.0.post1-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a54a6a11d62cfd6383c88f4918bdc5191d9c437f649c9101ceb5eec7e2837f0b",
                "md5": "a6251a7d87c9c6099522d53a660c621b",
                "sha256": "94de2812368e98cb42b4eaeddf8ee1657ecc19bd053f8e67b9b5aa12a3592012"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "a6251a7d87c9c6099522d53a660c621b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 221450,
            "upload_time": "2024-08-31T03:43:28",
            "upload_time_iso_8601": "2024-08-31T03:43:28.048139Z",
            "url": "https://files.pythonhosted.org/packages/a5/4a/6a11d62cfd6383c88f4918bdc5191d9c437f649c9101ceb5eec7e2837f0b/soxr-0.5.0.post1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "25d183a66e795381ddfc5c3ebf34cc0ac68735c7c459ed1fe65a2193a52c57b1",
                "md5": "cc02d2de2c898afdf7b38e175d83f302",
                "sha256": "9c8e9c980637e03d3f345a4fd81d56477a58c294fb26205fa121bc4eb23d9d01"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cc02d2de2c898afdf7b38e175d83f302",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 253025,
            "upload_time": "2024-08-31T03:43:29",
            "upload_time_iso_8601": "2024-08-31T03:43:29.893153Z",
            "url": "https://files.pythonhosted.org/packages/25/d1/83a66e795381ddfc5c3ebf34cc0ac68735c7c459ed1fe65a2193a52c57b1/soxr-0.5.0.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cd2e1fbad5cc8c49c45a0b94221d16445792f55b63fe4f6d3885db960d92892c",
                "md5": "a6c9b35cf5f851628b0250ffbd29b4a8",
                "sha256": "7e71b0b0db450f36de70f1047505231db77a713f8c47df9342582ae8a4b828f2"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a6c9b35cf5f851628b0250ffbd29b4a8",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 167292,
            "upload_time": "2024-08-31T03:43:31",
            "upload_time_iso_8601": "2024-08-31T03:43:31.313729Z",
            "url": "https://files.pythonhosted.org/packages/cd/2e/1fbad5cc8c49c45a0b94221d16445792f55b63fe4f6d3885db960d92892c/soxr-0.5.0.post1-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "02c04429bf9b3be10e749149e286aa5c53775399ec62891c6b970456c6dca325",
                "md5": "31c59fcccf4e51d65cb55cd8c8f97b58",
                "sha256": "7092b9f3e8a416044e1fa138c8172520757179763b85dc53aa9504f4813cff73"
            },
            "downloads": -1,
            "filename": "soxr-0.5.0.post1.tar.gz",
            "has_sig": false,
            "md5_digest": "31c59fcccf4e51d65cb55cd8c8f97b58",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 170853,
            "upload_time": "2024-08-31T03:43:33",
            "upload_time_iso_8601": "2024-08-31T03:43:33.058553Z",
            "url": "https://files.pythonhosted.org/packages/02/c0/4429bf9b3be10e749149e286aa5c53775399ec62891c6b970456c6dca325/soxr-0.5.0.post1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-31 03:43:33",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "dofuuz",
    "github_project": "python-soxr",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "soxr"
}
        
Elapsed time: 0.64689s