OpenEXR


NameOpenEXR JSON
Version 3.3.2 PyPI version JSON
download
home_pageNone
SummaryPython bindings for the OpenEXR image file format
upload_time2024-11-11 16:29:32
maintainerNone
docs_urlNone
authorNone
requires_python>=3.7
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!-- SPDX-License-Identifier: BSD-3-Clause -->
<!-- Copyright (c) Contributors to the OpenEXR Project -->

[![License](https://img.shields.io/github/license/AcademySoftwareFoundation/openexr)](https://github.com/AcademySoftwareFoundation/openexr/blob/main/LICENSE.md)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/2799/badge)](https://bestpractices.coreinfrastructure.org/projects/2799)
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/AcademySoftwareFoundation/openexr/badge)](https://securityscorecards.dev/viewer/?uri=github.com/AcademySoftwareFoundation/openexr)
[![Build Status](https://github.com/AcademySoftwareFoundation/openexr/workflows/CI/badge.svg)](https://github.com/AcademySoftwareFoundation/openexr/actions?query=workflow%3ACI)
[![Analysis Status](https://github.com/AcademySoftwareFoundation/openexr/workflows/Analysis/badge.svg)](https://github.com/AcademySoftwareFoundation/openexr/actions?query=workflow%3AAnalysis)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=AcademySoftwareFoundation_openexr&metric=alert_status)](https://sonarcloud.io/dashboard?id=AcademySoftwareFoundation_openexr)

# OpenEXR

OpenEXR provides the specification and reference implementation of the
EXR file format, the professional-grade image storage format of the
motion picture industry.

The purpose of EXR format is to accurately and efficiently represent
high-dynamic-range scene-linear image data and associated metadata,
with strong support for multi-part, multi-channel use cases.

OpenEXR is widely used in host application software where accuracy is
critical, such as photorealistic rendering, texture access, image
compositing, deep compositing, and DI.

## OpenEXR Project Mission

The goal of the OpenEXR project is to keep the EXR format reliable and
modern and to maintain its place as the preferred image format for
entertainment content creation. 

Major revisions are infrequent, and new features will be carefully
weighed against increased complexity.  The principal priorities of the
project are:

* Robustness, reliability, security
* Backwards compatibility, data longevity
* Performance - read/write/compression/decompression time
* Simplicity, ease of use, maintainability
* Wide adoption, multi-platform support - Linux, Windows, macOS, and others

OpenEXR is intended solely for 2D data. It is not appropriate for
storage of volumetric data, cached or lit 3D scenes, or more complex
3D data such as light fields.

The goals of the Imath project are simplicity, ease of use,
correctness and verifiability, and breadth of adoption. Imath is not
intended to be a comprehensive linear algebra or numerical analysis
package.

## Python Module

The OpenEXR python module provides full support for reading and
writing all types of ``.exr`` image files, including scanline, tiled,
deep, mult-part, multi-view, and multi-resolution images with pixel
types of unsigned 32-bit integers and 16- and 32-bit floats. It
provides access to pixel data through numpy arrays, as either one
array per channel or with R, G, B, and A interleaved into a single
array RGBA array.

## Project Governance

OpenEXR is a project of the [Academy Software
Foundation](https://www.aswf.io). See the project's [governance
policies](https://github.com/AcademySoftwareFoundation/openexr/blob/main/GOVERNANCE.md), [contribution guidelines](https://github.com/AcademySoftwareFoundation/openexr/blob/main/CONTRIBUTING.md), and [code of conduct](https://github.com/AcademySoftwareFoundation/openexr/blob/main/CODE_OF_CONDUCT.md)
for more information.

# Quick Start

The "Hello, World" image writer:

    # Generate a 3D NumPy array for RGB channels with random values
    height, width = (20, 10)
    RGB = np.random.rand(height, width, 3).astype('f')

    channels = { "RGB" : RGB }
    header = { "compression" : OpenEXR.ZIP_COMPRESSION,
               "type" : OpenEXR.scanlineimage }

    with OpenEXR.File(header, channels) as outfile:
        outfile.write("readme.exr")

Or alternatively, construct the same output file via separate pixel arrays
for each channel:

    # Generate arrays for R, G, and B channels with random values
    height, width = (20, 10)
    R = np.random.rand(height, width).astype('f')
    G = np.random.rand(height, width).astype('f')
    B = np.random.rand(height, width).astype('f')
    channels = { "R" : R, "G" : G, "B" : B }
    header = { "compression" : OpenEXR.ZIP_COMPRESSION,
               "type" : OpenEXR.scanlineimage }

    with OpenEXR.File(header, channels) as outfile:
        outfile.write("readme.exr")

The corresponding example of reading an image is:

    with OpenEXR.File("readme.exr") as infile:

        RGB = infile.channels()["RGB"].pixels
        height, width, _ = RGB.shape
        for y in range(height):
            for x in range(width):
                pixel = tuple(RGB[y, x])
                print(f"pixel[{y}][{x}]={pixel}")

Or alternatively, read the data as separate arrays for each channel:

    with OpenEXR.File("readme.exr", separate_channels=True) as infile:

        header = infile.header()
        print(f"type={header['type']}")
        print(f"compression={header['compression']}")

        R = infile.channels()["R"].pixels
        G = infile.channels()["G"].pixels
        B = infile.channels()["B"].pixels
        height, width = R.shape
        for y in range(height):
            for x in range(width):
                pixel = (R[y, x], G[y, x], B[y, x])
                print(f"pixel[{y}][{x}]={pixel}")

To modify the header metadata in a file:

    with OpenEXR.File("readme.exr") as f:
        
        f.header()["displayWindow"] = ((3,4),(5,6))
        f.header()["screenWindowCenter"] = np.array([1.0,2.0],'float32')
        f.header()["comments"] = "test image"
        f.header()["longitude"] = -122.5
        f.write("readme_modified.exr")

        with OpenEXR.File("readme_modified.exr") as o:
            dw = o.header()["displayWindow"]
            assert (tuple(dw[0]), tuple(dw[1])) == ((3,4),(5,6))
            swc = o.header()["screenWindowCenter"]
            assert tuple(swc) == (1.0, 2.0)
            assert o.header()["comments"] == "test image"
            assert o.header()["longitude"] == -122.5

Note that OpenEXR's Imath-based vector and matrix attribute values
appear in the header dictionary as 2-element, 3-element, 3x3, 4x4
numpy arrays, and bounding boxes appear as tuples of 2-element arrays,
or tuples for convenience.

To read and write a multi-part file, use a list of ``Part`` objects:

    height, width = (20, 10)
    Z0 = np.zeros((height, width), dtype='f')
    Z1 = np.ones((height, width), dtype='f')

    P0 = OpenEXR.Part({}, {"Z" : Z0 })
    P1 = OpenEXR.Part({}, {"Z" : Z1 })

    f = OpenEXR.File([P0, P1])
    f.write("readme_2part.exr")

    with OpenEXR.File("readme_2part.exr") as o:
        assert o.parts[0].name() == "Part0"
        assert o.parts[0].width() == 10
        assert o.parts[0].height() == 20
        assert o.parts[1].name() == "Part1"
        assert o.parts[1].width() == 10
        assert o.parts[1].height() == 20

Deep data is stored in a numpy array whose entries are numpy
arrays. Construct a numpy array with a ``dtype`` of ``object``, and
assign each entry a numpy array holding the samples. Each pixel can
have a different number of samples, including ``None`` for no data,
but all channels in a given part must have the same number of samples.

    height, width = (20, 10)

    Z = np.empty((height, width), dtype=object)
    for y in range(height):
        for x in range(width):
            Z[y, x] = np.array([y*width+x], dtype='uint32')

    channels = { "Z" : Z }
    header = { "compression" : OpenEXR.ZIPS_COMPRESSION,
               "type" : OpenEXR.deepscanline }
    with OpenEXR.File(header, channels) as outfile:
        outfile.write("readme_test_tiled_deep.exr")

To read a deep file:

    with OpenEXR.File("readme_test_tiled_deep.exr") as infile:

        Z = infile.channels()["Z"].pixels
        height, width = Z.shape
        for y in range(height):
            for x in range(width):
                for z in Z[y,x]:
                    print(f"deep sample at {y},{x}: {z}")


# Community

* **Ask a question:**

  - Email: openexr-dev@lists.aswf.io

  - Slack: [academysoftwarefdn#openexr](https://academysoftwarefdn.slack.com/archives/CMLRW4N73)

* **Attend a meeting:**

  - Technical Steering Committee meetings are open to the
    public, fortnightly on Thursdays, 1:30pm Pacific Time.

  - Calendar: https://lists.aswf.io/g/openexr-dev/calendar

  - Meeting notes: https://wiki.aswf.io/display/OEXR/TSC+Meetings

* **Report a bug:**

  - Submit an Issue: https://github.com/AcademySoftwareFoundation/openexr/issues

* **Report a security vulnerability:**

  - Email to security@openexr.com

* **Contribute a Fix, Feature, or Improvement:**

  - Read the [Contribution Guidelines](https://github.com/AcademySoftwareFoundation/openexr/blob/main/CONTRIBUTING.md) and [Code of Conduct](https://github.com/AcademySoftwareFoundation/openexr/blob/main/CODE_OF_CONDUCT.md)

  - Sign the [Contributor License
    Agreement](https://contributor.easycla.lfx.linuxfoundation.org/#/cla/project/2e8710cb-e379-4116-a9ba-964f83618cc5/user/564e571e-12d7-4857-abd4-898939accdd7)

  - Submit a Pull Request: https://github.com/AcademySoftwareFoundation/openexr/pulls

# Resources

- Website: http://www.openexr.com
- Technical documentation: https://openexr.readthedocs.io
- Porting help: [OpenEXR/Imath Version 2.x to 3.x Porting Guide](https://openexr.readthedocs.io/en/latest/PortingGuide.html)
- Reference images: https://github.com/AcademySoftwareFoundation/openexr-images
- Security policy: [SECURITY.md](https://github.com/AcademySoftwareFoundation/openexr/blob/main/SECURITY.md)
- Release notes: [CHANGES.md](https://github.com/AcademySoftwareFoundation/openexr/blob/main/CHANGES.md)
- Contributors: [CONTRIBUTORS.md](https://github.com/AcademySoftwareFoundation/openexr/blob/main/CONTRIBUTORS.md)  

# License

OpenEXR is licensed under the [BSD-3-Clause license](https://github.com/AcademySoftwareFoundation/openexr/blob/main/LICENSE.md).



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "OpenEXR",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Contributors to the OpenEXR project <info@openexr.com>",
    "download_url": "https://files.pythonhosted.org/packages/48/6b/e4f6227b7d0bd999e1e907796c613dac48e05983930d07c9b9fb191c88f5/openexr-3.3.2.tar.gz",
    "platform": null,
    "description": "<!-- SPDX-License-Identifier: BSD-3-Clause -->\n<!-- Copyright (c) Contributors to the OpenEXR Project -->\n\n[![License](https://img.shields.io/github/license/AcademySoftwareFoundation/openexr)](https://github.com/AcademySoftwareFoundation/openexr/blob/main/LICENSE.md)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/2799/badge)](https://bestpractices.coreinfrastructure.org/projects/2799)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/AcademySoftwareFoundation/openexr/badge)](https://securityscorecards.dev/viewer/?uri=github.com/AcademySoftwareFoundation/openexr)\n[![Build Status](https://github.com/AcademySoftwareFoundation/openexr/workflows/CI/badge.svg)](https://github.com/AcademySoftwareFoundation/openexr/actions?query=workflow%3ACI)\n[![Analysis Status](https://github.com/AcademySoftwareFoundation/openexr/workflows/Analysis/badge.svg)](https://github.com/AcademySoftwareFoundation/openexr/actions?query=workflow%3AAnalysis)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=AcademySoftwareFoundation_openexr&metric=alert_status)](https://sonarcloud.io/dashboard?id=AcademySoftwareFoundation_openexr)\n\n# OpenEXR\n\nOpenEXR provides the specification and reference implementation of the\nEXR file format, the professional-grade image storage format of the\nmotion picture industry.\n\nThe purpose of EXR format is to accurately and efficiently represent\nhigh-dynamic-range scene-linear image data and associated metadata,\nwith strong support for multi-part, multi-channel use cases.\n\nOpenEXR is widely used in host application software where accuracy is\ncritical, such as photorealistic rendering, texture access, image\ncompositing, deep compositing, and DI.\n\n## OpenEXR Project Mission\n\nThe goal of the OpenEXR project is to keep the EXR format reliable and\nmodern and to maintain its place as the preferred image format for\nentertainment content creation. \n\nMajor revisions are infrequent, and new features will be carefully\nweighed against increased complexity.  The principal priorities of the\nproject are:\n\n* Robustness, reliability, security\n* Backwards compatibility, data longevity\n* Performance - read/write/compression/decompression time\n* Simplicity, ease of use, maintainability\n* Wide adoption, multi-platform support - Linux, Windows, macOS, and others\n\nOpenEXR is intended solely for 2D data. It is not appropriate for\nstorage of volumetric data, cached or lit 3D scenes, or more complex\n3D data such as light fields.\n\nThe goals of the Imath project are simplicity, ease of use,\ncorrectness and verifiability, and breadth of adoption. Imath is not\nintended to be a comprehensive linear algebra or numerical analysis\npackage.\n\n## Python Module\n\nThe OpenEXR python module provides full support for reading and\nwriting all types of ``.exr`` image files, including scanline, tiled,\ndeep, mult-part, multi-view, and multi-resolution images with pixel\ntypes of unsigned 32-bit integers and 16- and 32-bit floats. It\nprovides access to pixel data through numpy arrays, as either one\narray per channel or with R, G, B, and A interleaved into a single\narray RGBA array.\n\n## Project Governance\n\nOpenEXR is a project of the [Academy Software\nFoundation](https://www.aswf.io). See the project's [governance\npolicies](https://github.com/AcademySoftwareFoundation/openexr/blob/main/GOVERNANCE.md), [contribution guidelines](https://github.com/AcademySoftwareFoundation/openexr/blob/main/CONTRIBUTING.md), and [code of conduct](https://github.com/AcademySoftwareFoundation/openexr/blob/main/CODE_OF_CONDUCT.md)\nfor more information.\n\n# Quick Start\n\nThe \"Hello, World\" image writer:\n\n    # Generate a 3D NumPy array for RGB channels with random values\n    height, width = (20, 10)\n    RGB = np.random.rand(height, width, 3).astype('f')\n\n    channels = { \"RGB\" : RGB }\n    header = { \"compression\" : OpenEXR.ZIP_COMPRESSION,\n               \"type\" : OpenEXR.scanlineimage }\n\n    with OpenEXR.File(header, channels) as outfile:\n        outfile.write(\"readme.exr\")\n\nOr alternatively, construct the same output file via separate pixel arrays\nfor each channel:\n\n    # Generate arrays for R, G, and B channels with random values\n    height, width = (20, 10)\n    R = np.random.rand(height, width).astype('f')\n    G = np.random.rand(height, width).astype('f')\n    B = np.random.rand(height, width).astype('f')\n    channels = { \"R\" : R, \"G\" : G, \"B\" : B }\n    header = { \"compression\" : OpenEXR.ZIP_COMPRESSION,\n               \"type\" : OpenEXR.scanlineimage }\n\n    with OpenEXR.File(header, channels) as outfile:\n        outfile.write(\"readme.exr\")\n\nThe corresponding example of reading an image is:\n\n    with OpenEXR.File(\"readme.exr\") as infile:\n\n        RGB = infile.channels()[\"RGB\"].pixels\n        height, width, _ = RGB.shape\n        for y in range(height):\n            for x in range(width):\n                pixel = tuple(RGB[y, x])\n                print(f\"pixel[{y}][{x}]={pixel}\")\n\nOr alternatively, read the data as separate arrays for each channel:\n\n    with OpenEXR.File(\"readme.exr\", separate_channels=True) as infile:\n\n        header = infile.header()\n        print(f\"type={header['type']}\")\n        print(f\"compression={header['compression']}\")\n\n        R = infile.channels()[\"R\"].pixels\n        G = infile.channels()[\"G\"].pixels\n        B = infile.channels()[\"B\"].pixels\n        height, width = R.shape\n        for y in range(height):\n            for x in range(width):\n                pixel = (R[y, x], G[y, x], B[y, x])\n                print(f\"pixel[{y}][{x}]={pixel}\")\n\nTo modify the header metadata in a file:\n\n    with OpenEXR.File(\"readme.exr\") as f:\n        \n        f.header()[\"displayWindow\"] = ((3,4),(5,6))\n        f.header()[\"screenWindowCenter\"] = np.array([1.0,2.0],'float32')\n        f.header()[\"comments\"] = \"test image\"\n        f.header()[\"longitude\"] = -122.5\n        f.write(\"readme_modified.exr\")\n\n        with OpenEXR.File(\"readme_modified.exr\") as o:\n            dw = o.header()[\"displayWindow\"]\n            assert (tuple(dw[0]), tuple(dw[1])) == ((3,4),(5,6))\n            swc = o.header()[\"screenWindowCenter\"]\n            assert tuple(swc) == (1.0, 2.0)\n            assert o.header()[\"comments\"] == \"test image\"\n            assert o.header()[\"longitude\"] == -122.5\n\nNote that OpenEXR's Imath-based vector and matrix attribute values\nappear in the header dictionary as 2-element, 3-element, 3x3, 4x4\nnumpy arrays, and bounding boxes appear as tuples of 2-element arrays,\nor tuples for convenience.\n\nTo read and write a multi-part file, use a list of ``Part`` objects:\n\n    height, width = (20, 10)\n    Z0 = np.zeros((height, width), dtype='f')\n    Z1 = np.ones((height, width), dtype='f')\n\n    P0 = OpenEXR.Part({}, {\"Z\" : Z0 })\n    P1 = OpenEXR.Part({}, {\"Z\" : Z1 })\n\n    f = OpenEXR.File([P0, P1])\n    f.write(\"readme_2part.exr\")\n\n    with OpenEXR.File(\"readme_2part.exr\") as o:\n        assert o.parts[0].name() == \"Part0\"\n        assert o.parts[0].width() == 10\n        assert o.parts[0].height() == 20\n        assert o.parts[1].name() == \"Part1\"\n        assert o.parts[1].width() == 10\n        assert o.parts[1].height() == 20\n\nDeep data is stored in a numpy array whose entries are numpy\narrays. Construct a numpy array with a ``dtype`` of ``object``, and\nassign each entry a numpy array holding the samples. Each pixel can\nhave a different number of samples, including ``None`` for no data,\nbut all channels in a given part must have the same number of samples.\n\n    height, width = (20, 10)\n\n    Z = np.empty((height, width), dtype=object)\n    for y in range(height):\n        for x in range(width):\n            Z[y, x] = np.array([y*width+x], dtype='uint32')\n\n    channels = { \"Z\" : Z }\n    header = { \"compression\" : OpenEXR.ZIPS_COMPRESSION,\n               \"type\" : OpenEXR.deepscanline }\n    with OpenEXR.File(header, channels) as outfile:\n        outfile.write(\"readme_test_tiled_deep.exr\")\n\nTo read a deep file:\n\n    with OpenEXR.File(\"readme_test_tiled_deep.exr\") as infile:\n\n        Z = infile.channels()[\"Z\"].pixels\n        height, width = Z.shape\n        for y in range(height):\n            for x in range(width):\n                for z in Z[y,x]:\n                    print(f\"deep sample at {y},{x}: {z}\")\n\n\n# Community\n\n* **Ask a question:**\n\n  - Email: openexr-dev@lists.aswf.io\n\n  - Slack: [academysoftwarefdn#openexr](https://academysoftwarefdn.slack.com/archives/CMLRW4N73)\n\n* **Attend a meeting:**\n\n  - Technical Steering Committee meetings are open to the\n    public, fortnightly on Thursdays, 1:30pm Pacific Time.\n\n  - Calendar: https://lists.aswf.io/g/openexr-dev/calendar\n\n  - Meeting notes: https://wiki.aswf.io/display/OEXR/TSC+Meetings\n\n* **Report a bug:**\n\n  - Submit an Issue: https://github.com/AcademySoftwareFoundation/openexr/issues\n\n* **Report a security vulnerability:**\n\n  - Email to security@openexr.com\n\n* **Contribute a Fix, Feature, or Improvement:**\n\n  - Read the [Contribution Guidelines](https://github.com/AcademySoftwareFoundation/openexr/blob/main/CONTRIBUTING.md) and [Code of Conduct](https://github.com/AcademySoftwareFoundation/openexr/blob/main/CODE_OF_CONDUCT.md)\n\n  - Sign the [Contributor License\n    Agreement](https://contributor.easycla.lfx.linuxfoundation.org/#/cla/project/2e8710cb-e379-4116-a9ba-964f83618cc5/user/564e571e-12d7-4857-abd4-898939accdd7)\n\n  - Submit a Pull Request: https://github.com/AcademySoftwareFoundation/openexr/pulls\n\n# Resources\n\n- Website: http://www.openexr.com\n- Technical documentation: https://openexr.readthedocs.io\n- Porting help: [OpenEXR/Imath Version 2.x to 3.x Porting Guide](https://openexr.readthedocs.io/en/latest/PortingGuide.html)\n- Reference images: https://github.com/AcademySoftwareFoundation/openexr-images\n- Security policy: [SECURITY.md](https://github.com/AcademySoftwareFoundation/openexr/blob/main/SECURITY.md)\n- Release notes: [CHANGES.md](https://github.com/AcademySoftwareFoundation/openexr/blob/main/CHANGES.md)\n- Contributors: [CONTRIBUTORS.md](https://github.com/AcademySoftwareFoundation/openexr/blob/main/CONTRIBUTORS.md)  \n\n# License\n\nOpenEXR is licensed under the [BSD-3-Clause license](https://github.com/AcademySoftwareFoundation/openexr/blob/main/LICENSE.md).\n\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Python bindings for the OpenEXR image file format",
    "version": "3.3.2",
    "project_urls": {
        "Bug Tracker": "https://github.com/AcademySoftwareFoundation/OpenEXR/issues",
        "Homepage": "https://openexr.com",
        "Source": "https://github.com/AcademySoftwareFoundation/OpenEXR"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f1ac1e8526d9c772f7a6b0f044fee5712843a65e4208fd072a9877507e3e07f9",
                "md5": "5a5a3702987b03162cb1e7f2d835f305",
                "sha256": "5665c37a1116282d4bb70ee017e1355317280c997beee4974fd6873a7de6ae01"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp310-cp310-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "5a5a3702987b03162cb1e7f2d835f305",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 2673284,
            "upload_time": "2024-11-11T16:28:17",
            "upload_time_iso_8601": "2024-11-11T16:28:17.202686Z",
            "url": "https://files.pythonhosted.org/packages/f1/ac/1e8526d9c772f7a6b0f044fee5712843a65e4208fd072a9877507e3e07f9/openexr-3.3.2-cp310-cp310-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6277165367019ba41a95961a729581590a82dfbd7677715fba408153d194c234",
                "md5": "7897e908d870a5f4ed73e5d902c3def7",
                "sha256": "3b88c9c3c96dd3f0189b5373c5a5ef0a2f2096defc805dd5cafa063626e483c5"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp310-cp310-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7897e908d870a5f4ed73e5d902c3def7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 1368484,
            "upload_time": "2024-11-11T16:28:19",
            "upload_time_iso_8601": "2024-11-11T16:28:19.763099Z",
            "url": "https://files.pythonhosted.org/packages/62/77/165367019ba41a95961a729581590a82dfbd7677715fba408153d194c234/openexr-3.3.2-cp310-cp310-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a7d05a0a059c1636fc9ece50dc149f8c5cd52cdedc08c4d48e3ffe7700a4d8b7",
                "md5": "8530fbe9e2f548bb27a52f6f0c79f8fa",
                "sha256": "de7dc1f1cf3fb5903037591976d7c3b5949fc2b6f58e558ccd41145b660d95c7"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "8530fbe9e2f548bb27a52f6f0c79f8fa",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 1313011,
            "upload_time": "2024-11-11T16:28:22",
            "upload_time_iso_8601": "2024-11-11T16:28:22.340885Z",
            "url": "https://files.pythonhosted.org/packages/a7/d0/5a0a059c1636fc9ece50dc149f8c5cd52cdedc08c4d48e3ffe7700a4d8b7/openexr-3.3.2-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b5c1b932c23049b17e2135df2a5b63ca3e2df210fe1574541c0a7894f5060451",
                "md5": "ee66b1b529e0a45352b8847b0e6cdb05",
                "sha256": "19db2707580809a60aca58cc8114ed7a61c72fbb7e39933dcb408dc70eac687e"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ee66b1b529e0a45352b8847b0e6cdb05",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 1492996,
            "upload_time": "2024-11-11T16:28:24",
            "upload_time_iso_8601": "2024-11-11T16:28:24.737615Z",
            "url": "https://files.pythonhosted.org/packages/b5/c1/b932c23049b17e2135df2a5b63ca3e2df210fe1574541c0a7894f5060451/openexr-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "26c7d30c9a60345de48a1f6375b01ec79e2065d97e3f229f215863d45e72aaf4",
                "md5": "5708af42c09849964e3d7d893622ea36",
                "sha256": "5fde53c86b2cd18059cf5cb85c5fb2a364981ae65b816c11a025ab3dfddd8a52"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5708af42c09849964e3d7d893622ea36",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 2460515,
            "upload_time": "2024-11-11T16:28:26",
            "upload_time_iso_8601": "2024-11-11T16:28:26.551398Z",
            "url": "https://files.pythonhosted.org/packages/26/c7/d30c9a60345de48a1f6375b01ec79e2065d97e3f229f215863d45e72aaf4/openexr-3.3.2-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e80f79e83cfbd832252e489b4cee49d11f36fad64bfff04f9820a50054707551",
                "md5": "23601deb1ba050392620fc387d688f1e",
                "sha256": "b8c44d8bc94abd0e1677ab91ef44b00b7750613dca4d68d90a76da20b40d1084"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "23601deb1ba050392620fc387d688f1e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 997349,
            "upload_time": "2024-11-11T16:28:29",
            "upload_time_iso_8601": "2024-11-11T16:28:29.048831Z",
            "url": "https://files.pythonhosted.org/packages/e8/0f/79e83cfbd832252e489b4cee49d11f36fad64bfff04f9820a50054707551/openexr-3.3.2-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "166944ef5604be1caf0a905a35791df139140e27c9ce16f79a84521f9543ec89",
                "md5": "1f0fea5cd675a0cc83809d36ab67c5fc",
                "sha256": "6396e22ec775e3254550297a279e7a540065cbc75eb0e3d214fe30587981d922"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp311-cp311-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "1f0fea5cd675a0cc83809d36ab67c5fc",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 2677712,
            "upload_time": "2024-11-11T16:28:30",
            "upload_time_iso_8601": "2024-11-11T16:28:30.800399Z",
            "url": "https://files.pythonhosted.org/packages/16/69/44ef5604be1caf0a905a35791df139140e27c9ce16f79a84521f9543ec89/openexr-3.3.2-cp311-cp311-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0e80d41853d81175d65d68bf8d1b6a6314c01cc73f1faba80edeec36c143c244",
                "md5": "1f4a6056f87aead43236aff4c197631b",
                "sha256": "06baeb0195bb5ab1a1e351219c1ab30b29c23d41b3c22730748a74ef564246de"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp311-cp311-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1f4a6056f87aead43236aff4c197631b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 1370370,
            "upload_time": "2024-11-11T16:28:33",
            "upload_time_iso_8601": "2024-11-11T16:28:33.261057Z",
            "url": "https://files.pythonhosted.org/packages/0e/80/d41853d81175d65d68bf8d1b6a6314c01cc73f1faba80edeec36c143c244/openexr-3.3.2-cp311-cp311-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c16bd7057ef1feadc4c46e57638eb6f9e974a9aea9e0cb5befc41a69e0d3a9d4",
                "md5": "a8c9d9ebc479f1451e4a9350fb7e7839",
                "sha256": "6496ae90ff5ffca55e8c9f3572a78add32a6336c5ca2a73bff8ffad1045a3e97"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "a8c9d9ebc479f1451e4a9350fb7e7839",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 1314555,
            "upload_time": "2024-11-11T16:28:35",
            "upload_time_iso_8601": "2024-11-11T16:28:35.581431Z",
            "url": "https://files.pythonhosted.org/packages/c1/6b/d7057ef1feadc4c46e57638eb6f9e974a9aea9e0cb5befc41a69e0d3a9d4/openexr-3.3.2-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2a9224600e071dd19aef8eb97e8d632699b6a3b31577ad17f4ff293dc46e28b1",
                "md5": "8e26fbc8ad5a17db54b97f0946aacafa",
                "sha256": "78ddd5149c2aaca35556328fb9d112ba9d31c0f0a3cdf373ed76ae384c91bf81"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8e26fbc8ad5a17db54b97f0946aacafa",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 1493960,
            "upload_time": "2024-11-11T16:28:37",
            "upload_time_iso_8601": "2024-11-11T16:28:37.984146Z",
            "url": "https://files.pythonhosted.org/packages/2a/92/24600e071dd19aef8eb97e8d632699b6a3b31577ad17f4ff293dc46e28b1/openexr-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3279acdc49b275c5844f71607fe8306c5d0620fca9220139685173f75773d869",
                "md5": "ae7701d7df044305bda36a54b26e340f",
                "sha256": "359481d8890d343b2526ab5f0ed211a48fde72dd5fa705173fdc5857a159af38"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ae7701d7df044305bda36a54b26e340f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 2462481,
            "upload_time": "2024-11-11T16:28:39",
            "upload_time_iso_8601": "2024-11-11T16:28:39.755313Z",
            "url": "https://files.pythonhosted.org/packages/32/79/acdc49b275c5844f71607fe8306c5d0620fca9220139685173f75773d869/openexr-3.3.2-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0570dd9b71873c240ee170b8427af7e2d555bb2bb53e35e9b7287a1edec86a4b",
                "md5": "6f9cd46f98c5508f0fd70d36910b31c0",
                "sha256": "32f318bc3d14e9a7522871576222489f5a08d50d7f7dccb4c340e401447be384"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6f9cd46f98c5508f0fd70d36910b31c0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 998259,
            "upload_time": "2024-11-11T16:28:42",
            "upload_time_iso_8601": "2024-11-11T16:28:42.399792Z",
            "url": "https://files.pythonhosted.org/packages/05/70/dd9b71873c240ee170b8427af7e2d555bb2bb53e35e9b7287a1edec86a4b/openexr-3.3.2-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "936e282c413e8914c0940fdf42199759a7ae5ddd9d22392d97677a3034dbbcb9",
                "md5": "71625499a1dc8a4c52d34614a246af31",
                "sha256": "24c76a6c361ed6f89ed50794cde81305887f18d39d06e2b3451834b3f6b759b7"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp312-cp312-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "71625499a1dc8a4c52d34614a246af31",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 2684187,
            "upload_time": "2024-11-11T16:28:44",
            "upload_time_iso_8601": "2024-11-11T16:28:44.212385Z",
            "url": "https://files.pythonhosted.org/packages/93/6e/282c413e8914c0940fdf42199759a7ae5ddd9d22392d97677a3034dbbcb9/openexr-3.3.2-cp312-cp312-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "38fedccabe542f5b7a81e4e382d49cf2569cc0d11d6f390941b50940d682867c",
                "md5": "e594c86aeb8b866431d6cba051871f71",
                "sha256": "eedf4ef82816d35d9c59c5f07ae5e691bc24132f304c2461ca42defa4f3a6faa"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp312-cp312-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e594c86aeb8b866431d6cba051871f71",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 1374245,
            "upload_time": "2024-11-11T16:28:47",
            "upload_time_iso_8601": "2024-11-11T16:28:47.010906Z",
            "url": "https://files.pythonhosted.org/packages/38/fe/dccabe542f5b7a81e4e382d49cf2569cc0d11d6f390941b50940d682867c/openexr-3.3.2-cp312-cp312-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "59e0e002eb6a12dff716ecb84410c40ffde9d9691049aa3cbe654be3e4f3450c",
                "md5": "67cc10c30a958f33a14b2ead8fbb65d7",
                "sha256": "b7e2a168647c4acc2db879d26ac9e203830ef640c47067c6863ce1849810cea5"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "67cc10c30a958f33a14b2ead8fbb65d7",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 1316983,
            "upload_time": "2024-11-11T16:28:48",
            "upload_time_iso_8601": "2024-11-11T16:28:48.851454Z",
            "url": "https://files.pythonhosted.org/packages/59/e0/e002eb6a12dff716ecb84410c40ffde9d9691049aa3cbe654be3e4f3450c/openexr-3.3.2-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ba406652c9766af866e7db5dab683da10893790e8ab9d8e8a53ac90658beb985",
                "md5": "c4d5db001b089cb8a386239e260d65cf",
                "sha256": "00b50b9422dbe4339fafdaec4ac88a98cf1460e8672d90f147a648f336a3cc68"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c4d5db001b089cb8a386239e260d65cf",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 1493132,
            "upload_time": "2024-11-11T16:28:51",
            "upload_time_iso_8601": "2024-11-11T16:28:51.703811Z",
            "url": "https://files.pythonhosted.org/packages/ba/40/6652c9766af866e7db5dab683da10893790e8ab9d8e8a53ac90658beb985/openexr-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8a118950161c437c458df37057b3980662cc0ab248eb3df573b51dbca6f1dab1",
                "md5": "d02523c01f8f94857192ea5b21178f63",
                "sha256": "216b92e0a8bc942660ac20eaebfce535bd2990a5bbc8cc51312c5a9de668e417"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d02523c01f8f94857192ea5b21178f63",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 2463219,
            "upload_time": "2024-11-11T16:28:53",
            "upload_time_iso_8601": "2024-11-11T16:28:53.467535Z",
            "url": "https://files.pythonhosted.org/packages/8a/11/8950161c437c458df37057b3980662cc0ab248eb3df573b51dbca6f1dab1/openexr-3.3.2-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b9518fa09f1b7217da7304f2625fb6dad3e2f95aad6107cc73ce5d4328489c75",
                "md5": "da7cc75e56a98ece4ef0e16b26c082e8",
                "sha256": "fad894b7d05e42e0b1a65a7cf8714f6e422ca87f758afe1ca7f33fbb88123378"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "da7cc75e56a98ece4ef0e16b26c082e8",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 999336,
            "upload_time": "2024-11-11T16:28:55",
            "upload_time_iso_8601": "2024-11-11T16:28:55.505712Z",
            "url": "https://files.pythonhosted.org/packages/b9/51/8fa09f1b7217da7304f2625fb6dad3e2f95aad6107cc73ce5d4328489c75/openexr-3.3.2-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e3d09c96b3d8214116c72509f885acc70649aebc228b96a33cf191f596ab9a39",
                "md5": "b2ca6364260e2c99906f4768630859a4",
                "sha256": "8e1450db55836ebedafe29515e0177e23f9a29f90c34be081fe1a9d8129ff8a6"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp37-cp37m-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b2ca6364260e2c99906f4768630859a4",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 1361604,
            "upload_time": "2024-11-11T16:28:57",
            "upload_time_iso_8601": "2024-11-11T16:28:57.855049Z",
            "url": "https://files.pythonhosted.org/packages/e3/d0/9c96b3d8214116c72509f885acc70649aebc228b96a33cf191f596ab9a39/openexr-3.3.2-cp37-cp37m-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bb956dbc3c7ad14198d8c30b1bb9e564b0a9a5c261f9dd029c1f07efe0d9ab0e",
                "md5": "199166a1da13ed824bf91c49dba0080b",
                "sha256": "1b2c82bdc2d45516162d830294cfee00892fc9640b7723b74ceb001117ba2ac1"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "199166a1da13ed824bf91c49dba0080b",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 1504581,
            "upload_time": "2024-11-11T16:28:59",
            "upload_time_iso_8601": "2024-11-11T16:28:59.631307Z",
            "url": "https://files.pythonhosted.org/packages/bb/95/6dbc3c7ad14198d8c30b1bb9e564b0a9a5c261f9dd029c1f07efe0d9ab0e/openexr-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "844f2fe2ae206507e261a19b3c2af45f7d0def7df21dd2be3a2177f667404212",
                "md5": "6dbae267a2ff917ac2d90d91889a1b72",
                "sha256": "7f7d069b13c8b3a5b53ca98644fbf7d0a95dc0c1119bec40cf8510610022d6c1"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp37-cp37m-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6dbae267a2ff917ac2d90d91889a1b72",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 2472203,
            "upload_time": "2024-11-11T16:29:01",
            "upload_time_iso_8601": "2024-11-11T16:29:01.358194Z",
            "url": "https://files.pythonhosted.org/packages/84/4f/2fe2ae206507e261a19b3c2af45f7d0def7df21dd2be3a2177f667404212/openexr-3.3.2-cp37-cp37m-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "505620cf53a2107e9ac67d0035b496a49238a0b42514ae60477244ab420d2fee",
                "md5": "2e98b16ecb8f427b1778744c7e1b8095",
                "sha256": "5dbfc0cbd24eea5dd5d9e4150e685e6717d683f96ad0f1c95bb0fdce88b4b235"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2e98b16ecb8f427b1778744c7e1b8095",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 996848,
            "upload_time": "2024-11-11T16:29:03",
            "upload_time_iso_8601": "2024-11-11T16:29:03.014954Z",
            "url": "https://files.pythonhosted.org/packages/50/56/20cf53a2107e9ac67d0035b496a49238a0b42514ae60477244ab420d2fee/openexr-3.3.2-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "78f4294b227b5d8ad63ed1c4876eac871b42c43ae734daf67cdce390544e267a",
                "md5": "4269b163028bd97626ae2da6b1d3cde5",
                "sha256": "ed1256c53e50455d7bf43841d4c454bed83188d3bc71a277e9f1fd02af6a8021"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp38-cp38-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "4269b163028bd97626ae2da6b1d3cde5",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 2672759,
            "upload_time": "2024-11-11T16:29:04",
            "upload_time_iso_8601": "2024-11-11T16:29:04.646996Z",
            "url": "https://files.pythonhosted.org/packages/78/f4/294b227b5d8ad63ed1c4876eac871b42c43ae734daf67cdce390544e267a/openexr-3.3.2-cp38-cp38-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "835dbd0ffd5c6e4489e569d2c6e59859af43b27dec2a4129ab24e8603b0c41d9",
                "md5": "31709c7b33ac13968e75dec22bceb503",
                "sha256": "f6cd0768c973871b12883a495627268db38e2b24a1dc380fbecc625df63ff05a"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp38-cp38-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "31709c7b33ac13968e75dec22bceb503",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 1367932,
            "upload_time": "2024-11-11T16:29:07",
            "upload_time_iso_8601": "2024-11-11T16:29:07.925488Z",
            "url": "https://files.pythonhosted.org/packages/83/5d/bd0ffd5c6e4489e569d2c6e59859af43b27dec2a4129ab24e8603b0c41d9/openexr-3.3.2-cp38-cp38-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "33b0733e85f7313e49a825c15a12cadff974912e7d25dc7c30dc4c207b99a3dd",
                "md5": "4f30e3e388dad6e10d58df232216d58a",
                "sha256": "d52580c191972c48ae37e6446849bb1a8607e17183b488c43d028782e0e16844"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "4f30e3e388dad6e10d58df232216d58a",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 1312735,
            "upload_time": "2024-11-11T16:29:10",
            "upload_time_iso_8601": "2024-11-11T16:29:10.343372Z",
            "url": "https://files.pythonhosted.org/packages/33/b0/733e85f7313e49a825c15a12cadff974912e7d25dc7c30dc4c207b99a3dd/openexr-3.3.2-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fc65a104c227faf3b3c29f6b2819204d918d1ebb9cb43fd3c100971ced1d6a09",
                "md5": "3511e4e790e90eb1682d70176e2d48a8",
                "sha256": "68712768fb8e193f9d2276b2825c6fc436db65d7064f666cb0f022df443bdd5d"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3511e4e790e90eb1682d70176e2d48a8",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 1493112,
            "upload_time": "2024-11-11T16:29:12",
            "upload_time_iso_8601": "2024-11-11T16:29:12.994006Z",
            "url": "https://files.pythonhosted.org/packages/fc/65/a104c227faf3b3c29f6b2819204d918d1ebb9cb43fd3c100971ced1d6a09/openexr-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2381b3edad9774e647d33aafd8ebd1b5ac5ccb1489bc1b4511746785e94f23f8",
                "md5": "f78ccf33898d09f4e788ca6880f555da",
                "sha256": "852254a89ca2be712db460e39b407472dabe5b5401c37421412cedcfba09d906"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp38-cp38-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f78ccf33898d09f4e788ca6880f555da",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 2459236,
            "upload_time": "2024-11-11T16:29:15",
            "upload_time_iso_8601": "2024-11-11T16:29:15.597307Z",
            "url": "https://files.pythonhosted.org/packages/23/81/b3edad9774e647d33aafd8ebd1b5ac5ccb1489bc1b4511746785e94f23f8/openexr-3.3.2-cp38-cp38-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3f2c57757fef9492e402e8b7d5b5fa26261d3e20b97463090ee11ddc5aa9d5a4",
                "md5": "23ddd6d5c629938894e7a589c06dfece",
                "sha256": "33b9797f8b04fcc2eb50ec6e2d5a25276276d970ec62ab75470d2ab52a0c8a40"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "23ddd6d5c629938894e7a589c06dfece",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 997237,
            "upload_time": "2024-11-11T16:29:17",
            "upload_time_iso_8601": "2024-11-11T16:29:17.999258Z",
            "url": "https://files.pythonhosted.org/packages/3f/2c/57757fef9492e402e8b7d5b5fa26261d3e20b97463090ee11ddc5aa9d5a4/openexr-3.3.2-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "789ebe41333cf03cabde4fb7e6eb75f21e0a31cd6555295dcd339bb3f5daef70",
                "md5": "9163bcdf60f05894356146cb29c2500a",
                "sha256": "46aa35a4bf20f9d06e71c89145d1dff496a969f814343c94c6d9b4a2bd56cae7"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp39-cp39-macosx_10_15_universal2.whl",
            "has_sig": false,
            "md5_digest": "9163bcdf60f05894356146cb29c2500a",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 2673905,
            "upload_time": "2024-11-11T16:29:20",
            "upload_time_iso_8601": "2024-11-11T16:29:20.094253Z",
            "url": "https://files.pythonhosted.org/packages/78/9e/be41333cf03cabde4fb7e6eb75f21e0a31cd6555295dcd339bb3f5daef70/openexr-3.3.2-cp39-cp39-macosx_10_15_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0ff3fbdeba0ddc0b40448ae36694b08129cd376eced264c90e96e2448a38f096",
                "md5": "abf36a68e5fa19353e4e31c7de6b721f",
                "sha256": "29a573d0eedf47740fa4292d5d32f37fd1126b0e15fe4da64390c2c8717e1b01"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp39-cp39-macosx_10_15_x86_64.whl",
            "has_sig": false,
            "md5_digest": "abf36a68e5fa19353e4e31c7de6b721f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 1368560,
            "upload_time": "2024-11-11T16:29:21",
            "upload_time_iso_8601": "2024-11-11T16:29:21.888303Z",
            "url": "https://files.pythonhosted.org/packages/0f/f3/fbdeba0ddc0b40448ae36694b08129cd376eced264c90e96e2448a38f096/openexr-3.3.2-cp39-cp39-macosx_10_15_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2c640ac1568048c776c7e2ed48e8df38c60fd31be9d79a8dd60d672eaa2fccdf",
                "md5": "d2fcd6db126e35763ea1146697ca1a5e",
                "sha256": "661594f3d29d8cacd81ee0fd058c5da9e18f4e5964f66ec508b9226a882ced11"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "d2fcd6db126e35763ea1146697ca1a5e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 1313049,
            "upload_time": "2024-11-11T16:29:24",
            "upload_time_iso_8601": "2024-11-11T16:29:24.411211Z",
            "url": "https://files.pythonhosted.org/packages/2c/64/0ac1568048c776c7e2ed48e8df38c60fd31be9d79a8dd60d672eaa2fccdf/openexr-3.3.2-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bcd24bf01048c32f70b8b1361deb0a55b0249084f51da70198cd9377e745f91c",
                "md5": "86b86ad0d2745ae356e5af88066fbe46",
                "sha256": "a1108fc5b2216c26fc624b5eee66104b830e95b46ec002d10b5f627882e0497e"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "86b86ad0d2745ae356e5af88066fbe46",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 1493351,
            "upload_time": "2024-11-11T16:29:26",
            "upload_time_iso_8601": "2024-11-11T16:29:26.904321Z",
            "url": "https://files.pythonhosted.org/packages/bc/d2/4bf01048c32f70b8b1361deb0a55b0249084f51da70198cd9377e745f91c/openexr-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7da1f6dbff3bf5f84213a659d49b36f2c9c710accab4988e5c58cfa7b6cad00f",
                "md5": "974d19e5ba3e955338876d4784fc2882",
                "sha256": "7eacc6f780926e34f7ca6e02a6196589d198908c0089e8059511c5546e4d5880"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "974d19e5ba3e955338876d4784fc2882",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 2459989,
            "upload_time": "2024-11-11T16:29:28",
            "upload_time_iso_8601": "2024-11-11T16:29:28.728564Z",
            "url": "https://files.pythonhosted.org/packages/7d/a1/f6dbff3bf5f84213a659d49b36f2c9c710accab4988e5c58cfa7b6cad00f/openexr-3.3.2-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ea301802d205a155cf300105f451d060d8d552c41c727e86d4de0030e00359fb",
                "md5": "5e78137f69369949fe6a30de0e8639a6",
                "sha256": "20188809d8e997582a4ad8ed9a35b638e8fed667e2464fd93a05d79f44c322d2"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5e78137f69369949fe6a30de0e8639a6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 989575,
            "upload_time": "2024-11-11T16:29:30",
            "upload_time_iso_8601": "2024-11-11T16:29:30.421360Z",
            "url": "https://files.pythonhosted.org/packages/ea/30/1802d205a155cf300105f451d060d8d552c41c727e86d4de0030e00359fb/openexr-3.3.2-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "486be4f6227b7d0bd999e1e907796c613dac48e05983930d07c9b9fb191c88f5",
                "md5": "f777e05c87a8c0acb5aac77253f4453c",
                "sha256": "150e1b8f817ce351087c041e8d19f18ab7e799a8dbe099faa5b611ce6688f246"
            },
            "downloads": -1,
            "filename": "openexr-3.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "f777e05c87a8c0acb5aac77253f4453c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 21194174,
            "upload_time": "2024-11-11T16:29:32",
            "upload_time_iso_8601": "2024-11-11T16:29:32.656087Z",
            "url": "https://files.pythonhosted.org/packages/48/6b/e4f6227b7d0bd999e1e907796c613dac48e05983930d07c9b9fb191c88f5/openexr-3.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-11 16:29:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "AcademySoftwareFoundation",
    "github_project": "OpenEXR",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "openexr"
}
        
Elapsed time: 0.57200s