zignal-processing


Namezignal-processing JSON
Version 0.2.0 PyPI version JSON
download
home_pageNone
SummaryZero-dependency image processing library
upload_time2025-07-25 06:29:17
maintainerNone
docs_urlNone
authorzignal contributors
requires_python>=3.9
licenseNone
keywords image-processing computer-vision zig native
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Zignal Python Bindings

Zero-dependency image processing library written in Zig with Python bindings.

## Installation

```console
pip install zignal-processing
```

## Quick Start

```python
import zignal

# Create RGB color
red = zignal.Rgb(255, 0, 0)
print(f"Red color: {red}")

# Convert to HSV
hsv = red.to_hsv()
print(f"HSV: {hsv}")

# Convert to other color spaces
lab = red.to_lab()
oklab = red.to_oklab()
xyz = red.to_xyz()
```

## Features

- **12 Color Spaces**: RGB, RGBA, HSV, HSL, Lab, XYZ, Oklab, Oklch, LCH, LMS, XYB, YCbCr
- **Seamless Conversions**: Convert between any supported color spaces
- **Type Safety**: Strong typing with validation for color components
- **Zero Dependencies**: No external dependencies, pure Zig implementation
- **High Performance**: Native performance with minimal overhead
- **Cross Platform**: Works on Linux, macOS, and Windows (x86_64 and ARM64)

## Supported Color Spaces

- **RGB/RGBA**: Standard RGB with optional alpha channel (0-255)
- **HSV**: Hue, Saturation, Value (0-360°, 0-100%, 0-100%)
- **HSL**: Hue, Saturation, Lightness (0-360°, 0-100%, 0-100%)
- **Lab**: CIELAB perceptual color space
- **XYZ**: CIE 1931 XYZ color space
- **Oklab**: Perceptually uniform color space by Björn Ottosson
- **Oklch**: Cylindrical representation of Oklab
- **LCH**: Cylindrical representation of Lab
- **LMS**: Long, Medium, Short cone response
- **XYB**: Color space used in JPEG XL
- **YCbCr**: Luma and chroma components

## Examples

### Color Space Conversions

```python
# Create a color in any space
hsl = zignal.Hsl(180.0, 50.0, 50.0)  # Cyan-ish color

# Convert to any other space
rgb = hsl.to_rgb()
lab = hsl.to_lab()
oklab = hsl.to_oklab()

# Chain conversions
original = zignal.Rgb(128, 64, 192)
hsv = original.to_hsv()
back_to_rgb = hsv.to_rgb()
```

### Working with Alpha Channel

```python
# Create RGBA color
rgba = zignal.Rgba(255, 128, 0, 200)  # Orange with transparency

# Convert RGB to RGBA (default alpha=255)
rgb = zignal.Rgb(255, 128, 0)
rgba = rgb.to_rgba()
```

### Modern Color Spaces

```python
# Oklab - perceptually uniform color space
oklab = zignal.Oklab(0.5, 0.1, -0.05)
oklch = oklab.to_oklch()  # Convert to cylindrical form

# Work with perceptual properties
print(f"Lightness: {oklch.l}")
print(f"Chroma: {oklch.c}")
print(f"Hue: {oklch.h}")
```

### NumPy Integration (Optional)

If NumPy is installed, you can work with image arrays:

```python
import numpy as np
import zignal

# Create numpy array (supports both RGB and RGBA)
arr_rgb = np.zeros((100, 200, 3), dtype=np.uint8)
arr_rgb[50, 100] = [255, 0, 0]  # Red pixel

# Convert to Image (allocates RGBA internally for SIMD performance)
img = zignal.Image.from_numpy(arr_rgb)

# For zero-copy with 4-channel arrays, use the helper:
arr_rgba = zignal.Image.add_alpha(arr_rgb)  # Adds alpha=255
img = zignal.Image.from_numpy(arr_rgba)  # Zero-copy!

# Convert back to numpy
arr2 = img.to_numpy()  # Returns RGBA (4 channels) by default
arr3 = img.to_numpy(include_alpha=False)  # Returns RGB (3 channels)

# Load and save images
img = zignal.Image.load("input.png")  # Supports PNG and JPEG
img.save("output.png")
```

**Performance Note**: The Image class uses RGBA storage internally for SIMD-optimized operations.
This provides 2-5x performance improvements for resize and interpolation operations.
When using 3-channel RGB arrays, they are automatically converted to RGBA with alpha=255.

Note: NumPy is not required for basic color operations.

## Building from Source

Requires Zig compiler:

```bash
git clone https://github.com/bfactory-ai/zignal
cd zignal/bindings/python
pip install -e .
```

## License

MIT License

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "zignal-processing",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "image-processing, computer-vision, zig, native",
    "author": "zignal contributors",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/36/d3/94875cd2d349fbe9a005857f6e7aaf468221f45f931a180267a67a041b0a/zignal_processing-0.2.0.tar.gz",
    "platform": null,
    "description": "# Zignal Python Bindings\n\nZero-dependency image processing library written in Zig with Python bindings.\n\n## Installation\n\n```console\npip install zignal-processing\n```\n\n## Quick Start\n\n```python\nimport zignal\n\n# Create RGB color\nred = zignal.Rgb(255, 0, 0)\nprint(f\"Red color: {red}\")\n\n# Convert to HSV\nhsv = red.to_hsv()\nprint(f\"HSV: {hsv}\")\n\n# Convert to other color spaces\nlab = red.to_lab()\noklab = red.to_oklab()\nxyz = red.to_xyz()\n```\n\n## Features\n\n- **12 Color Spaces**: RGB, RGBA, HSV, HSL, Lab, XYZ, Oklab, Oklch, LCH, LMS, XYB, YCbCr\n- **Seamless Conversions**: Convert between any supported color spaces\n- **Type Safety**: Strong typing with validation for color components\n- **Zero Dependencies**: No external dependencies, pure Zig implementation\n- **High Performance**: Native performance with minimal overhead\n- **Cross Platform**: Works on Linux, macOS, and Windows (x86_64 and ARM64)\n\n## Supported Color Spaces\n\n- **RGB/RGBA**: Standard RGB with optional alpha channel (0-255)\n- **HSV**: Hue, Saturation, Value (0-360\u00b0, 0-100%, 0-100%)\n- **HSL**: Hue, Saturation, Lightness (0-360\u00b0, 0-100%, 0-100%)\n- **Lab**: CIELAB perceptual color space\n- **XYZ**: CIE 1931 XYZ color space\n- **Oklab**: Perceptually uniform color space by Bj\u00f6rn Ottosson\n- **Oklch**: Cylindrical representation of Oklab\n- **LCH**: Cylindrical representation of Lab\n- **LMS**: Long, Medium, Short cone response\n- **XYB**: Color space used in JPEG XL\n- **YCbCr**: Luma and chroma components\n\n## Examples\n\n### Color Space Conversions\n\n```python\n# Create a color in any space\nhsl = zignal.Hsl(180.0, 50.0, 50.0)  # Cyan-ish color\n\n# Convert to any other space\nrgb = hsl.to_rgb()\nlab = hsl.to_lab()\noklab = hsl.to_oklab()\n\n# Chain conversions\noriginal = zignal.Rgb(128, 64, 192)\nhsv = original.to_hsv()\nback_to_rgb = hsv.to_rgb()\n```\n\n### Working with Alpha Channel\n\n```python\n# Create RGBA color\nrgba = zignal.Rgba(255, 128, 0, 200)  # Orange with transparency\n\n# Convert RGB to RGBA (default alpha=255)\nrgb = zignal.Rgb(255, 128, 0)\nrgba = rgb.to_rgba()\n```\n\n### Modern Color Spaces\n\n```python\n# Oklab - perceptually uniform color space\noklab = zignal.Oklab(0.5, 0.1, -0.05)\noklch = oklab.to_oklch()  # Convert to cylindrical form\n\n# Work with perceptual properties\nprint(f\"Lightness: {oklch.l}\")\nprint(f\"Chroma: {oklch.c}\")\nprint(f\"Hue: {oklch.h}\")\n```\n\n### NumPy Integration (Optional)\n\nIf NumPy is installed, you can work with image arrays:\n\n```python\nimport numpy as np\nimport zignal\n\n# Create numpy array (supports both RGB and RGBA)\narr_rgb = np.zeros((100, 200, 3), dtype=np.uint8)\narr_rgb[50, 100] = [255, 0, 0]  # Red pixel\n\n# Convert to Image (allocates RGBA internally for SIMD performance)\nimg = zignal.Image.from_numpy(arr_rgb)\n\n# For zero-copy with 4-channel arrays, use the helper:\narr_rgba = zignal.Image.add_alpha(arr_rgb)  # Adds alpha=255\nimg = zignal.Image.from_numpy(arr_rgba)  # Zero-copy!\n\n# Convert back to numpy\narr2 = img.to_numpy()  # Returns RGBA (4 channels) by default\narr3 = img.to_numpy(include_alpha=False)  # Returns RGB (3 channels)\n\n# Load and save images\nimg = zignal.Image.load(\"input.png\")  # Supports PNG and JPEG\nimg.save(\"output.png\")\n```\n\n**Performance Note**: The Image class uses RGBA storage internally for SIMD-optimized operations.\nThis provides 2-5x performance improvements for resize and interpolation operations.\nWhen using 3-channel RGB arrays, they are automatically converted to RGBA with alpha=255.\n\nNote: NumPy is not required for basic color operations.\n\n## Building from Source\n\nRequires Zig compiler:\n\n```bash\ngit clone https://github.com/bfactory-ai/zignal\ncd zignal/bindings/python\npip install -e .\n```\n\n## License\n\nMIT License\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Zero-dependency image processing library",
    "version": "0.2.0",
    "project_urls": {
        "Documentation": "https://bfactory-ai.github.io/zignal/python",
        "Homepage": "https://github.com/bfactory-ai/zignal",
        "Issues": "https://github.com/bfactory-ai/zignal/issues",
        "Repository": "https://github.com/bfactory-ai/zignal"
    },
    "split_keywords": [
        "image-processing",
        " computer-vision",
        " zig",
        " native"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "43b90e6a8b624d88c48e64785793626e33fc09d59fafe8fb9bae6aac5b0d1938",
                "md5": "49966a9959330deb038071f7595b95fa",
                "sha256": "d88a3191458f5b5e813d48c66a2cd7f9ffe62efd1ad7a774e65b39d25f3d7970"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "49966a9959330deb038071f7595b95fa",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 166478,
            "upload_time": "2025-07-25T06:28:53",
            "upload_time_iso_8601": "2025-07-25T06:28:53.253183Z",
            "url": "https://files.pythonhosted.org/packages/43/b9/0e6a8b624d88c48e64785793626e33fc09d59fafe8fb9bae6aac5b0d1938/zignal_processing-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "65c6ccaa2feddd5ac79f1c409705c271b3a6571c986e76ad362fe5f7e19b6f2c",
                "md5": "7fb1dfe80ed8ffa557eb5b72246003ef",
                "sha256": "aef7253f554036994fec1629a7b43beb8de18ac1a10b61ed78d1ab1170ef5299"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7fb1dfe80ed8ffa557eb5b72246003ef",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 156354,
            "upload_time": "2025-07-25T06:28:54",
            "upload_time_iso_8601": "2025-07-25T06:28:54.710036Z",
            "url": "https://files.pythonhosted.org/packages/65/c6/ccaa2feddd5ac79f1c409705c271b3a6571c986e76ad362fe5f7e19b6f2c/zignal_processing-0.2.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "285d1792e9f3002b8da07448019bc93da4dad3a7118c5448b0246318b8d6628a",
                "md5": "babf434f092e91d3090459595ba5946c",
                "sha256": "01259ee4d54246c4554097e4584cae5ea1a7c85003002caaa6eb8e0c2e1d2ee3"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp310-cp310-manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "babf434f092e91d3090459595ba5946c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 175467,
            "upload_time": "2025-07-25T06:28:55",
            "upload_time_iso_8601": "2025-07-25T06:28:55.716755Z",
            "url": "https://files.pythonhosted.org/packages/28/5d/1792e9f3002b8da07448019bc93da4dad3a7118c5448b0246318b8d6628a/zignal_processing-0.2.0-cp310-cp310-manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cc4dd725199a9c17b34eb1cf8d6d8c0882aafb1cf92705917ed014ba0e8ad1ff",
                "md5": "7056c9028ce1d07df4286c17097dd37c",
                "sha256": "d5c11dc59c57c55d5576be4fce3b6992936aafea8138eca5a5a07d48a450ad5c"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7056c9028ce1d07df4286c17097dd37c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 192181,
            "upload_time": "2025-07-25T06:28:57",
            "upload_time_iso_8601": "2025-07-25T06:28:57.078819Z",
            "url": "https://files.pythonhosted.org/packages/cc/4d/d725199a9c17b34eb1cf8d6d8c0882aafb1cf92705917ed014ba0e8ad1ff/zignal_processing-0.2.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f739aa12024e46e46dd72acdbb34db77d1c1f7e1a9df7a98ec1cc1b2021a2288",
                "md5": "ed54083b9877de5e2c91a0b992d9accd",
                "sha256": "f55a13e7a1658e5639bb63279ac5ae6d9898c1b65452bba53bbcacb5abd4903b"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ed54083b9877de5e2c91a0b992d9accd",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 166315,
            "upload_time": "2025-07-25T06:28:58",
            "upload_time_iso_8601": "2025-07-25T06:28:58.226032Z",
            "url": "https://files.pythonhosted.org/packages/f7/39/aa12024e46e46dd72acdbb34db77d1c1f7e1a9df7a98ec1cc1b2021a2288/zignal_processing-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3338228745579aed6ab7ce0a3fc9fcbcbb23d65d7c1abb8d2929600bda682cad",
                "md5": "33d6d8422dbd21ec7b6d00a43d7ca41c",
                "sha256": "12fd4e5b6d5d386511c84f230c1ca12a5e8805c7bd69b160be35da4d37a6b583"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "33d6d8422dbd21ec7b6d00a43d7ca41c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 156400,
            "upload_time": "2025-07-25T06:28:59",
            "upload_time_iso_8601": "2025-07-25T06:28:59.585463Z",
            "url": "https://files.pythonhosted.org/packages/33/38/228745579aed6ab7ce0a3fc9fcbcbb23d65d7c1abb8d2929600bda682cad/zignal_processing-0.2.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "160318b3d33d75ee12c86840ec41504e0976d8f13318f4342a6a7243baeb8b9d",
                "md5": "df985f6c502aa4712b1babff23afc098",
                "sha256": "e9149ac5d0278f57fcb87817878411a72474a5c91e9480e8bbe8853c2f2d056a"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp311-cp311-manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "df985f6c502aa4712b1babff23afc098",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 175327,
            "upload_time": "2025-07-25T06:29:00",
            "upload_time_iso_8601": "2025-07-25T06:29:00.971859Z",
            "url": "https://files.pythonhosted.org/packages/16/03/18b3d33d75ee12c86840ec41504e0976d8f13318f4342a6a7243baeb8b9d/zignal_processing-0.2.0-cp311-cp311-manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8b38b13a1fe5032776ee1d76d36f30942e2243fa6d5fb085f414e127b32474bf",
                "md5": "1c01d926e81e0447398a7e0814b2da7f",
                "sha256": "45eb3a76683b70a02dd3f409bef0298cb44eb52d2181d35c084104ba631f0cd4"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1c01d926e81e0447398a7e0814b2da7f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 192032,
            "upload_time": "2025-07-25T06:29:02",
            "upload_time_iso_8601": "2025-07-25T06:29:02.260325Z",
            "url": "https://files.pythonhosted.org/packages/8b/38/b13a1fe5032776ee1d76d36f30942e2243fa6d5fb085f414e127b32474bf/zignal_processing-0.2.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a45f8c9ee488a34a86f6dd3fb9fbf9e901a1dec0c40ec880dcfa97081015bf78",
                "md5": "1203fea2103a8e16ee4a10e56221990d",
                "sha256": "66cea12c15de3749cce4065f27ea8da1615ff7a1a842679c18ee42a50f25e902"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1203fea2103a8e16ee4a10e56221990d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 166230,
            "upload_time": "2025-07-25T06:29:03",
            "upload_time_iso_8601": "2025-07-25T06:29:03.249957Z",
            "url": "https://files.pythonhosted.org/packages/a4/5f/8c9ee488a34a86f6dd3fb9fbf9e901a1dec0c40ec880dcfa97081015bf78/zignal_processing-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8f8ea580138f714f7f5de9b9a09ba61bde5827cfe372cdf2c28caa23d9bff205",
                "md5": "b44809195dfaa432aa691a6a5495c646",
                "sha256": "213dcdcf7f1bbbb2aaf95a928114da4120792fcba9946317e84f6d6784f8956d"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "b44809195dfaa432aa691a6a5495c646",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 156538,
            "upload_time": "2025-07-25T06:29:04",
            "upload_time_iso_8601": "2025-07-25T06:29:04.580746Z",
            "url": "https://files.pythonhosted.org/packages/8f/8e/a580138f714f7f5de9b9a09ba61bde5827cfe372cdf2c28caa23d9bff205/zignal_processing-0.2.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "044993d7295a3a8333d187578a8ae594986a40c748b19a83bab1d373251554e7",
                "md5": "cbbb8a93d915b13b54441b19f174d5c2",
                "sha256": "6c0e20cc5511ea037aaab2ec7ad52595af65b4026ef4109045e9279250514439"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp312-cp312-manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cbbb8a93d915b13b54441b19f174d5c2",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 175360,
            "upload_time": "2025-07-25T06:29:05",
            "upload_time_iso_8601": "2025-07-25T06:29:05.896314Z",
            "url": "https://files.pythonhosted.org/packages/04/49/93d7295a3a8333d187578a8ae594986a40c748b19a83bab1d373251554e7/zignal_processing-0.2.0-cp312-cp312-manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9bcb69a8b4d8800d4e641b2e042a9ed26d68c63320075b42938dc1f2bfc794c7",
                "md5": "1099d58cc4c18e806e31c4fe3d1d11a2",
                "sha256": "38430cf0256c5c1d9bcfa5401a755bf5b3bf0f227da4d4d2a0e791b3b6e5cb00"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1099d58cc4c18e806e31c4fe3d1d11a2",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 192187,
            "upload_time": "2025-07-25T06:29:06",
            "upload_time_iso_8601": "2025-07-25T06:29:06.957792Z",
            "url": "https://files.pythonhosted.org/packages/9b/cb/69a8b4d8800d4e641b2e042a9ed26d68c63320075b42938dc1f2bfc794c7/zignal_processing-0.2.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1b7a8db7006207e7f4561fd2facf7e7509f96b166fb1a82009801f9ac1e3e191",
                "md5": "2024dc31df15402aeb902e1631aed1df",
                "sha256": "6929e44b4bf6236150fbd340870668260a628fda50b5b60f8951a08e789fdc95"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp313-cp313-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2024dc31df15402aeb902e1631aed1df",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 166221,
            "upload_time": "2025-07-25T06:29:08",
            "upload_time_iso_8601": "2025-07-25T06:29:08.318176Z",
            "url": "https://files.pythonhosted.org/packages/1b/7a/8db7006207e7f4561fd2facf7e7509f96b166fb1a82009801f9ac1e3e191/zignal_processing-0.2.0-cp313-cp313-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a7fe23280b9bfa9429b891821d8293c7058e61bc96f608384d5e3b640efc1329",
                "md5": "46c0203df08e7b9f350a1999f51f8ff2",
                "sha256": "cebcfd9af286fbf4e53879fb64caed92ccd6cb80007c1ef19e1d7bc2b1d5a834"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "46c0203df08e7b9f350a1999f51f8ff2",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 156540,
            "upload_time": "2025-07-25T06:29:09",
            "upload_time_iso_8601": "2025-07-25T06:29:09.379744Z",
            "url": "https://files.pythonhosted.org/packages/a7/fe/23280b9bfa9429b891821d8293c7058e61bc96f608384d5e3b640efc1329/zignal_processing-0.2.0-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f6b3e1e6b4e30e7dfb1138650cbb39f8edfbf1a89af1b325baa32d3aa14de767",
                "md5": "96283ca100aaf6318dbb076d3bb94ed8",
                "sha256": "fbf2e8de24ca892bb2b09783c6af047069c9833d250bef6b80b743543bbf00d3"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp313-cp313-manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "96283ca100aaf6318dbb076d3bb94ed8",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 175352,
            "upload_time": "2025-07-25T06:29:10",
            "upload_time_iso_8601": "2025-07-25T06:29:10.752085Z",
            "url": "https://files.pythonhosted.org/packages/f6/b3/e1e6b4e30e7dfb1138650cbb39f8edfbf1a89af1b325baa32d3aa14de767/zignal_processing-0.2.0-cp313-cp313-manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "15930e239fad3a8effb39c87c3c2661ccac15d391b5b600d4f36a7c489fda69d",
                "md5": "4306cf114376ccc4143a758914a5ba9b",
                "sha256": "afe0e2afc69b44f29900cb6643ca3d96e0a4a06419ea042b1f960b2f1a8d07a1"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4306cf114376ccc4143a758914a5ba9b",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 192182,
            "upload_time": "2025-07-25T06:29:11",
            "upload_time_iso_8601": "2025-07-25T06:29:11.777206Z",
            "url": "https://files.pythonhosted.org/packages/15/93/0e239fad3a8effb39c87c3c2661ccac15d391b5b600d4f36a7c489fda69d/zignal_processing-0.2.0-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bb723ec5addb9bb9279b39a216a2354ea497fb128bf0fd78ada37ac843df2bdc",
                "md5": "2cc4452180086a7c7365d9d7ab1d3876",
                "sha256": "340dabeabd5faf76aadfca7c7a2e787387b71e5e641ce80031f10ca61c6df624"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2cc4452180086a7c7365d9d7ab1d3876",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 166470,
            "upload_time": "2025-07-25T06:29:13",
            "upload_time_iso_8601": "2025-07-25T06:29:13.094336Z",
            "url": "https://files.pythonhosted.org/packages/bb/72/3ec5addb9bb9279b39a216a2354ea497fb128bf0fd78ada37ac843df2bdc/zignal_processing-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e566c040b9f62423f994fc9ed1b4f6594eb17a9be6ac5085a575862146b8bcb0",
                "md5": "0b36e5d5be834f94859498256c1100ad",
                "sha256": "df860067d1cb1454893acc9f66d1b1e869ac1f326b477cae1e447843f7fcba2e"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "0b36e5d5be834f94859498256c1100ad",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 156363,
            "upload_time": "2025-07-25T06:29:14",
            "upload_time_iso_8601": "2025-07-25T06:29:14.089091Z",
            "url": "https://files.pythonhosted.org/packages/e5/66/c040b9f62423f994fc9ed1b4f6594eb17a9be6ac5085a575862146b8bcb0/zignal_processing-0.2.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "65efe9923d5806842c71206b2c559f1dad1f7e55027dd4401fc0ac4bb578a1a6",
                "md5": "629e1cc125db95c046debd11195ae797",
                "sha256": "22c717ec5b7d3a956217a7ff54398c5accea8d9798366fb7d38e83fe4ad80069"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp39-cp39-manylinux1_x86_64.whl",
            "has_sig": false,
            "md5_digest": "629e1cc125db95c046debd11195ae797",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 175475,
            "upload_time": "2025-07-25T06:29:15",
            "upload_time_iso_8601": "2025-07-25T06:29:15.383419Z",
            "url": "https://files.pythonhosted.org/packages/65/ef/e9923d5806842c71206b2c559f1dad1f7e55027dd4401fc0ac4bb578a1a6/zignal_processing-0.2.0-cp39-cp39-manylinux1_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "428ca6cbb2096a605d4ed66f3d5c208af8df72dc3c6c94326caa0d86154e8941",
                "md5": "a4d7699d8c08f17783d6cf010e21151a",
                "sha256": "68667f4b78633964eda65f426e075e448310b5fef158f20141f3d3b8c52a0fd2"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a4d7699d8c08f17783d6cf010e21151a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 192197,
            "upload_time": "2025-07-25T06:29:16",
            "upload_time_iso_8601": "2025-07-25T06:29:16.383986Z",
            "url": "https://files.pythonhosted.org/packages/42/8c/a6cbb2096a605d4ed66f3d5c208af8df72dc3c6c94326caa0d86154e8941/zignal_processing-0.2.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "36d394875cd2d349fbe9a005857f6e7aaf468221f45f931a180267a67a041b0a",
                "md5": "1e8a8d78f442bc33ce36a3650aae281d",
                "sha256": "0c9835a1968cf5fd851c933740ab881d64c85823615c92cf538e028c9f90eb86"
            },
            "downloads": -1,
            "filename": "zignal_processing-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "1e8a8d78f442bc33ce36a3650aae281d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 13721,
            "upload_time": "2025-07-25T06:29:17",
            "upload_time_iso_8601": "2025-07-25T06:29:17.291505Z",
            "url": "https://files.pythonhosted.org/packages/36/d3/94875cd2d349fbe9a005857f6e7aaf468221f45f931a180267a67a041b0a/zignal_processing-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-25 06:29:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "bfactory-ai",
    "github_project": "zignal",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "zignal-processing"
}
        
Elapsed time: 1.09755s