soxr


Namesoxr JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryHigh quality, one-dimensional sample-rate conversion library
upload_time2025-09-07 13:22:21
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

```sh
pip install soxr
```

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


### in Conda environment

```sh
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/42/7e/f4b461944662ad75036df65277d6130f9411002bfb79e9df7dff40a31db9/soxr-1.0.0.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```sh\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```sh\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": "1.0.0",
    "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": null,
            "digests": {
                "blake2b_256": "1ea711c36d71595b52fe84a220040ace679035953acf06b83bf2c7117c565d2c",
                "md5": "da8fccae0afc14e44ef26385be147540",
                "sha256": "b876a3156f67c76aef0cff1084eaf4088d9ca584bb569cb993f89a52ec5f399f"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp310-cp310-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "da8fccae0afc14e44ef26385be147540",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 206459,
            "upload_time": "2025-09-07T13:21:46",
            "upload_time_iso_8601": "2025-09-07T13:21:46.904124Z",
            "url": "https://files.pythonhosted.org/packages/1e/a7/11c36d71595b52fe84a220040ace679035953acf06b83bf2c7117c565d2c/soxr-1.0.0-cp310-cp310-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "435e8962f2aeea7777d2a6e65a24a2b83c6aea1a28badeda027fd328f7f03bb7",
                "md5": "b9b2db89ab81d50a713593927cb7dad1",
                "sha256": "4d3b957a7b0cc19ae6aa45d40b2181474e53a8dd00efd7bce6bcf4e60e020892"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "b9b2db89ab81d50a713593927cb7dad1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 164808,
            "upload_time": "2025-09-07T13:21:48",
            "upload_time_iso_8601": "2025-09-07T13:21:48.830850Z",
            "url": "https://files.pythonhosted.org/packages/43/5e/8962f2aeea7777d2a6e65a24a2b83c6aea1a28badeda027fd328f7f03bb7/soxr-1.0.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fc9100384166f110a3888ea8efd44523ba7168dd2dc39e3e43c931cc2d069fa9",
                "md5": "3aeda176170a869140dd240889fbdf85",
                "sha256": "b89685faedebc45af71f08f9957b61cc6143bc94ba43fe38e97067f81e272969"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "3aeda176170a869140dd240889fbdf85",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 208586,
            "upload_time": "2025-09-07T13:21:50",
            "upload_time_iso_8601": "2025-09-07T13:21:50.341204Z",
            "url": "https://files.pythonhosted.org/packages/fc/91/00384166f110a3888ea8efd44523ba7168dd2dc39e3e43c931cc2d069fa9/soxr-1.0.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7534e18f1003e242aabed44ed8902534814d3e64209e4d1d874f5b9b67d73cde",
                "md5": "ccc24b5200bb7658ff414eb152a62789",
                "sha256": "d255741b2f0084fd02d4a2ddd77cd495be9e7e7b6f9dba1c9494f86afefac65b"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ccc24b5200bb7658ff414eb152a62789",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 242310,
            "upload_time": "2025-09-07T13:21:51",
            "upload_time_iso_8601": "2025-09-07T13:21:51.560620Z",
            "url": "https://files.pythonhosted.org/packages/75/34/e18f1003e242aabed44ed8902534814d3e64209e4d1d874f5b9b67d73cde/soxr-1.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "619ca1c5ed106b40cc1e2e12cd58831b7f1b61c5fbdb8eceeca4b3a0b0dbef6c",
                "md5": "6ebce39c9e512c004b2b1e2b09618434",
                "sha256": "158a4a9055958c4b95ef91dbbe280cabb00946b5423b25a9b0ce31bd9e0a271e"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6ebce39c9e512c004b2b1e2b09618434",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 173561,
            "upload_time": "2025-09-07T13:21:53",
            "upload_time_iso_8601": "2025-09-07T13:21:53.030737Z",
            "url": "https://files.pythonhosted.org/packages/61/9c/a1c5ed106b40cc1e2e12cd58831b7f1b61c5fbdb8eceeca4b3a0b0dbef6c/soxr-1.0.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "65cea3262bc8733d3a4ce5f660ed88c3d97f4b12658b0909e71334cba1721dcb",
                "md5": "ce7ac54678ca0f48b17285e1f76fd4ce",
                "sha256": "28e19d74a5ef45c0d7000f3c70ec1719e89077379df2a1215058914d9603d2d8"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp311-cp311-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ce7ac54678ca0f48b17285e1f76fd4ce",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 206739,
            "upload_time": "2025-09-07T13:21:54",
            "upload_time_iso_8601": "2025-09-07T13:21:54.572381Z",
            "url": "https://files.pythonhosted.org/packages/65/ce/a3262bc8733d3a4ce5f660ed88c3d97f4b12658b0909e71334cba1721dcb/soxr-1.0.0-cp311-cp311-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "64dce8cbd100b652697cc9865dbed08832e7e135ff533f453eb6db9e6168d153",
                "md5": "371dc83d16b74939d88d423d37b29848",
                "sha256": "f8dc69fc18884e53b72f6141fdf9d80997edbb4fec9dc2942edcb63abbe0d023"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "371dc83d16b74939d88d423d37b29848",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 165233,
            "upload_time": "2025-09-07T13:21:55",
            "upload_time_iso_8601": "2025-09-07T13:21:55.887655Z",
            "url": "https://files.pythonhosted.org/packages/64/dc/e8cbd100b652697cc9865dbed08832e7e135ff533f453eb6db9e6168d153/soxr-1.0.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "75124b49611c9ba5e9fe6f807d0a83352516808e8e573f8b4e712fc0c17f3363",
                "md5": "5cab125f2f73e034ada96e8e8ba98bda",
                "sha256": "3f15450e6f65f22f02fcd4c5a9219c873b1e583a73e232805ff160c759a6b586"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5cab125f2f73e034ada96e8e8ba98bda",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 208867,
            "upload_time": "2025-09-07T13:21:57",
            "upload_time_iso_8601": "2025-09-07T13:21:57.076680Z",
            "url": "https://files.pythonhosted.org/packages/75/12/4b49611c9ba5e9fe6f807d0a83352516808e8e573f8b4e712fc0c17f3363/soxr-1.0.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cc7092146ab970a3ef8c43ac160035b1e52fde5417f89adb10572f7e788d9596",
                "md5": "ecf4ecbe6e8441dd663c998635f6f6aa",
                "sha256": "1f73f57452f9df37b4de7a4052789fcbd474a5b28f38bba43278ae4b489d4384"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ecf4ecbe6e8441dd663c998635f6f6aa",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 242633,
            "upload_time": "2025-09-07T13:21:58",
            "upload_time_iso_8601": "2025-09-07T13:21:58.621218Z",
            "url": "https://files.pythonhosted.org/packages/cc/70/92146ab970a3ef8c43ac160035b1e52fde5417f89adb10572f7e788d9596/soxr-1.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b5a7628479336206959463d08260bffed87905e7ba9e3bd83ca6b405a0736e94",
                "md5": "beca71ac57639076004c89d49d29319a",
                "sha256": "9f417c3d69236051cf5a1a7bad7c4bff04eb3d8fcaa24ac1cb06e26c8d48d8dc"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "beca71ac57639076004c89d49d29319a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 173814,
            "upload_time": "2025-09-07T13:21:59",
            "upload_time_iso_8601": "2025-09-07T13:21:59.798529Z",
            "url": "https://files.pythonhosted.org/packages/b5/a7/628479336206959463d08260bffed87905e7ba9e3bd83ca6b405a0736e94/soxr-1.0.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c5c7f92b81f1a151c13afb114f57799b86da9330bec844ea5a0d3fe6a8732678",
                "md5": "68d214089b9c9611afcc88aa8c160b64",
                "sha256": "abecf4e39017f3fadb5e051637c272ae5778d838e5c3926a35db36a53e3a607f"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp312-abi3-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "68d214089b9c9611afcc88aa8c160b64",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 205508,
            "upload_time": "2025-09-07T13:22:01",
            "upload_time_iso_8601": "2025-09-07T13:22:01.252777Z",
            "url": "https://files.pythonhosted.org/packages/c5/c7/f92b81f1a151c13afb114f57799b86da9330bec844ea5a0d3fe6a8732678/soxr-1.0.0-cp312-abi3-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ff1dc945fea9d83ea1f2be9d116b3674dbaef26ed090374a77c394b31e3b083b",
                "md5": "cf923f3660e956cdd4df07a646f07cf7",
                "sha256": "e973d487ee46aa8023ca00a139db6e09af053a37a032fe22f9ff0cc2e19c94b4"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp312-abi3-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "cf923f3660e956cdd4df07a646f07cf7",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 163568,
            "upload_time": "2025-09-07T13:22:03",
            "upload_time_iso_8601": "2025-09-07T13:22:03.558534Z",
            "url": "https://files.pythonhosted.org/packages/ff/1d/c945fea9d83ea1f2be9d116b3674dbaef26ed090374a77c394b31e3b083b/soxr-1.0.0-cp312-abi3-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b58010640970998a1d2199bef6c4d92205f36968cddaf3e4d0e9fe35ddd405bd",
                "md5": "ce190600cf106ad4be5a5127dd62f160",
                "sha256": "e8ce273cca101aff3d8c387db5a5a41001ba76ef1837883438d3c652507a9ccc"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ce190600cf106ad4be5a5127dd62f160",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 204707,
            "upload_time": "2025-09-07T13:22:05",
            "upload_time_iso_8601": "2025-09-07T13:22:05.125357Z",
            "url": "https://files.pythonhosted.org/packages/b5/80/10640970998a1d2199bef6c4d92205f36968cddaf3e4d0e9fe35ddd405bd/soxr-1.0.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b1872726603c13c2126cb8ded9e57381b7377f4f0df6ba4408e1af5ddbfdc3dd",
                "md5": "af64aeeacc488c0790e1d2d4173acf12",
                "sha256": "e8f2a69686f2856d37823bbb7b78c3d44904f311fe70ba49b893af11d6b6047b"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "af64aeeacc488c0790e1d2d4173acf12",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 238032,
            "upload_time": "2025-09-07T13:22:06",
            "upload_time_iso_8601": "2025-09-07T13:22:06.428223Z",
            "url": "https://files.pythonhosted.org/packages/b1/87/2726603c13c2126cb8ded9e57381b7377f4f0df6ba4408e1af5ddbfdc3dd/soxr-1.0.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ce04530252227f4d0721a5524a936336485dfb429bb206a66baf8e470384f4a2",
                "md5": "1c437204c88d6f6c7aa0387c18bb2c1a",
                "sha256": "2a3b77b115ae7c478eecdbd060ed4f61beda542dfb70639177ac263aceda42a2"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp312-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1c437204c88d6f6c7aa0387c18bb2c1a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 172070,
            "upload_time": "2025-09-07T13:22:07",
            "upload_time_iso_8601": "2025-09-07T13:22:07.620596Z",
            "url": "https://files.pythonhosted.org/packages/ce/04/530252227f4d0721a5524a936336485dfb429bb206a66baf8e470384f4a2/soxr-1.0.0-cp312-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9977d3b3c25b4f1b1aa4a73f669355edcaee7a52179d0c50407697200a0e55b9",
                "md5": "e26ed4b281cfe639ce245e058e1fd7aa",
                "sha256": "392a5c70c04eb939c9c176bd6f654dec9a0eaa9ba33d8f1024ed63cf68cdba0a"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp314-cp314t-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e26ed4b281cfe639ce245e058e1fd7aa",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 209509,
            "upload_time": "2025-09-07T13:22:08",
            "upload_time_iso_8601": "2025-09-07T13:22:08.773512Z",
            "url": "https://files.pythonhosted.org/packages/99/77/d3b3c25b4f1b1aa4a73f669355edcaee7a52179d0c50407697200a0e55b9/soxr-1.0.0-cp314-cp314t-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8aee3ca73e18781bb2aff92b809f1c17c356dfb9a1870652004bd432e79afbfa",
                "md5": "74e5b70e7528a5f3283b0be61d864edc",
                "sha256": "fdc41a1027ba46777186f26a8fba7893be913383414135577522da2fcc684490"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp314-cp314t-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "74e5b70e7528a5f3283b0be61d864edc",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 167690,
            "upload_time": "2025-09-07T13:22:10",
            "upload_time_iso_8601": "2025-09-07T13:22:10.259579Z",
            "url": "https://files.pythonhosted.org/packages/8a/ee/3ca73e18781bb2aff92b809f1c17c356dfb9a1870652004bd432e79afbfa/soxr-1.0.0-cp314-cp314t-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bdf0eea8b5f587a2531657dc5081d2543a5a845f271a3bea1c0fdee5cebde021",
                "md5": "4e9040be3e403100bb79aaff13cd15d7",
                "sha256": "449acd1dfaf10f0ce6dfd75c7e2ef984890df94008765a6742dafb42061c1a24"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "4e9040be3e403100bb79aaff13cd15d7",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 209541,
            "upload_time": "2025-09-07T13:22:11",
            "upload_time_iso_8601": "2025-09-07T13:22:11.739418Z",
            "url": "https://files.pythonhosted.org/packages/bd/f0/eea8b5f587a2531657dc5081d2543a5a845f271a3bea1c0fdee5cebde021/soxr-1.0.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "64592430a48c705565eb09e78346950b586f253a11bd5313426ced3ecd9b0feb",
                "md5": "2604a5a16e08c464d7423205dc537a7d",
                "sha256": "38b35c99e408b8f440c9376a5e1dd48014857cd977c117bdaa4304865ae0edd0"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2604a5a16e08c464d7423205dc537a7d",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 243025,
            "upload_time": "2025-09-07T13:22:12",
            "upload_time_iso_8601": "2025-09-07T13:22:12.877393Z",
            "url": "https://files.pythonhosted.org/packages/64/59/2430a48c705565eb09e78346950b586f253a11bd5313426ced3ecd9b0feb/soxr-1.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3c1bf84a2570a74094e921bbad5450b2a22a85d58585916e131d9b98029c3e69",
                "md5": "dfb912b82c6cfaaba350a7f074ea60be",
                "sha256": "a39b519acca2364aa726b24a6fd55acf29e4c8909102e0b858c23013c38328e5"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp314-cp314t-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "dfb912b82c6cfaaba350a7f074ea60be",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 184850,
            "upload_time": "2025-09-07T13:22:14",
            "upload_time_iso_8601": "2025-09-07T13:22:14.068504Z",
            "url": "https://files.pythonhosted.org/packages/3c/1b/f84a2570a74094e921bbad5450b2a22a85d58585916e131d9b98029c3e69/soxr-1.0.0-cp314-cp314t-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5fd82a979590cc53d9c8fa63010b80018c2aa522fcd4e132067be4b130b9f4ce",
                "md5": "f7c0b709a3cf8c6a65e95f90726d18d6",
                "sha256": "c120775b7d0ef9e974a5797a4695861e88653f7ecd0a2a532f089bc4452ba130"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp39-cp39-macosx_10_14_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f7c0b709a3cf8c6a65e95f90726d18d6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 206652,
            "upload_time": "2025-09-07T13:22:15",
            "upload_time_iso_8601": "2025-09-07T13:22:15.229667Z",
            "url": "https://files.pythonhosted.org/packages/5f/d8/2a979590cc53d9c8fa63010b80018c2aa522fcd4e132067be4b130b9f4ce/soxr-1.0.0-cp39-cp39-macosx_10_14_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d665cc7d4c172afae668a9861d0c0e221830ccb3a88640148b37d5d5343e2d35",
                "md5": "7fa8f7c0754be3d7c3c2b4ee13c84b2e",
                "sha256": "4e59e5f648bd6144e79a6e0596aa486218876293f5ddce3ca84b9d8f8aa34d6d"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7fa8f7c0754be3d7c3c2b4ee13c84b2e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 165050,
            "upload_time": "2025-09-07T13:22:16",
            "upload_time_iso_8601": "2025-09-07T13:22:16.303167Z",
            "url": "https://files.pythonhosted.org/packages/d6/65/cc7d4c172afae668a9861d0c0e221830ccb3a88640148b37d5d5343e2d35/soxr-1.0.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "64e4449c59781d9d942bfa88f691099935b41b207f39704515cc7d368c017f9f",
                "md5": "5e4f3072556829a5baa560440bf45650",
                "sha256": "bb86c342862697dbd4a44043f275e5196f2d2c49dca374c78f19b7893988675d"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5e4f3072556829a5baa560440bf45650",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 208806,
            "upload_time": "2025-09-07T13:22:17",
            "upload_time_iso_8601": "2025-09-07T13:22:17.487637Z",
            "url": "https://files.pythonhosted.org/packages/64/e4/449c59781d9d942bfa88f691099935b41b207f39704515cc7d368c017f9f/soxr-1.0.0-cp39-cp39-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e8899af231937ba3bc0c6d42955431290eeab0efcf37987bf0d69f5734bda78a",
                "md5": "d42858159751ef5f954e7e328005b813",
                "sha256": "3d2a4fadd88207c2991fb08c29fc189e7b2e298b598a94ea1747e42c8acb7a01"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d42858159751ef5f954e7e328005b813",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 242642,
            "upload_time": "2025-09-07T13:22:18",
            "upload_time_iso_8601": "2025-09-07T13:22:18.727741Z",
            "url": "https://files.pythonhosted.org/packages/e8/89/9af231937ba3bc0c6d42955431290eeab0efcf37987bf0d69f5734bda78a/soxr-1.0.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d934b707da1fce2ccd60477bc47f0149e94e49fb98f20f8670a1dbf67b93a4a1",
                "md5": "391a7091677bfbcf471f23776b78aef6",
                "sha256": "c7f5ace8f04f924b21caedeeb69f2a7b3d83d2d436639498c08b2cebe181af14"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "391a7091677bfbcf471f23776b78aef6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 174063,
            "upload_time": "2025-09-07T13:22:20",
            "upload_time_iso_8601": "2025-09-07T13:22:20.173492Z",
            "url": "https://files.pythonhosted.org/packages/d9/34/b707da1fce2ccd60477bc47f0149e94e49fb98f20f8670a1dbf67b93a4a1/soxr-1.0.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "427ef4b461944662ad75036df65277d6130f9411002bfb79e9df7dff40a31db9",
                "md5": "090491d89b85584505e7fad623b51e01",
                "sha256": "e07ee6c1d659bc6957034f4800c60cb8b98de798823e34d2a2bba1caa85a4509"
            },
            "downloads": -1,
            "filename": "soxr-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "090491d89b85584505e7fad623b51e01",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 171415,
            "upload_time": "2025-09-07T13:22:21",
            "upload_time_iso_8601": "2025-09-07T13:22:21.317144Z",
            "url": "https://files.pythonhosted.org/packages/42/7e/f4b461944662ad75036df65277d6130f9411002bfb79e9df7dff40a31db9/soxr-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-07 13:22:21",
    "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: 1.09397s