xs3d


Namexs3d JSON
Version 1.12.2 PyPI version JSON
download
home_pagehttps://github.com/seung-lab/cross-section/
SummaryCompute cross sectional area of 3d shapes.
upload_time2025-10-09 02:32:37
maintainerNone
docs_urlNone
authorWilliam Silversmith
requires_pythonNone
license"LGPL-3.0-or-later"
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![PyPI version](https://badge.fury.io/py/xs3d.svg)](https://badge.fury.io/py/xs3d)

# xs3d: Compute cross sectional area for 3D image objects

```python
import xs3d

# let binary image be a boolean numpy array 
# in fortran order that is 500 x 500 x 500 voxels
# containing a shape, which may have multiple 
# connected components, representing e.g. a neuron
binary_image = np.load(...)

# a point inside the shape (must be integer)
vertex = np.array([200,121,78])
# normal vector defining sectioning plane
# it doesn't have to be a unit vector
# vector can be of arbitrary orientation
# This vector is given in voxel space, 
# not physical space (i.e. divide by anisotropy)!
normal = np.array([0.01, 0.033, 0.9])

# voxel dimensions in e.g. nanometers
resolution = np.array([32,32,40]) 

# cross sectional area returned as a float
area = xs3d.cross_sectional_area(binary_image, vertex, normal, resolution)

# optionally return a bitfield that tells you if the section
# plane touched the image border, indicating a possible
# underestimate of the area if the image is a cutout of
# a larger scene.
# if the bitfield is > 0, then some edge contact is made
# the bitfield order is -x+x-y+y-z+z00
# where - means left edge (0), and + means right edge (size-1)
# and 0 means unused
area, contact_warning = xs3d.cross_sectional_area(
	binary_image, vertex, normal, resolution, 
	return_contact=True
)

# Returns the cross section as a float32 3d image
# where each voxel represents its contribution
# to the cross sectional area
image = xs3d.cross_section(
	binary_image, vertex, 
	normal, resolution, 
)

# Get a slice of a 3d image in any orientation.
# Note: result may be reflected or transposed
# compared with what you might expect.
image2d = xs3d.slice(labels, vertex, normal, anisotropy)

# You can also crop your ROI using physical units
image2d = xs3d.slice(labels, vertex, normal, anisotropy, crop=100) 
```

# Installation

```
pip install xs3d
```

# Cross Section Calculation

When using skeletons (one dimensional stick figure representations) to create electrophysiological compartment simulations of neurons, some additional information is required for accuracy. The caliber of the neurite changes over the length of the cell.

Previously, the radius from the current skeleton vertex to the nearest background voxel was used, but this was often an underestimate as it is sensitive to noise and divots in a shape.

A superior measure would be the cross sectional area using a section plane that is orthogonal to the direction of travel along the neurite. This library provides that missing capability.

# How Does it Work?

The algorithm roughly works as follows.

1. Label voxels that are intercepted by the sectioning plane.
2. Label the connected components of those voxels.
3. Filter out all components except the region of interest.
4. Compute the polygon formed by the intersection of the plane with the 8 corners and 12 edges of each voxel.
5. Add up the area contributed by each polygon so formed in the component of interest.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/seung-lab/cross-section/",
    "name": "xs3d",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "William Silversmith",
    "author_email": "ws9@princeton.edu",
    "download_url": "https://files.pythonhosted.org/packages/6e/4b/71110e75a82d711a07deff1a50cfc8cc792022821985acd5bc3b49b7cec2/xs3d-1.12.2.tar.gz",
    "platform": null,
    "description": "[![PyPI version](https://badge.fury.io/py/xs3d.svg)](https://badge.fury.io/py/xs3d)\n\n# xs3d: Compute cross sectional area for 3D image objects\n\n```python\nimport xs3d\n\n# let binary image be a boolean numpy array \n# in fortran order that is 500 x 500 x 500 voxels\n# containing a shape, which may have multiple \n# connected components, representing e.g. a neuron\nbinary_image = np.load(...)\n\n# a point inside the shape (must be integer)\nvertex = np.array([200,121,78])\n# normal vector defining sectioning plane\n# it doesn't have to be a unit vector\n# vector can be of arbitrary orientation\n# This vector is given in voxel space, \n# not physical space (i.e. divide by anisotropy)!\nnormal = np.array([0.01, 0.033, 0.9])\n\n# voxel dimensions in e.g. nanometers\nresolution = np.array([32,32,40]) \n\n# cross sectional area returned as a float\narea = xs3d.cross_sectional_area(binary_image, vertex, normal, resolution)\n\n# optionally return a bitfield that tells you if the section\n# plane touched the image border, indicating a possible\n# underestimate of the area if the image is a cutout of\n# a larger scene.\n# if the bitfield is > 0, then some edge contact is made\n# the bitfield order is -x+x-y+y-z+z00\n# where - means left edge (0), and + means right edge (size-1)\n# and 0 means unused\narea, contact_warning = xs3d.cross_sectional_area(\n\tbinary_image, vertex, normal, resolution, \n\treturn_contact=True\n)\n\n# Returns the cross section as a float32 3d image\n# where each voxel represents its contribution\n# to the cross sectional area\nimage = xs3d.cross_section(\n\tbinary_image, vertex, \n\tnormal, resolution, \n)\n\n# Get a slice of a 3d image in any orientation.\n# Note: result may be reflected or transposed\n# compared with what you might expect.\nimage2d = xs3d.slice(labels, vertex, normal, anisotropy)\n\n# You can also crop your ROI using physical units\nimage2d = xs3d.slice(labels, vertex, normal, anisotropy, crop=100) \n```\n\n# Installation\n\n```\npip install xs3d\n```\n\n# Cross Section Calculation\n\nWhen using skeletons (one dimensional stick figure representations) to create electrophysiological compartment simulations of neurons, some additional information is required for accuracy. The caliber of the neurite changes over the length of the cell.\n\nPreviously, the radius from the current skeleton vertex to the nearest background voxel was used, but this was often an underestimate as it is sensitive to noise and divots in a shape.\n\nA superior measure would be the cross sectional area using a section plane that is orthogonal to the direction of travel along the neurite. This library provides that missing capability.\n\n# How Does it Work?\n\nThe algorithm roughly works as follows.\n\n1. Label voxels that are intercepted by the sectioning plane.\n2. Label the connected components of those voxels.\n3. Filter out all components except the region of interest.\n4. Compute the polygon formed by the intersection of the plane with the 8 corners and 12 edges of each voxel.\n5. Add up the area contributed by each polygon so formed in the component of interest.\n\n",
    "bugtrack_url": null,
    "license": "\"LGPL-3.0-or-later\"",
    "summary": "Compute cross sectional area of 3d shapes.",
    "version": "1.12.2",
    "project_urls": {
        "Homepage": "https://github.com/seung-lab/cross-section/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d2b336e48ae079676fe6c8fbb1eb14ee8aa3383d18c39e0c1331f8fd090a72cd",
                "md5": "84f8dda32543cffa2cf9c91f91ccbeaa",
                "sha256": "3a7c4aa47e750643e5a25c0e254e87cd7527838c59671a4d74e55d0fd54f2bf4"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "84f8dda32543cffa2cf9c91f91ccbeaa",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 132950,
            "upload_time": "2025-10-09T02:31:47",
            "upload_time_iso_8601": "2025-10-09T02:31:47.052542Z",
            "url": "https://files.pythonhosted.org/packages/d2/b3/36e48ae079676fe6c8fbb1eb14ee8aa3383d18c39e0c1331f8fd090a72cd/xs3d-1.12.2-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8f086b550a13c965f47c53bdb6c63335804374c41ac51d9b07f29d6e786c622e",
                "md5": "ecf7d268a904c77ba296fb204b065fae",
                "sha256": "c0d49dcdc45289cc77a53301af39938f7838b4c119a2e21d7c75b285c7e8e78b"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ecf7d268a904c77ba296fb204b065fae",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 122134,
            "upload_time": "2025-10-09T02:31:48",
            "upload_time_iso_8601": "2025-10-09T02:31:48.845516Z",
            "url": "https://files.pythonhosted.org/packages/8f/08/6b550a13c965f47c53bdb6c63335804374c41ac51d9b07f29d6e786c622e/xs3d-1.12.2-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7bea674011b2d40f65dd788e2073b1116e3231370d4ebcd827cbc3e35cd52b4e",
                "md5": "6ad98c68432fa6513b179253ec009d0f",
                "sha256": "7251278f9503fb384ad681f8c74f4af9379a74818a233d3494ad728a8fd913ad"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "6ad98c68432fa6513b179253ec009d0f",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 144426,
            "upload_time": "2025-10-09T02:31:50",
            "upload_time_iso_8601": "2025-10-09T02:31:50.262198Z",
            "url": "https://files.pythonhosted.org/packages/7b/ea/674011b2d40f65dd788e2073b1116e3231370d4ebcd827cbc3e35cd52b4e/xs3d-1.12.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2535bfbbed9f5aac6ee4b4c8c7b6d78bdfa77a3c5881860a560533112147062f",
                "md5": "dc2a93291790dc26fa0c9918d15dabba",
                "sha256": "095c6330cb8cd2dcec4c8e09c8ed3436d8f261ea00b073bbe70f178d640d6c3f"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "dc2a93291790dc26fa0c9918d15dabba",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 158869,
            "upload_time": "2025-10-09T02:31:51",
            "upload_time_iso_8601": "2025-10-09T02:31:51.558051Z",
            "url": "https://files.pythonhosted.org/packages/25/35/bfbbed9f5aac6ee4b4c8c7b6d78bdfa77a3c5881860a560533112147062f/xs3d-1.12.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "24900e9f0744a9ffd32fbdb1335b68b92f9cae4ba67b01d88b32552f476e074b",
                "md5": "5eab0a43b5d3aa03f5e7792344ad60dc",
                "sha256": "d8e86e8a9e0d7b3a2f4df9acbb9c92a1b71e2d769f465222988be0565a7171d2"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "5eab0a43b5d3aa03f5e7792344ad60dc",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 113088,
            "upload_time": "2025-10-09T02:31:53",
            "upload_time_iso_8601": "2025-10-09T02:31:53.812855Z",
            "url": "https://files.pythonhosted.org/packages/24/90/0e9f0744a9ffd32fbdb1335b68b92f9cae4ba67b01d88b32552f476e074b/xs3d-1.12.2-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9083753292686ee501af193c00f69a8571101f83d312f97f23da7204c1c9ccac",
                "md5": "abb36d13499db30d0b4a2ebc6a538fd4",
                "sha256": "34e01aa0948fc85eb749c9ab79872b8057c9839c4a62622b040292c6de303a15"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "abb36d13499db30d0b4a2ebc6a538fd4",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 121351,
            "upload_time": "2025-10-09T02:31:52",
            "upload_time_iso_8601": "2025-10-09T02:31:52.689939Z",
            "url": "https://files.pythonhosted.org/packages/90/83/753292686ee501af193c00f69a8571101f83d312f97f23da7204c1c9ccac/xs3d-1.12.2-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "986365b9f1334947c171f223eadf2a996a8bd2b36eb4fe83199247e3ac4ac1c5",
                "md5": "79c470c17cb933b402f0b2759abe3bd4",
                "sha256": "15c0bc12db68e9dede159e1acbd21b0c5557bb3de787b62016554821c9811a9a"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "79c470c17cb933b402f0b2759abe3bd4",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 134494,
            "upload_time": "2025-10-09T02:31:54",
            "upload_time_iso_8601": "2025-10-09T02:31:54.620999Z",
            "url": "https://files.pythonhosted.org/packages/98/63/65b9f1334947c171f223eadf2a996a8bd2b36eb4fe83199247e3ac4ac1c5/xs3d-1.12.2-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f510afa20c7e29fa352de9b759437a9d885526014e174fff4af12da8207a4c5c",
                "md5": "a2f1b796941b44de4fed6ca94beb6c53",
                "sha256": "9ad9dc9fde7204fcb8a7962d9637db148d371d6c40b32e94a93723756c025adc"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "a2f1b796941b44de4fed6ca94beb6c53",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 123505,
            "upload_time": "2025-10-09T02:31:55",
            "upload_time_iso_8601": "2025-10-09T02:31:55.535774Z",
            "url": "https://files.pythonhosted.org/packages/f5/10/afa20c7e29fa352de9b759437a9d885526014e174fff4af12da8207a4c5c/xs3d-1.12.2-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9f582e2c00b4853b185da3c8dae2793234c2c7541f6e01413c9461a0debabb08",
                "md5": "64d5b88a86a6c049cc48a7a314713fc9",
                "sha256": "a5fd94572e14115c7bff2927fb7b38f0da753894488efedb990037b7848d3c9a"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "64d5b88a86a6c049cc48a7a314713fc9",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 145209,
            "upload_time": "2025-10-09T02:31:56",
            "upload_time_iso_8601": "2025-10-09T02:31:56.660814Z",
            "url": "https://files.pythonhosted.org/packages/9f/58/2e2c00b4853b185da3c8dae2793234c2c7541f6e01413c9461a0debabb08/xs3d-1.12.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7df3b8ff7a689877a476f9b08851b5e05b14904583d815084488232e192a7e77",
                "md5": "1c5caf4d2e691bff0fd19150b847d18b",
                "sha256": "73e5f1ce77d4052ba8902d70e1216690b8a6726a54b0de88e1e676a4a7ceaad8"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1c5caf4d2e691bff0fd19150b847d18b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 159953,
            "upload_time": "2025-10-09T02:31:57",
            "upload_time_iso_8601": "2025-10-09T02:31:57.512502Z",
            "url": "https://files.pythonhosted.org/packages/7d/f3/b8ff7a689877a476f9b08851b5e05b14904583d815084488232e192a7e77/xs3d-1.12.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5b829da8872fa5437529824d6312a5ca5bdf56e82bcd41275018a149f2bdf0c0",
                "md5": "1c5999b3999367f2855bdfe505589588",
                "sha256": "47cba911c48d103ba35e87204c134cc99790725eb410965e0610828d1455e0b7"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "1c5999b3999367f2855bdfe505589588",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 114209,
            "upload_time": "2025-10-09T02:32:00",
            "upload_time_iso_8601": "2025-10-09T02:32:00.150106Z",
            "url": "https://files.pythonhosted.org/packages/5b/82/9da8872fa5437529824d6312a5ca5bdf56e82bcd41275018a149f2bdf0c0/xs3d-1.12.2-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "671e018892106ff1168e117c3d7be53edd68236e8ab18bd5b7f3ac1051b7dd9c",
                "md5": "ff6f4daa6410f6709fca4018cb0f464d",
                "sha256": "23865c1dc9f75a91bd1a132a3d8e3e777c9313cc53ce519e4a464197831d1bde"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "ff6f4daa6410f6709fca4018cb0f464d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 122238,
            "upload_time": "2025-10-09T02:31:59",
            "upload_time_iso_8601": "2025-10-09T02:31:59.226233Z",
            "url": "https://files.pythonhosted.org/packages/67/1e/018892106ff1168e117c3d7be53edd68236e8ab18bd5b7f3ac1051b7dd9c/xs3d-1.12.2-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8b7fb2863d2b1cc1c8cfaf37c80906e24e12ea0f4819d5f7ea0040f97cda4f6e",
                "md5": "7995b7a3ef704a49d6db5eea1b8fb847",
                "sha256": "bcead35d7a13a00f2e6f18ad21d9c0dbb11d9a9c343eff28e15659d102f2d6e6"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp312-cp312-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7995b7a3ef704a49d6db5eea1b8fb847",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 134141,
            "upload_time": "2025-10-09T02:32:00",
            "upload_time_iso_8601": "2025-10-09T02:32:00.937783Z",
            "url": "https://files.pythonhosted.org/packages/8b/7f/b2863d2b1cc1c8cfaf37c80906e24e12ea0f4819d5f7ea0040f97cda4f6e/xs3d-1.12.2-cp312-cp312-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2da5c6afcc8ad57fed14df97bf8ac067d2b56f313193098df7bc7d6f3faa4bef",
                "md5": "fc1f9c6eeb68167a504d4489a728b85d",
                "sha256": "82ed52e41c37521885cdde214baaf8cb104132f89a89d33720b1d15ab251638c"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "fc1f9c6eeb68167a504d4489a728b85d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 124085,
            "upload_time": "2025-10-09T02:32:02",
            "upload_time_iso_8601": "2025-10-09T02:32:02.217115Z",
            "url": "https://files.pythonhosted.org/packages/2d/a5/c6afcc8ad57fed14df97bf8ac067d2b56f313193098df7bc7d6f3faa4bef/xs3d-1.12.2-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2dcc16e2c0ee4857438556873a57a9499a0ff5e8fbd1e76afe84d9d5b58abbed",
                "md5": "a4c01aa80bb596f92dfa217a3de63429",
                "sha256": "ce2de2d9ea46edd561e73bdc47423a88b59028e9e37f5abdbe15cc806e89e4dd"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "a4c01aa80bb596f92dfa217a3de63429",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 145679,
            "upload_time": "2025-10-09T02:32:03",
            "upload_time_iso_8601": "2025-10-09T02:32:03.011166Z",
            "url": "https://files.pythonhosted.org/packages/2d/cc/16e2c0ee4857438556873a57a9499a0ff5e8fbd1e76afe84d9d5b58abbed/xs3d-1.12.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8639ce81e46eb5ef6354128fc96a7cf851fb91e8f4b240f20747cc13a12cf91e",
                "md5": "4481f154e21fff96007e1949f3ca5848",
                "sha256": "de32dbdad28f1b3927a0a639ad285b00495ee2bdd6f5af41e90858f42e91b9d0"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4481f154e21fff96007e1949f3ca5848",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 161123,
            "upload_time": "2025-10-09T02:32:04",
            "upload_time_iso_8601": "2025-10-09T02:32:04.357268Z",
            "url": "https://files.pythonhosted.org/packages/86/39/ce81e46eb5ef6354128fc96a7cf851fb91e8f4b240f20747cc13a12cf91e/xs3d-1.12.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "35df135fd8223d74dbba359311c24bc8648e5bd60d44fa0108b5e780c9193c2c",
                "md5": "f91c7261fd24431d1f66480fb86fc6ce",
                "sha256": "bef4fd36932574eae360725df7ad9f65beb14d40e02317d74037f4737c44c0ae"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "f91c7261fd24431d1f66480fb86fc6ce",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 114340,
            "upload_time": "2025-10-09T02:32:06",
            "upload_time_iso_8601": "2025-10-09T02:32:06.195964Z",
            "url": "https://files.pythonhosted.org/packages/35/df/135fd8223d74dbba359311c24bc8648e5bd60d44fa0108b5e780c9193c2c/xs3d-1.12.2-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "43297b4fd21d5adc288807e5f8ab73809fce8476494ea9c935826a31a237941a",
                "md5": "7f2467ccb69dbd8ed6767139ebd9c2e2",
                "sha256": "a8ece6121f526cc5995a7cf60eff64ffdd4e78683ee79f471a92f4689e6ef137"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7f2467ccb69dbd8ed6767139ebd9c2e2",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 122205,
            "upload_time": "2025-10-09T02:32:05",
            "upload_time_iso_8601": "2025-10-09T02:32:05.271134Z",
            "url": "https://files.pythonhosted.org/packages/43/29/7b4fd21d5adc288807e5f8ab73809fce8476494ea9c935826a31a237941a/xs3d-1.12.2-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e19f04f89b4f218aae47dd4e1a71e43f1d0a9855e4a0d82b1dd02104975d7a6e",
                "md5": "369197d5a66634e13e4f76bf51b0c89d",
                "sha256": "db99e72a453e999142edc9eabc7924215d66ef58d3b1786c4e651a0b65bda78c"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp313-cp313-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "369197d5a66634e13e4f76bf51b0c89d",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 134231,
            "upload_time": "2025-10-09T02:32:07",
            "upload_time_iso_8601": "2025-10-09T02:32:07.318370Z",
            "url": "https://files.pythonhosted.org/packages/e1/9f/04f89b4f218aae47dd4e1a71e43f1d0a9855e4a0d82b1dd02104975d7a6e/xs3d-1.12.2-cp313-cp313-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7ddc2474fc71cc7d0d375c2f5f406d01593f8ab2c0ce564f95fbf26f83afb47e",
                "md5": "277135e31bd5be2285aa52321353743e",
                "sha256": "711748f1d4323907d33cdf129f2ed3a8895b71d2c3d994da288837064703e009"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "277135e31bd5be2285aa52321353743e",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 124126,
            "upload_time": "2025-10-09T02:32:08",
            "upload_time_iso_8601": "2025-10-09T02:32:08.336825Z",
            "url": "https://files.pythonhosted.org/packages/7d/dc/2474fc71cc7d0d375c2f5f406d01593f8ab2c0ce564f95fbf26f83afb47e/xs3d-1.12.2-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ff57c7fbaa88b374b53219d7e63dd9308d8488124fd8e093521d55395e158671",
                "md5": "56378cb32b415ea1363689c439a7f16d",
                "sha256": "3bdefb5f38a13925c26aeb180c34f4f55c797c7d3f6ea83fbef2dbd27fdecd68"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "56378cb32b415ea1363689c439a7f16d",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 145775,
            "upload_time": "2025-10-09T02:32:09",
            "upload_time_iso_8601": "2025-10-09T02:32:09.481223Z",
            "url": "https://files.pythonhosted.org/packages/ff/57/c7fbaa88b374b53219d7e63dd9308d8488124fd8e093521d55395e158671/xs3d-1.12.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "65fad6abde5e57dd4118d1bfb859975500ae44ee1b243b59529586d4e19775a1",
                "md5": "63b75aaa9b23f523c14e7fb75958baeb",
                "sha256": "1d411e5c7aca207493481112e95061a4dfe1c84295fa2f86ea32a55cd0e9449a"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "63b75aaa9b23f523c14e7fb75958baeb",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 161402,
            "upload_time": "2025-10-09T02:32:10",
            "upload_time_iso_8601": "2025-10-09T02:32:10.564053Z",
            "url": "https://files.pythonhosted.org/packages/65/fa/d6abde5e57dd4118d1bfb859975500ae44ee1b243b59529586d4e19775a1/xs3d-1.12.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "434f29472e12b0e128e109c63004b6facfd33f337bc1fdbd8079a897ed4b4876",
                "md5": "1209c5fb99f9f7aa2675fc6fd35bafc7",
                "sha256": "d04df46a2d00506431edb664a4930a04c2fcbce7b97d76b03b864c9419d3f1a8"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp313-cp313-win32.whl",
            "has_sig": false,
            "md5_digest": "1209c5fb99f9f7aa2675fc6fd35bafc7",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 114338,
            "upload_time": "2025-10-09T02:32:12",
            "upload_time_iso_8601": "2025-10-09T02:32:12.327713Z",
            "url": "https://files.pythonhosted.org/packages/43/4f/29472e12b0e128e109c63004b6facfd33f337bc1fdbd8079a897ed4b4876/xs3d-1.12.2-cp313-cp313-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c9d295de42f1d5d7992659d48a9c80838763a6a45739dcb8cf5b63b3c54fb639",
                "md5": "af55e962c80a1212f98b32160a9d6a46",
                "sha256": "848388c3f19ab8531a27a5839bbddc1529dff7deb408a2b7a403e9fb910c1a09"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "af55e962c80a1212f98b32160a9d6a46",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 122240,
            "upload_time": "2025-10-09T02:32:11",
            "upload_time_iso_8601": "2025-10-09T02:32:11.514164Z",
            "url": "https://files.pythonhosted.org/packages/c9/d2/95de42f1d5d7992659d48a9c80838763a6a45739dcb8cf5b63b3c54fb639/xs3d-1.12.2-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "23164b294ab55cd0d8028a3e137b7b8e9a4cdf4b8bf702fa2428818968d2de0a",
                "md5": "4eb0035758fc5ade39d8e81c8821856d",
                "sha256": "8814005ce6c88858bcffff961652669cc1e21adb0662757e867d35f2727e891c"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp314-cp314-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4eb0035758fc5ade39d8e81c8821856d",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 134520,
            "upload_time": "2025-10-09T02:32:13",
            "upload_time_iso_8601": "2025-10-09T02:32:13.150123Z",
            "url": "https://files.pythonhosted.org/packages/23/16/4b294ab55cd0d8028a3e137b7b8e9a4cdf4b8bf702fa2428818968d2de0a/xs3d-1.12.2-cp314-cp314-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c86d2d7ce53c003ef00786b3c8aafda997182a10a1b8792e06895eb40644235f",
                "md5": "efba25b445cd6d08cdb3157f6876121b",
                "sha256": "31f602c62dfc9a7bba91ec9203c2bded882791226fe8d76e34b0e449a694103b"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp314-cp314-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "efba25b445cd6d08cdb3157f6876121b",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 124416,
            "upload_time": "2025-10-09T02:32:14",
            "upload_time_iso_8601": "2025-10-09T02:32:14.287132Z",
            "url": "https://files.pythonhosted.org/packages/c8/6d/2d7ce53c003ef00786b3c8aafda997182a10a1b8792e06895eb40644235f/xs3d-1.12.2-cp314-cp314-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "af1808bc07fef74522be7ab6e143f5646bfe6bc408fa8941c079fee0acf13874",
                "md5": "8562784e22a7262ab32b84ff229c3cad",
                "sha256": "3441fef3e65630162af9761ac7a09e54632135ba8315c87d66ac5a47f6137d6f"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8562784e22a7262ab32b84ff229c3cad",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 146218,
            "upload_time": "2025-10-09T02:32:15",
            "upload_time_iso_8601": "2025-10-09T02:32:15.668276Z",
            "url": "https://files.pythonhosted.org/packages/af/18/08bc07fef74522be7ab6e143f5646bfe6bc408fa8941c079fee0acf13874/xs3d-1.12.2-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "975f1ec7e357fa264a1f689f838a9d721c9e5fecf8e361cce2b1634d4fc47a2d",
                "md5": "a5b246b75b98ca88c62f29a9ec8012ce",
                "sha256": "10021623cef5d0f577ee6e7f1806c026141538bfc265658348e359718f47ee7a"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a5b246b75b98ca88c62f29a9ec8012ce",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 161610,
            "upload_time": "2025-10-09T02:32:16",
            "upload_time_iso_8601": "2025-10-09T02:32:16.665586Z",
            "url": "https://files.pythonhosted.org/packages/97/5f/1ec7e357fa264a1f689f838a9d721c9e5fecf8e361cce2b1634d4fc47a2d/xs3d-1.12.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "58b3acf68540799341bf9ad67c82dc4b4c3d028a2c8c357845ff218f621f163d",
                "md5": "874b7d00839c9ccfe9449364f065bfab",
                "sha256": "1cbe4fea07c9343f4bcae75b2f4b93b194e67a851085bd6b3fbedca3031ebd89"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp314-cp314t-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "874b7d00839c9ccfe9449364f065bfab",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 138955,
            "upload_time": "2025-10-09T02:32:19",
            "upload_time_iso_8601": "2025-10-09T02:32:19.807449Z",
            "url": "https://files.pythonhosted.org/packages/58/b3/acf68540799341bf9ad67c82dc4b4c3d028a2c8c357845ff218f621f163d/xs3d-1.12.2-cp314-cp314t-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e1e1fc2447c49fc0f7d27d5bd0f89183023eca39534b5f85cd75f48b851c8b19",
                "md5": "e997bf9380abeb60689b67bb720eca53",
                "sha256": "5a4dfeef39ef37756a5d65a3f65d9d4d463b9d2378fbc1cf78b5839db45b98a0"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp314-cp314t-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "e997bf9380abeb60689b67bb720eca53",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 128650,
            "upload_time": "2025-10-09T02:32:20",
            "upload_time_iso_8601": "2025-10-09T02:32:20.619271Z",
            "url": "https://files.pythonhosted.org/packages/e1/e1/fc2447c49fc0f7d27d5bd0f89183023eca39534b5f85cd75f48b851c8b19/xs3d-1.12.2-cp314-cp314t-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e4936297037f7e45b4d51fbc73b0e131ea3037de5e5472a7b99631fc4f4ae1bc",
                "md5": "0658e0e68bf33d6f1af7711e3f05cf60",
                "sha256": "ba94555d5ee5c224b077c84fb7f1a1df2aa2191b8870acb0099e65ae5be7f423"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0658e0e68bf33d6f1af7711e3f05cf60",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 146927,
            "upload_time": "2025-10-09T02:32:21",
            "upload_time_iso_8601": "2025-10-09T02:32:21.670719Z",
            "url": "https://files.pythonhosted.org/packages/e4/93/6297037f7e45b4d51fbc73b0e131ea3037de5e5472a7b99631fc4f4ae1bc/xs3d-1.12.2-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4b3389f2e91186c5b9918dc9dcd2912990fb328debaa2ee7c49b8f79cb971f92",
                "md5": "aa883262fd40229bd721032007e44e74",
                "sha256": "efb91330e89f0d4bc2eb49ba62d9d641add9c5adf998a770522ecb42272a6d76"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "aa883262fd40229bd721032007e44e74",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 161542,
            "upload_time": "2025-10-09T02:32:22",
            "upload_time_iso_8601": "2025-10-09T02:32:22.786584Z",
            "url": "https://files.pythonhosted.org/packages/4b/33/89f2e91186c5b9918dc9dcd2912990fb328debaa2ee7c49b8f79cb971f92/xs3d-1.12.2-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "849f480abd995c28f61e313ff2dabdc70d463600ce9d1d5946ec369a2b6ef517",
                "md5": "815f11d9562058c4aea0ab305604cf5b",
                "sha256": "f44f6af8074e6f17450790aa009906f566bda282019e79aa9d6f26341fb7836c"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp314-cp314t-win32.whl",
            "has_sig": false,
            "md5_digest": "815f11d9562058c4aea0ab305604cf5b",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 123029,
            "upload_time": "2025-10-09T02:32:24",
            "upload_time_iso_8601": "2025-10-09T02:32:24.541621Z",
            "url": "https://files.pythonhosted.org/packages/84/9f/480abd995c28f61e313ff2dabdc70d463600ce9d1d5946ec369a2b6ef517/xs3d-1.12.2-cp314-cp314t-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "80242af9a4c888145f49743e258b2026aaaf2b47f5e93c6432a9f06ade4aef5a",
                "md5": "e809c2151a6ba7e3765c890c56835ddc",
                "sha256": "d809c352dfcc4eb2975e28d0ad47a5f0e80d80fb8ba0392a04b5ab7461543223"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp314-cp314t-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e809c2151a6ba7e3765c890c56835ddc",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 133049,
            "upload_time": "2025-10-09T02:32:23",
            "upload_time_iso_8601": "2025-10-09T02:32:23.729151Z",
            "url": "https://files.pythonhosted.org/packages/80/24/2af9a4c888145f49743e258b2026aaaf2b47f5e93c6432a9f06ade4aef5a/xs3d-1.12.2-cp314-cp314t-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "05cd62aa1adb1e56d84dc07fa9464dc27030c019bc8b69defcecbd4c67841b4b",
                "md5": "47b79e156b7ff6b3fe272f2ecb88010b",
                "sha256": "c5e44cee4696c8c643ac3a4e0e1560ed58c04273396feecc5d11667f6b6176c0"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp314-cp314-win32.whl",
            "has_sig": false,
            "md5_digest": "47b79e156b7ff6b3fe272f2ecb88010b",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 117035,
            "upload_time": "2025-10-09T02:32:18",
            "upload_time_iso_8601": "2025-10-09T02:32:18.743871Z",
            "url": "https://files.pythonhosted.org/packages/05/cd/62aa1adb1e56d84dc07fa9464dc27030c019bc8b69defcecbd4c67841b4b/xs3d-1.12.2-cp314-cp314-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "efbc8f37ad492578b778e1d21eef502948ab68dda9de814b6040e615ec48d7dd",
                "md5": "2272d9d6a6dab84409318295353ac947",
                "sha256": "c1ac138cb6ade330a0cf6d6713ad9d447242ce60ddb0f01b1ff2b40ac8924984"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp314-cp314-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2272d9d6a6dab84409318295353ac947",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": null,
            "size": 125483,
            "upload_time": "2025-10-09T02:32:17",
            "upload_time_iso_8601": "2025-10-09T02:32:17.623744Z",
            "url": "https://files.pythonhosted.org/packages/ef/bc/8f37ad492578b778e1d21eef502948ab68dda9de814b6040e615ec48d7dd/xs3d-1.12.2-cp314-cp314-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a0b8f7ca709df16e25f72ceba352af28b215436b36b3b2a4fb78b24f63a599f2",
                "md5": "21c95b3c3066f47dcaa7b04a43bce566",
                "sha256": "9743c1fa57629ba2bae4d26c571234d0da2edb82dbc7579bf9d7ef9692d9ed77"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "21c95b3c3066f47dcaa7b04a43bce566",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 132412,
            "upload_time": "2025-10-09T02:32:25",
            "upload_time_iso_8601": "2025-10-09T02:32:25.536155Z",
            "url": "https://files.pythonhosted.org/packages/a0/b8/f7ca709df16e25f72ceba352af28b215436b36b3b2a4fb78b24f63a599f2/xs3d-1.12.2-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c5d6b8b64d9db99e66e027685b89916cc32ecf85489698baa8427fc0c9b3c0f6",
                "md5": "d75dd24385039f24fae601fd5235d232",
                "sha256": "e959ac870e33306d6e905bac6f62c9b223424af0264cff723536ef485d43cf04"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "d75dd24385039f24fae601fd5235d232",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 121757,
            "upload_time": "2025-10-09T02:32:26",
            "upload_time_iso_8601": "2025-10-09T02:32:26.390331Z",
            "url": "https://files.pythonhosted.org/packages/c5/d6/b8b64d9db99e66e027685b89916cc32ecf85489698baa8427fc0c9b3c0f6/xs3d-1.12.2-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9e9a277d912363bdcb73ff121fb79e58dcdc3c4537c45938a94dd3e793cfe22a",
                "md5": "00c846c035fb0ee88c7799524c9c61c1",
                "sha256": "e3a6e78b2c4f3d26b8e5647a973be5d265fc9c5f27a85df7353a85d3daf059de"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "00c846c035fb0ee88c7799524c9c61c1",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 143426,
            "upload_time": "2025-10-09T02:32:27",
            "upload_time_iso_8601": "2025-10-09T02:32:27.388423Z",
            "url": "https://files.pythonhosted.org/packages/9e/9a/277d912363bdcb73ff121fb79e58dcdc3c4537c45938a94dd3e793cfe22a/xs3d-1.12.2-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d8b0d6831619e355da530ff9d69b386b950e5be9359fb34e5f9844a0cbfcf56e",
                "md5": "808a6d1518b339e2c376de98b6eac093",
                "sha256": "f9fcf99c9200cf058a512f103604efd46b3b61c88d14dda1c17d7c032007a3bf"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "808a6d1518b339e2c376de98b6eac093",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 157811,
            "upload_time": "2025-10-09T02:32:28",
            "upload_time_iso_8601": "2025-10-09T02:32:28.310852Z",
            "url": "https://files.pythonhosted.org/packages/d8/b0/d6831619e355da530ff9d69b386b950e5be9359fb34e5f9844a0cbfcf56e/xs3d-1.12.2-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2f73713a4a29227d81a8e01d91dc59dd7365e15c9a1776db3ee4f7ffa6b89f3c",
                "md5": "43b247c7da0e9ea480e9f3c74c3bbcc6",
                "sha256": "7e8ddb1e221247e71fe217539c23421238b484250382eecc3249497159e15e4e"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "43b247c7da0e9ea480e9f3c74c3bbcc6",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 112791,
            "upload_time": "2025-10-09T02:32:30",
            "upload_time_iso_8601": "2025-10-09T02:32:30.724629Z",
            "url": "https://files.pythonhosted.org/packages/2f/73/713a4a29227d81a8e01d91dc59dd7365e15c9a1776db3ee4f7ffa6b89f3c/xs3d-1.12.2-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "41094430dd57c24f2f8af0c775d6e5ef6c7166d842debec27593f78def1bea01",
                "md5": "28a02753db3e053b12e06fefe973fb91",
                "sha256": "8078b930c11aba3ba14c3c375bba550cce547cda8d4233fba61476d932d6f6f5"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "28a02753db3e053b12e06fefe973fb91",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 121252,
            "upload_time": "2025-10-09T02:32:29",
            "upload_time_iso_8601": "2025-10-09T02:32:29.670221Z",
            "url": "https://files.pythonhosted.org/packages/41/09/4430dd57c24f2f8af0c775d6e5ef6c7166d842debec27593f78def1bea01/xs3d-1.12.2-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "86627b5e2e1781f73d432ed99a47901c608811b87114ae37ed0bae87e82317fb",
                "md5": "d76aee3b4077ff480959b0f23baec5b6",
                "sha256": "17798217db871594884499e89d1616f0c3473496ad2e4eb3ba22c10bd89d9181"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d76aee3b4077ff480959b0f23baec5b6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 133090,
            "upload_time": "2025-10-09T02:32:31",
            "upload_time_iso_8601": "2025-10-09T02:32:31.539625Z",
            "url": "https://files.pythonhosted.org/packages/86/62/7b5e2e1781f73d432ed99a47901c608811b87114ae37ed0bae87e82317fb/xs3d-1.12.2-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7a3e1d36608dfae69a4273a1b8ba7aeffde1e29fd37b69080872817c9f14aa6f",
                "md5": "0605fadc02c83b2fc58db5069e607d41",
                "sha256": "f7263ff4f740bda1383d4f6c645233a357869c4825ed3f0f5e1c6340efa34987"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "0605fadc02c83b2fc58db5069e607d41",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 122236,
            "upload_time": "2025-10-09T02:32:33",
            "upload_time_iso_8601": "2025-10-09T02:32:33.188912Z",
            "url": "https://files.pythonhosted.org/packages/7a/3e/1d36608dfae69a4273a1b8ba7aeffde1e29fd37b69080872817c9f14aa6f/xs3d-1.12.2-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bc6233ff0ef0780681c2ad7a5f34d509b9a769bda2a789ba9d3df27b858c4e59",
                "md5": "df0931782ec8b6ff8e5ef3c99167f54c",
                "sha256": "1bae9a4ccfac6195bec6373e42005414c495a9d9f934b4401c19ff3c5d7131ff"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "df0931782ec8b6ff8e5ef3c99167f54c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 144205,
            "upload_time": "2025-10-09T02:32:34",
            "upload_time_iso_8601": "2025-10-09T02:32:34.063863Z",
            "url": "https://files.pythonhosted.org/packages/bc/62/33ff0ef0780681c2ad7a5f34d509b9a769bda2a789ba9d3df27b858c4e59/xs3d-1.12.2-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eec4a251859d0b12a656cda1e9d08d6eff2751638a68ae773e1c7c6f299291e9",
                "md5": "7adb18d6f8881b812ebfbcccdcc10301",
                "sha256": "c75ea4397fbf4591bc7ece751631a0de7bff16a5203dec13f07d2fc85affd414"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7adb18d6f8881b812ebfbcccdcc10301",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 158783,
            "upload_time": "2025-10-09T02:32:34",
            "upload_time_iso_8601": "2025-10-09T02:32:34.974301Z",
            "url": "https://files.pythonhosted.org/packages/ee/c4/a251859d0b12a656cda1e9d08d6eff2751638a68ae773e1c7c6f299291e9/xs3d-1.12.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "45540ca9ca6103e1da07af98c5fda687716016b22dea7b3376aebda6484340b3",
                "md5": "124d7b0ceda5faa079665c661d0e32b7",
                "sha256": "31c2b060cb63d742cab20431389ca44627f5c4a0ccaaf8ff9093f4c0a754fb87"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "124d7b0ceda5faa079665c661d0e32b7",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 113118,
            "upload_time": "2025-10-09T02:32:37",
            "upload_time_iso_8601": "2025-10-09T02:32:37.010023Z",
            "url": "https://files.pythonhosted.org/packages/45/54/0ca9ca6103e1da07af98c5fda687716016b22dea7b3376aebda6484340b3/xs3d-1.12.2-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4361cbd314f6357a21e939db146008c114af680954b5ea87e0c431d75b9271ed",
                "md5": "28d485f20a0e3cd932b8cd7bae76de84",
                "sha256": "efa2634944c180647ccea76aa035c80b015b3d7fcc295b6590eae7208631ba25"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "28d485f20a0e3cd932b8cd7bae76de84",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 122393,
            "upload_time": "2025-10-09T02:32:35",
            "upload_time_iso_8601": "2025-10-09T02:32:35.846740Z",
            "url": "https://files.pythonhosted.org/packages/43/61/cbd314f6357a21e939db146008c114af680954b5ea87e0c431d75b9271ed/xs3d-1.12.2-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6e4b71110e75a82d711a07deff1a50cfc8cc792022821985acd5bc3b49b7cec2",
                "md5": "0004d6905a888f7069f0c83464fd89a1",
                "sha256": "9e5755e19a2200afbdd5c01db78684c48ed35107ddd047619a42250ddd8fdc51"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.2.tar.gz",
            "has_sig": false,
            "md5_digest": "0004d6905a888f7069f0c83464fd89a1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 41396,
            "upload_time": "2025-10-09T02:32:37",
            "upload_time_iso_8601": "2025-10-09T02:32:37.821976Z",
            "url": "https://files.pythonhosted.org/packages/6e/4b/71110e75a82d711a07deff1a50cfc8cc792022821985acd5bc3b49b7cec2/xs3d-1.12.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-09 02:32:37",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "seung-lab",
    "github_project": "cross-section",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "xs3d"
}
        
Elapsed time: 4.96969s