xs3d


Namexs3d JSON
Version 1.12.0 PyPI version JSON
download
home_pagehttps://github.com/seung-lab/cross-section/
SummaryCompute cross sectional area of 3d shapes.
upload_time2025-07-26 05:46:38
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/c0/f7/d7820be0f82a72336f2b4823cb6b9d2ad71642670a05f2b7d52178973258/xs3d-1.12.0.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.0",
    "project_urls": {
        "Homepage": "https://github.com/seung-lab/cross-section/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c3428f79724bc5c7ba8c449677373d6b1ea8e14181bc65089c1ffffb58ae4ab0",
                "md5": "c441d3071649f9b25a67dee398d0cde2",
                "sha256": "9687d16b04b40ff21c8d9d9a62a7855ad2ac8c10af446c681264677a32189bee"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c441d3071649f9b25a67dee398d0cde2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 132694,
            "upload_time": "2025-07-26T05:45:59",
            "upload_time_iso_8601": "2025-07-26T05:45:59.576675Z",
            "url": "https://files.pythonhosted.org/packages/c3/42/8f79724bc5c7ba8c449677373d6b1ea8e14181bc65089c1ffffb58ae4ab0/xs3d-1.12.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5940d38645d6c60c1baf7b125b09a445c1cdf8295d1fc123c477cf70d9026ed9",
                "md5": "c01802c4f5f23172b4c460ba719709fd",
                "sha256": "3e2d6577b698f7225765678ec794cb4c4fa5dd7146f5221698222042621da7cb"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c01802c4f5f23172b4c460ba719709fd",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 120000,
            "upload_time": "2025-07-26T05:46:01",
            "upload_time_iso_8601": "2025-07-26T05:46:01.021997Z",
            "url": "https://files.pythonhosted.org/packages/59/40/d38645d6c60c1baf7b125b09a445c1cdf8295d1fc123c477cf70d9026ed9/xs3d-1.12.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0eef2feb78b96288df15f9883a41751a91106f0414510bb64934869dc0602ea9",
                "md5": "fa9bc6d33655da37e255beba9aed69c7",
                "sha256": "3fb1175f2648ebd59b8cfbb8beb3e29565845a47f6b4b12e0dc10ba4283bb153"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fa9bc6d33655da37e255beba9aed69c7",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 170113,
            "upload_time": "2025-07-26T05:46:02",
            "upload_time_iso_8601": "2025-07-26T05:46:02.191266Z",
            "url": "https://files.pythonhosted.org/packages/0e/ef/2feb78b96288df15f9883a41751a91106f0414510bb64934869dc0602ea9/xs3d-1.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1dfea5ba6c92164fa4d7c774f89c671fd209d2331bef593a4e45919612ea910b",
                "md5": "bb22844688b308c2b1fe040e82fef6cb",
                "sha256": "e52a2adf73ab90c6e1fdcbe97e44ac46ab8e897535134c3ba5d65fbb155ead10"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "bb22844688b308c2b1fe040e82fef6cb",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 111252,
            "upload_time": "2025-07-26T05:46:04",
            "upload_time_iso_8601": "2025-07-26T05:46:04.322376Z",
            "url": "https://files.pythonhosted.org/packages/1d/fe/a5ba6c92164fa4d7c774f89c671fd209d2331bef593a4e45919612ea910b/xs3d-1.12.0-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a171bf0efd75cc1c2a24934b6bb0642d39318740e32cd8e130ae2c727c12cc02",
                "md5": "bdf0908e4bb355de931ff3e907ee5357",
                "sha256": "be569c0b04519927637d22f916ce3f5fd39a2b3cc42c3eff3eb5b4e37cde8622"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "bdf0908e4bb355de931ff3e907ee5357",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 119265,
            "upload_time": "2025-07-26T05:46:03",
            "upload_time_iso_8601": "2025-07-26T05:46:03.128618Z",
            "url": "https://files.pythonhosted.org/packages/a1/71/bf0efd75cc1c2a24934b6bb0642d39318740e32cd8e130ae2c727c12cc02/xs3d-1.12.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ef969f42fa3d3d55da9789ea7576ab2b73495c2cff35b0734d4506fc1a1edbe8",
                "md5": "a43516e763dcdfb903bf8c8c4cca29e3",
                "sha256": "0c9d5495ee7be271382ec458ad20876bad7281598dc2a24825e5f8260f8789e8"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a43516e763dcdfb903bf8c8c4cca29e3",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 134279,
            "upload_time": "2025-07-26T05:46:05",
            "upload_time_iso_8601": "2025-07-26T05:46:05.070717Z",
            "url": "https://files.pythonhosted.org/packages/ef/96/9f42fa3d3d55da9789ea7576ab2b73495c2cff35b0734d4506fc1a1edbe8/xs3d-1.12.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d95cbe3f806c959337d52dbe2d0ac498fda7656d81b1647b9bcb10b014958907",
                "md5": "7a34b12eadc25db5be7703437e8ee23d",
                "sha256": "86f592e2b33c92baf0f043dec54d21998750efd6367b1155475681317649d2c0"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "7a34b12eadc25db5be7703437e8ee23d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 121404,
            "upload_time": "2025-07-26T05:46:06",
            "upload_time_iso_8601": "2025-07-26T05:46:06.163668Z",
            "url": "https://files.pythonhosted.org/packages/d9/5c/be3f806c959337d52dbe2d0ac498fda7656d81b1647b9bcb10b014958907/xs3d-1.12.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "27006289b2cf72643f3021597e6347a34965b5ce4072d21591cfce39354a1a58",
                "md5": "4c6df8f702c446e25177a49695c9dda3",
                "sha256": "ecd95a125560cb219f2ab978d564f30994fe9f370ed103deb1d2d15e806f8776"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4c6df8f702c446e25177a49695c9dda3",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 171421,
            "upload_time": "2025-07-26T05:46:06",
            "upload_time_iso_8601": "2025-07-26T05:46:06.909176Z",
            "url": "https://files.pythonhosted.org/packages/27/00/6289b2cf72643f3021597e6347a34965b5ce4072d21591cfce39354a1a58/xs3d-1.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fa48d1f8fd09ce9811de596bbf81914571532c541ba20f77129cb372afadd253",
                "md5": "f3855a45cd51798328b34af5595cd433",
                "sha256": "2d4d5cbaa771f0531efa9759acb5288a49fd326bcfd40a8602c0f1122d5f9167"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "f3855a45cd51798328b34af5595cd433",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 112584,
            "upload_time": "2025-07-26T05:46:09",
            "upload_time_iso_8601": "2025-07-26T05:46:09.427111Z",
            "url": "https://files.pythonhosted.org/packages/fa/48/d1f8fd09ce9811de596bbf81914571532c541ba20f77129cb372afadd253/xs3d-1.12.0-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e305b0bb276b43215bf84fe91537dd6fc58871b41505a3a27d2be9bb8c73bcc4",
                "md5": "aa0270408a20589be8bc2728f7fe6ff0",
                "sha256": "fc39cfb131ea6ecd15aa2d036f7ccfc7903e2c417432414a2c8fa7e54f8598e2"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "aa0270408a20589be8bc2728f7fe6ff0",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 120047,
            "upload_time": "2025-07-26T05:46:08",
            "upload_time_iso_8601": "2025-07-26T05:46:08.112393Z",
            "url": "https://files.pythonhosted.org/packages/e3/05/b0bb276b43215bf84fe91537dd6fc58871b41505a3a27d2be9bb8c73bcc4/xs3d-1.12.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0a4655b2cedf1016f83f539c22188b5e76e1aa5571c98def2965b45aa232b3bb",
                "md5": "fcf4a9bebbb694ddb9490fd28abd0d00",
                "sha256": "9a1201dc98df58ef09b1324034ab0754bb83bae544e43855dc1a35301cae5d91"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp312-cp312-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fcf4a9bebbb694ddb9490fd28abd0d00",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 134405,
            "upload_time": "2025-07-26T05:46:10",
            "upload_time_iso_8601": "2025-07-26T05:46:10.684951Z",
            "url": "https://files.pythonhosted.org/packages/0a/46/55b2cedf1016f83f539c22188b5e76e1aa5571c98def2965b45aa232b3bb/xs3d-1.12.0-cp312-cp312-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f797f23bbae18ba6cb948225299d0c04bfef3be03492bc27cf31a4ea0cab6ff0",
                "md5": "ab2d49b2a69079bd73f913260b2e8eaf",
                "sha256": "f6a14899bde5e0e5e9ce15fdd4d22e1abe7effeac1c2285b4ffcaaaa17c72e55"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ab2d49b2a69079bd73f913260b2e8eaf",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 122430,
            "upload_time": "2025-07-26T05:46:11",
            "upload_time_iso_8601": "2025-07-26T05:46:11.760229Z",
            "url": "https://files.pythonhosted.org/packages/f7/97/f23bbae18ba6cb948225299d0c04bfef3be03492bc27cf31a4ea0cab6ff0/xs3d-1.12.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c9385a1f40653ef40858ac6e3c2996233930425ace91d7d5fc96ec06ecc951dc",
                "md5": "99eacf050a9c684502c19429a102e29e",
                "sha256": "838a51911b2bf9c4408fb6aa20b8ffeabe61a8d72cd95a1a2d97675e8b698747"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "99eacf050a9c684502c19429a102e29e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 172722,
            "upload_time": "2025-07-26T05:46:12",
            "upload_time_iso_8601": "2025-07-26T05:46:12.626445Z",
            "url": "https://files.pythonhosted.org/packages/c9/38/5a1f40653ef40858ac6e3c2996233930425ace91d7d5fc96ec06ecc951dc/xs3d-1.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "15eea7baeb342c184bf5ad83fb97ec2e7f40c05c43308ddea9da32bd9ee43b0d",
                "md5": "0709b0ac260a4aaaf980803c245bb7b1",
                "sha256": "499591e8c3721b38154ac94b8388dfe1d6731fa40c22a3cd1e28b88f352e981d"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp312-cp312-win32.whl",
            "has_sig": false,
            "md5_digest": "0709b0ac260a4aaaf980803c245bb7b1",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 112628,
            "upload_time": "2025-07-26T05:46:15",
            "upload_time_iso_8601": "2025-07-26T05:46:15.181802Z",
            "url": "https://files.pythonhosted.org/packages/15/ee/a7baeb342c184bf5ad83fb97ec2e7f40c05c43308ddea9da32bd9ee43b0d/xs3d-1.12.0-cp312-cp312-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8a0fb9523d6984d0dd90f985625798baaceec7b94de73646cd82f04e2f2b11eb",
                "md5": "9d0a4b5eb76a465289bd720c61d79845",
                "sha256": "2b7780b04d19096a5eddc5abf47419d3f0fed724769dddbdb09e3a4cfa9b350b"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "9d0a4b5eb76a465289bd720c61d79845",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 120183,
            "upload_time": "2025-07-26T05:46:13",
            "upload_time_iso_8601": "2025-07-26T05:46:13.860689Z",
            "url": "https://files.pythonhosted.org/packages/8a/0f/b9523d6984d0dd90f985625798baaceec7b94de73646cd82f04e2f2b11eb/xs3d-1.12.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7991469e6a0bad59a27b04723180d50b1e1061368b98c6d204455d0fcc1632f9",
                "md5": "8804b525c3511e474613016773b0169d",
                "sha256": "11116e638c32785215f9c4ca011218f2ac3ff55c3b8805fcef60cd757b65a7d8"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp313-cp313-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8804b525c3511e474613016773b0169d",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 134425,
            "upload_time": "2025-07-26T05:46:16",
            "upload_time_iso_8601": "2025-07-26T05:46:16.000917Z",
            "url": "https://files.pythonhosted.org/packages/79/91/469e6a0bad59a27b04723180d50b1e1061368b98c6d204455d0fcc1632f9/xs3d-1.12.0-cp313-cp313-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "47cf5f52999453d6be6d664a82a4518ae291c68a20c5e0d4a48f06589879349d",
                "md5": "43b66651a07df2df472a49ef351914b4",
                "sha256": "00c8d87e68747a0be53df03fcd0f413ddff447c22d171df3597c21cdf0cf50df"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "43b66651a07df2df472a49ef351914b4",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 122478,
            "upload_time": "2025-07-26T05:46:17",
            "upload_time_iso_8601": "2025-07-26T05:46:17.021430Z",
            "url": "https://files.pythonhosted.org/packages/47/cf/5f52999453d6be6d664a82a4518ae291c68a20c5e0d4a48f06589879349d/xs3d-1.12.0-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "02934a572374ffd0280bb9d1e760621bcf71c008a46d0ee29d47f311921be26b",
                "md5": "f97dc4459e8ea61a8f744ac69ae22071",
                "sha256": "f99edf2ab24e8f56079cc4ca79f93fcd23d046fb174943bfe6137a2281e2fbd3"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f97dc4459e8ea61a8f744ac69ae22071",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 172541,
            "upload_time": "2025-07-26T05:46:17",
            "upload_time_iso_8601": "2025-07-26T05:46:17.836541Z",
            "url": "https://files.pythonhosted.org/packages/02/93/4a572374ffd0280bb9d1e760621bcf71c008a46d0ee29d47f311921be26b/xs3d-1.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "133ce343989f280fca6721b2604b3d461ec05bb3e3706b5ea52a3bfb09461be4",
                "md5": "4ae9ae8046034655a078ca7acc841bdc",
                "sha256": "c4bd6d2fa80883a63324f38ebc568b6a690cb784978ebcb7fca15b7efcd78bbe"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp313-cp313-win32.whl",
            "has_sig": false,
            "md5_digest": "4ae9ae8046034655a078ca7acc841bdc",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 112625,
            "upload_time": "2025-07-26T05:46:19",
            "upload_time_iso_8601": "2025-07-26T05:46:19.469301Z",
            "url": "https://files.pythonhosted.org/packages/13/3c/e343989f280fca6721b2604b3d461ec05bb3e3706b5ea52a3bfb09461be4/xs3d-1.12.0-cp313-cp313-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "58e8175d17a43bdfe666b733fc626bbb8e944fbfef0bdfda84c36bdc5eeddaaf",
                "md5": "fd8058ced5748ab3b0896b18e47bb1e5",
                "sha256": "351a4e15a390407eab8fdcc65e0a5b894580275db5941f21c3f64568a465d019"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "fd8058ced5748ab3b0896b18e47bb1e5",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": null,
            "size": 120201,
            "upload_time": "2025-07-26T05:46:18",
            "upload_time_iso_8601": "2025-07-26T05:46:18.720029Z",
            "url": "https://files.pythonhosted.org/packages/58/e8/175d17a43bdfe666b733fc626bbb8e944fbfef0bdfda84c36bdc5eeddaaf/xs3d-1.12.0-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e77e6d95da4f97c49888f760f7323745f0679af35644643385ce119b37e6c853",
                "md5": "9232c9eac1c6d10c7eeb0511f4df19bc",
                "sha256": "45462e60544c6d7588df7a60cea4c242fc4a4382e43d97010beefa54176d0445"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp36-cp36m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9232c9eac1c6d10c7eeb0511f4df19bc",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 123684,
            "upload_time": "2025-07-26T05:46:20",
            "upload_time_iso_8601": "2025-07-26T05:46:20.297868Z",
            "url": "https://files.pythonhosted.org/packages/e7/7e/6d95da4f97c49888f760f7323745f0679af35644643385ce119b37e6c853/xs3d-1.12.0-cp36-cp36m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "27cbaa01f7999c9af8df974363287dbe33da4c6072c2554eb90ff004fe9c8cd4",
                "md5": "6bab6c0a40100033a67a446bf8123fba",
                "sha256": "6bf2080d6e1a4a4817dedabab8c63f47ed985376c48920c1960d017f579ddef7"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6bab6c0a40100033a67a446bf8123fba",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 166572,
            "upload_time": "2025-07-26T05:46:21",
            "upload_time_iso_8601": "2025-07-26T05:46:21.073848Z",
            "url": "https://files.pythonhosted.org/packages/27/cb/aa01f7999c9af8df974363287dbe33da4c6072c2554eb90ff004fe9c8cd4/xs3d-1.12.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "84c4fb88ead3db86ef51a56f32e60a7cdd2b15b55f8e7a70294951dc8a6fd925",
                "md5": "497e6b3d1e66f5101ad5787174b02fb9",
                "sha256": "7eb9572373abfc8b662affb653c3abb9cb2dd2571ebd79dec7b3ba8eeb525f99"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp36-cp36m-win32.whl",
            "has_sig": false,
            "md5_digest": "497e6b3d1e66f5101ad5787174b02fb9",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 107653,
            "upload_time": "2025-07-26T05:46:22",
            "upload_time_iso_8601": "2025-07-26T05:46:22.961030Z",
            "url": "https://files.pythonhosted.org/packages/84/c4/fb88ead3db86ef51a56f32e60a7cdd2b15b55f8e7a70294951dc8a6fd925/xs3d-1.12.0-cp36-cp36m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f1c04ded77281eff7584b8a059200ee70d3465425b4a8bcf54e5bf6845d64b3e",
                "md5": "02ad5030b3f467498f6f5e2426510fa6",
                "sha256": "157632c86a5676bd4cb48d20e482e0730613bf3c99cc06129c59766016ad4020"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp36-cp36m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "02ad5030b3f467498f6f5e2426510fa6",
            "packagetype": "bdist_wheel",
            "python_version": "cp36",
            "requires_python": null,
            "size": 115194,
            "upload_time": "2025-07-26T05:46:21",
            "upload_time_iso_8601": "2025-07-26T05:46:21.912769Z",
            "url": "https://files.pythonhosted.org/packages/f1/c0/4ded77281eff7584b8a059200ee70d3465425b4a8bcf54e5bf6845d64b3e/xs3d-1.12.0-cp36-cp36m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "06a08b5833695cdadb63541e467ccbc446e16a429b14a18098e6c7125f11a982",
                "md5": "e62ad4647b477f2ccf793b8960f2c5fd",
                "sha256": "e63a4b342ec63225a9521f9a76ebd266d9c1486d08a2acec3c79e916df2481d3"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp37-cp37m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e62ad4647b477f2ccf793b8960f2c5fd",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 124157,
            "upload_time": "2025-07-26T05:46:23",
            "upload_time_iso_8601": "2025-07-26T05:46:23.784141Z",
            "url": "https://files.pythonhosted.org/packages/06/a0/8b5833695cdadb63541e467ccbc446e16a429b14a18098e6c7125f11a982/xs3d-1.12.0-cp37-cp37m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e28a3314eb568f73ffc98695775401dc8badfd7774577ebd152d866bd223bde6",
                "md5": "266ca5bce6acbfef28a80de053d595e4",
                "sha256": "46759e950f56b08ae431ec9236b5710219524911cab548e43722a39963ec4393"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "266ca5bce6acbfef28a80de053d595e4",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 166841,
            "upload_time": "2025-07-26T05:46:25",
            "upload_time_iso_8601": "2025-07-26T05:46:25.644118Z",
            "url": "https://files.pythonhosted.org/packages/e2/8a/3314eb568f73ffc98695775401dc8badfd7774577ebd152d866bd223bde6/xs3d-1.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a1080c56d91f06f303ec4bbf421816c56109e61562627c974cbe131e451b2c52",
                "md5": "0a40f3ab86bc78b4f076eac4e1c34598",
                "sha256": "2b573f58823cc49923a163fb1ca2c7ba7137a1321286efa26b3bf7a159c9c2d1"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "0a40f3ab86bc78b4f076eac4e1c34598",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 107950,
            "upload_time": "2025-07-26T05:46:27",
            "upload_time_iso_8601": "2025-07-26T05:46:27.262920Z",
            "url": "https://files.pythonhosted.org/packages/a1/08/0c56d91f06f303ec4bbf421816c56109e61562627c974cbe131e451b2c52/xs3d-1.12.0-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7267b6b49c0617681d4f616d52d6086c9620eb6ff9fee350f2127badb48b5f99",
                "md5": "38f00a2cfaf41839a397fc494302fa11",
                "sha256": "89d0f1c80bd9507c5abacafd8c64767864406a82442629bc3231bb4d41263039"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "38f00a2cfaf41839a397fc494302fa11",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 115340,
            "upload_time": "2025-07-26T05:46:26",
            "upload_time_iso_8601": "2025-07-26T05:46:26.413135Z",
            "url": "https://files.pythonhosted.org/packages/72/67/b6b49c0617681d4f616d52d6086c9620eb6ff9fee350f2127badb48b5f99/xs3d-1.12.0-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "19cb451591bc35f3ccbf2b5d1918303bcc93ed05e0c97179478953c408157a0e",
                "md5": "2ed4965841cbe16048a47f4053663993",
                "sha256": "3c361236d031d0133edd608108972fe94f4dc8fa5349eabf18652c7aefe765fc"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2ed4965841cbe16048a47f4053663993",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 132340,
            "upload_time": "2025-07-26T05:46:28",
            "upload_time_iso_8601": "2025-07-26T05:46:28.086073Z",
            "url": "https://files.pythonhosted.org/packages/19/cb/451591bc35f3ccbf2b5d1918303bcc93ed05e0c97179478953c408157a0e/xs3d-1.12.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f5819de0fe8aa861fb2868b63bef844b914a44ef9887cf6dfadd0f2ce9e7df78",
                "md5": "9c919a1d1d30a4ab34bb169cd5445c7b",
                "sha256": "ce2f902de8644b906893377a5d1884b44235f031d17bc9638a280dbdf32d0f38"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "9c919a1d1d30a4ab34bb169cd5445c7b",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 119675,
            "upload_time": "2025-07-26T05:46:29",
            "upload_time_iso_8601": "2025-07-26T05:46:29.315013Z",
            "url": "https://files.pythonhosted.org/packages/f5/81/9de0fe8aa861fb2868b63bef844b914a44ef9887cf6dfadd0f2ce9e7df78/xs3d-1.12.0-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "08747930f2a1c1cfa4ae93107cac6513d48f4d82c1d02c914500cd823d014aa3",
                "md5": "76f0bc0ba02bfe51f96f679965e0693d",
                "sha256": "e0c5ba00384cd8312ffb8a2b357c756bc4cbddf3671d6520fb34d3667a977697"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "76f0bc0ba02bfe51f96f679965e0693d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 169848,
            "upload_time": "2025-07-26T05:46:30",
            "upload_time_iso_8601": "2025-07-26T05:46:30.553687Z",
            "url": "https://files.pythonhosted.org/packages/08/74/7930f2a1c1cfa4ae93107cac6513d48f4d82c1d02c914500cd823d014aa3/xs3d-1.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "078c4e2d641d94f7fdb7d58e51671f1011ef4cf1bb46ac8dda38731f3fe05c8c",
                "md5": "591399892cc44f0c0238ea002fe21c73",
                "sha256": "6d6a66cc20ed967d7d356c627fddc09dc07326b6e34a6d9e6bdb1da05a9679c9"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "591399892cc44f0c0238ea002fe21c73",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 111310,
            "upload_time": "2025-07-26T05:46:32",
            "upload_time_iso_8601": "2025-07-26T05:46:32.793515Z",
            "url": "https://files.pythonhosted.org/packages/07/8c/4e2d641d94f7fdb7d58e51671f1011ef4cf1bb46ac8dda38731f3fe05c8c/xs3d-1.12.0-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0704f879a11586cb48191825f53252430adb3e219213ada9393f099665e1f6d6",
                "md5": "9fcfdd3f0bed911c4d1424821cf5f7fa",
                "sha256": "3398cdb4efe57d9a639cbb2db35a25edebfd09ff232848113a99a2b69bfaa17f"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "9fcfdd3f0bed911c4d1424821cf5f7fa",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 119190,
            "upload_time": "2025-07-26T05:46:31",
            "upload_time_iso_8601": "2025-07-26T05:46:31.768695Z",
            "url": "https://files.pythonhosted.org/packages/07/04/f879a11586cb48191825f53252430adb3e219213ada9393f099665e1f6d6/xs3d-1.12.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ec7d58d126a8b65a2003ee8daa9e93fd801077d3659f8ad65aefa4234d28b57c",
                "md5": "a3493d7790a55e08cbcf8e17774d8f18",
                "sha256": "0d1afd175fab66688b742363f069db43b8d77742bfb8b163fe5527e78fe009a2"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a3493d7790a55e08cbcf8e17774d8f18",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 132790,
            "upload_time": "2025-07-26T05:46:33",
            "upload_time_iso_8601": "2025-07-26T05:46:33.611188Z",
            "url": "https://files.pythonhosted.org/packages/ec/7d/58d126a8b65a2003ee8daa9e93fd801077d3659f8ad65aefa4234d28b57c/xs3d-1.12.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "281938635a7c62f39c52eea9924f5a35ea12968305a24b62417a4c21771d257d",
                "md5": "28c8e86ea7c84e2a1913abc09543d0c3",
                "sha256": "092e3f148aacc3efd4a520b2140f958142e66a601d3fec61c9d51d207d113f27"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "28c8e86ea7c84e2a1913abc09543d0c3",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 120098,
            "upload_time": "2025-07-26T05:46:34",
            "upload_time_iso_8601": "2025-07-26T05:46:34.547197Z",
            "url": "https://files.pythonhosted.org/packages/28/19/38635a7c62f39c52eea9924f5a35ea12968305a24b62417a4c21771d257d/xs3d-1.12.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8af8c3e9fe6ecf8bc468647f9a896c0ae72650ca6309f5dc3697b5a88be1ad97",
                "md5": "a04ac476d5311477804645dba42fce80",
                "sha256": "e6234da545624d4617f73950decd389cfa3adeeedb166292736364bb2becdfcf"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a04ac476d5311477804645dba42fce80",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 170380,
            "upload_time": "2025-07-26T05:46:35",
            "upload_time_iso_8601": "2025-07-26T05:46:35.683199Z",
            "url": "https://files.pythonhosted.org/packages/8a/f8/c3e9fe6ecf8bc468647f9a896c0ae72650ca6309f5dc3697b5a88be1ad97/xs3d-1.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a8a160c68a30dee133c4af3361b770dbb295e4db7194f3caf6d2e0ff0349362d",
                "md5": "36f8f39d730321bd73ca534cbed3ce1e",
                "sha256": "88fe8854ac7fdf64854db5abe3290c58e74c243ede17f72f92f4686b00fd68b2"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "36f8f39d730321bd73ca534cbed3ce1e",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 111384,
            "upload_time": "2025-07-26T05:46:37",
            "upload_time_iso_8601": "2025-07-26T05:46:37.669772Z",
            "url": "https://files.pythonhosted.org/packages/a8/a1/60c68a30dee133c4af3361b770dbb295e4db7194f3caf6d2e0ff0349362d/xs3d-1.12.0-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "29559e4672c841a92bf9b040e88cfbde8f8155d5e7a0761882158a2dab4a045a",
                "md5": "64d16dc738d2bae27d04f105347818dc",
                "sha256": "e787d19f4d47d0d4458e6bbf868ac89db89dd6e60247370cb3903f232d6b29da"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "64d16dc738d2bae27d04f105347818dc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 120236,
            "upload_time": "2025-07-26T05:46:36",
            "upload_time_iso_8601": "2025-07-26T05:46:36.858356Z",
            "url": "https://files.pythonhosted.org/packages/29/55/9e4672c841a92bf9b040e88cfbde8f8155d5e7a0761882158a2dab4a045a/xs3d-1.12.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c0f7d7820be0f82a72336f2b4823cb6b9d2ad71642670a05f2b7d52178973258",
                "md5": "6c36cb2e39f896fbdd80bd158612514b",
                "sha256": "8fa1e981252498d58806d7b398626939c1399a41d2bcdcc145ab17a58a20d0c9"
            },
            "downloads": -1,
            "filename": "xs3d-1.12.0.tar.gz",
            "has_sig": false,
            "md5_digest": "6c36cb2e39f896fbdd80bd158612514b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 41022,
            "upload_time": "2025-07-26T05:46:38",
            "upload_time_iso_8601": "2025-07-26T05:46:38.525434Z",
            "url": "https://files.pythonhosted.org/packages/c0/f7/d7820be0f82a72336f2b4823cb6b9d2ad71642670a05f2b7d52178973258/xs3d-1.12.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-26 05:46:38",
    "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: 0.88184s