zmesh


Namezmesh JSON
Version 1.7.1 PyPI version JSON
download
home_pagehttps://github.com/seung-lab/zmesh/
SummaryMultilabel marching cubes and simplification of volumetric data.
upload_time2023-11-02 19:14:09
maintainer
docs_urlNone
authorWilliam Silversmith (maintainer), Aleks Zlateski (original author)
requires_python>=3.7
licenseGPLv3+
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ## zmesh: Multi-Label Marching Cubes & Mesh Simplification
[![Tests](https://github.com/seung-lab/zmesh/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/seung-lab/zmesh/actions/workflows/test.yml) [![PyPI version](https://badge.fury.io/py/zmesh.svg)](https://badge.fury.io/py/zmesh)  

```python
from zmesh import Mesher

labels = ... # some dense volumetric labeled image
mesher = Mesher( (4,4,40) ) # anisotropy of image

# initial marching cubes pass
# close controls whether meshes touching
# the image boundary are left open or closed
mesher.mesh(labels, close=False) 

meshes = []
for obj_id in mesher.ids():
  meshes.append(
    mesher.get(
      obj_id, 
      normals=False, # whether to calculate normals or not

      # tries to reduce triangles by this factor
      # 0 disables simplification
      reduction_factor=100, 

      # Max tolerable error in physical distance
      # note: if max_error is not set, the max error
      # will be set equivalent to one voxel along the 
      # smallest dimension.
      max_error=8,
      # whether meshes should be centered in the voxel
      # on (0,0,0) [False] or (0.5,0.5,0.5) [True]
      voxel_centered=False, 
    )
  )
  mesher.erase(obj_id) # delete high res mesh

mesher.clear() # clear memory retained by mesher

mesh = meshes[0]
mesh = mesher.simplify(
  mesh, 
  # same as reduction_factor in get
  reduction_factor=100, 
  # same as max_error in get
  max_error=40, 
  compute_normals=False, # whether to also compute face normals
) # apply simplifier to a pre-existing mesh

# compute normals without simplifying
mesh = mesher.compute_normals(mesh) 

mesh.vertices
mesh.faces 
mesh.normals
mesh.triangles() # compute triangles from vertices and faces

# Extremely common obj format
with open('iconic_doge.obj', 'wb') as f:
  f.write(mesh.to_obj())

# Common binary format
with open('iconic_doge.ply', 'wb') as f:
  f.write(mesh.to_ply())

# Neuroglancer Precomputed format
with open('10001001:0', 'wb') as f:
  f.write(mesh.to_precomputed())
```

Note: As of the latest version, `mesher.get_mesh` has been deprecated in favor of `mesher.get` which fixes a long standing bug where you needed to transpose your data in order to get a mesh in the correct orientation.

## Installation 

If binaries are not available for your system, ensure you have a C++ compiler installed.

```bash
pip install zmesh
```

## Performance Tuning & Notes

- The mesher will consume about double memory in 64 bit mode if the size of the 
object exceeds <1023, 1023, 511> on the x, y, or z axes. This is due to a limitation 
of the 32-bit format. 
- The mesher is ambidextrous, it can handle C or Fortran order arrays.
- The maximum vertex range supported `.simplify` after converting to voxel space is 2<sup>20</sup> (appx. 1M) due to the packed 64-bit vertex format.

## Related Projects 

- [zi_lib](https://github.com/zlateski/zi_lib) - zmesh makes heavy use of Aleks' C++ library.
- [Igneous](https://github.com/seung-lab/igneous) - Visualization of connectomics data using cloud computing.

## Credits

Thanks to Aleks Zlateski for creating and sharing this beautiful mesher.  

Later changes by Will Silversmith, Nico Kemnitz, and Jingpeng Wu. 

## References  

1. W. Lorensen and H. Cline. "Marching Cubes: A High Resolution 3D Surface Construction Algorithm". pp 163-169. Computer Graphics, Volume 21, Number 4, July 1987. ([link](https://people.eecs.berkeley.edu/~jrs/meshpapers/LorensenCline.pdf))  
2. M. Garland and P. Heckbert. "Surface simplification using quadric error metrics". SIGGRAPH '97: Proceedings of the 24th annual conference on Computer graphics and interactive techniques. Pages 209–216. August 1997. doi: 10.1145/258734.258849 ([link](https://mgarland.org/files/papers/quadrics.pdf))  
3. H. Hoppe. "New Quadric Metric for Simplifying Meshes with Appearance Attributes". IEEE Visualization 1999 Conference. pp. 59-66. doi: 10.1109/VISUAL.1999.809869 ([link](http://hhoppe.com/newqem.pdf))


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/seung-lab/zmesh/",
    "name": "zmesh",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "",
    "author": "William Silversmith (maintainer), Aleks Zlateski (original author)",
    "author_email": "ws9@princeton.edu",
    "download_url": "https://files.pythonhosted.org/packages/bb/6c/ba925df300b9c118c3f63f332de58e28eb7a07bd761591c0bdd358b78d75/zmesh-1.7.1.tar.gz",
    "platform": null,
    "description": "## zmesh: Multi-Label Marching Cubes &amp; Mesh Simplification\n[![Tests](https://github.com/seung-lab/zmesh/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/seung-lab/zmesh/actions/workflows/test.yml) [![PyPI version](https://badge.fury.io/py/zmesh.svg)](https://badge.fury.io/py/zmesh)  \n\n```python\nfrom zmesh import Mesher\n\nlabels = ... # some dense volumetric labeled image\nmesher = Mesher( (4,4,40) ) # anisotropy of image\n\n# initial marching cubes pass\n# close controls whether meshes touching\n# the image boundary are left open or closed\nmesher.mesh(labels, close=False) \n\nmeshes = []\nfor obj_id in mesher.ids():\n  meshes.append(\n    mesher.get(\n      obj_id, \n      normals=False, # whether to calculate normals or not\n\n      # tries to reduce triangles by this factor\n      # 0 disables simplification\n      reduction_factor=100, \n\n      # Max tolerable error in physical distance\n      # note: if max_error is not set, the max error\n      # will be set equivalent to one voxel along the \n      # smallest dimension.\n      max_error=8,\n      # whether meshes should be centered in the voxel\n      # on (0,0,0) [False] or (0.5,0.5,0.5) [True]\n      voxel_centered=False, \n    )\n  )\n  mesher.erase(obj_id) # delete high res mesh\n\nmesher.clear() # clear memory retained by mesher\n\nmesh = meshes[0]\nmesh = mesher.simplify(\n  mesh, \n  # same as reduction_factor in get\n  reduction_factor=100, \n  # same as max_error in get\n  max_error=40, \n  compute_normals=False, # whether to also compute face normals\n) # apply simplifier to a pre-existing mesh\n\n# compute normals without simplifying\nmesh = mesher.compute_normals(mesh) \n\nmesh.vertices\nmesh.faces \nmesh.normals\nmesh.triangles() # compute triangles from vertices and faces\n\n# Extremely common obj format\nwith open('iconic_doge.obj', 'wb') as f:\n  f.write(mesh.to_obj())\n\n# Common binary format\nwith open('iconic_doge.ply', 'wb') as f:\n  f.write(mesh.to_ply())\n\n# Neuroglancer Precomputed format\nwith open('10001001:0', 'wb') as f:\n  f.write(mesh.to_precomputed())\n```\n\nNote: As of the latest version, `mesher.get_mesh` has been deprecated in favor of `mesher.get` which fixes a long standing bug where you needed to transpose your data in order to get a mesh in the correct orientation.\n\n## Installation \n\nIf binaries are not available for your system, ensure you have a C++ compiler installed.\n\n```bash\npip install zmesh\n```\n\n## Performance Tuning & Notes\n\n- The mesher will consume about double memory in 64 bit mode if the size of the \nobject exceeds <1023, 1023, 511> on the x, y, or z axes. This is due to a limitation \nof the 32-bit format. \n- The mesher is ambidextrous, it can handle C or Fortran order arrays.\n- The maximum vertex range supported `.simplify` after converting to voxel space is 2<sup>20</sup> (appx. 1M) due to the packed 64-bit vertex format.\n\n## Related Projects \n\n- [zi_lib](https://github.com/zlateski/zi_lib) - zmesh makes heavy use of Aleks' C++ library.\n- [Igneous](https://github.com/seung-lab/igneous) - Visualization of connectomics data using cloud computing.\n\n## Credits\n\nThanks to Aleks Zlateski for creating and sharing this beautiful mesher.  \n\nLater changes by Will Silversmith, Nico Kemnitz, and Jingpeng Wu. \n\n## References  \n\n1. W. Lorensen and H. Cline. \"Marching Cubes: A High Resolution 3D Surface Construction Algorithm\". pp 163-169. Computer Graphics, Volume 21, Number 4, July 1987. ([link](https://people.eecs.berkeley.edu/~jrs/meshpapers/LorensenCline.pdf))  \n2. M. Garland and P. Heckbert. \"Surface simplification using quadric error metrics\". SIGGRAPH '97: Proceedings of the 24th annual conference on Computer graphics and interactive techniques. Pages 209\u2013216. August 1997. doi: 10.1145/258734.258849 ([link](https://mgarland.org/files/papers/quadrics.pdf))  \n3. H. Hoppe. \"New Quadric Metric for Simplifying Meshes with Appearance Attributes\". IEEE Visualization 1999 Conference. pp. 59-66. doi: 10.1109/VISUAL.1999.809869 ([link](http://hhoppe.com/newqem.pdf))\n\n",
    "bugtrack_url": null,
    "license": "GPLv3+",
    "summary": "Multilabel marching cubes and simplification of volumetric data.",
    "version": "1.7.1",
    "project_urls": {
        "Homepage": "https://github.com/seung-lab/zmesh/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f9ce973f5378126653e33c852529f7993a62a7d8e39018483f36e1bbb98ad2e8",
                "md5": "8132d299686b3843f2cb6276a99b0df1",
                "sha256": "f2c10e299b01d00fcf4e2dd28e06736db5725048d192594341424c2cfafd8752"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp310-cp310-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "8132d299686b3843f2cb6276a99b0df1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 361632,
            "upload_time": "2023-11-02T19:13:27",
            "upload_time_iso_8601": "2023-11-02T19:13:27.929685Z",
            "url": "https://files.pythonhosted.org/packages/f9/ce/973f5378126653e33c852529f7993a62a7d8e39018483f36e1bbb98ad2e8/zmesh-1.7.1-cp310-cp310-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "39d44e51b1badbc89fe2285df95ec556780f80a637f53c6e96dc98ce2a0fe56a",
                "md5": "3e8b3496abab6f8604d767b0b5f02e03",
                "sha256": "350d31661ac5dc894fa1f968293b106ff4f9cf6627c5725ce9e9291150a6f1fc"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3e8b3496abab6f8604d767b0b5f02e03",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 188577,
            "upload_time": "2023-11-02T19:13:30",
            "upload_time_iso_8601": "2023-11-02T19:13:30.279168Z",
            "url": "https://files.pythonhosted.org/packages/39/d4/4e51b1badbc89fe2285df95ec556780f80a637f53c6e96dc98ce2a0fe56a/zmesh-1.7.1-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "918d1fa8c10af61246840ec2d6f96305ce8b36b44b76c1ed5aa6d4ac52831a57",
                "md5": "071aef49cb3625054f0d1df98c9e3314",
                "sha256": "01cddac99995a7385afdcd2ce805910484ccb0b5a938583a44e5c4a1bba04104"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "071aef49cb3625054f0d1df98c9e3314",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 1699704,
            "upload_time": "2023-11-02T19:13:32",
            "upload_time_iso_8601": "2023-11-02T19:13:32.735460Z",
            "url": "https://files.pythonhosted.org/packages/91/8d/1fa8c10af61246840ec2d6f96305ce8b36b44b76c1ed5aa6d4ac52831a57/zmesh-1.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "70e3f1ec0023d2f2280c4da38704f0132eaf0edb8ced9aa111bddf9dae77c4eb",
                "md5": "aca97631e92ff150b82fae78117dcbc8",
                "sha256": "3cd3acf68d9914d82d7e13fed0a87416417ce667196364f5bc887fda1c7fd9fc"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "aca97631e92ff150b82fae78117dcbc8",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.7",
            "size": 135939,
            "upload_time": "2023-11-02T19:13:34",
            "upload_time_iso_8601": "2023-11-02T19:13:34.804181Z",
            "url": "https://files.pythonhosted.org/packages/70/e3/f1ec0023d2f2280c4da38704f0132eaf0edb8ced9aa111bddf9dae77c4eb/zmesh-1.7.1-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d9511a22e9c5696095c37a3390e1e9752e296d20fa95d41eb7dca043766665ba",
                "md5": "e9e43a2e6064223123aa7db8a47f9b56",
                "sha256": "c7a5104c9dd0a1ab1491abf392b6fa90ad6e766422292a84ecbe237c7b6f5178"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp311-cp311-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "e9e43a2e6064223123aa7db8a47f9b56",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 364482,
            "upload_time": "2023-11-02T19:13:36",
            "upload_time_iso_8601": "2023-11-02T19:13:36.543534Z",
            "url": "https://files.pythonhosted.org/packages/d9/51/1a22e9c5696095c37a3390e1e9752e296d20fa95d41eb7dca043766665ba/zmesh-1.7.1-cp311-cp311-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "336c3876779187c05850d101843eaf1141b01f9aaab42442d630417d459f7b2f",
                "md5": "eda81f46bc5054d163ff279324a2b018",
                "sha256": "df83fdc74ea98137d683e005fd4b9250dc964f8dbdcbbc2dec28bf28e11b0e24"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "eda81f46bc5054d163ff279324a2b018",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 186209,
            "upload_time": "2023-11-02T19:13:38",
            "upload_time_iso_8601": "2023-11-02T19:13:38.057860Z",
            "url": "https://files.pythonhosted.org/packages/33/6c/3876779187c05850d101843eaf1141b01f9aaab42442d630417d459f7b2f/zmesh-1.7.1-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ff0afb5cbeb2c71c010b4e33692ffae2c778f59a9711d9a89a33f5f91e1d1ac",
                "md5": "194f7039d2da7ed156f5d6bc783de52c",
                "sha256": "556583003d8ff14216e5ebd5edb01fab14c0436cb4c6bf0abbe3836ad947157b"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "194f7039d2da7ed156f5d6bc783de52c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 1726511,
            "upload_time": "2023-11-02T19:13:40",
            "upload_time_iso_8601": "2023-11-02T19:13:40.031470Z",
            "url": "https://files.pythonhosted.org/packages/4f/f0/afb5cbeb2c71c010b4e33692ffae2c778f59a9711d9a89a33f5f91e1d1ac/zmesh-1.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "09f8f2dc185df573d7f213492f26618903c8b6a888853e7382d9863902f24234",
                "md5": "898cbe21f070b644ec37a56056ee468e",
                "sha256": "9590c68c6803cd7edd0823222c7766a79048a58836fe2feeb5fad80722f33302"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "898cbe21f070b644ec37a56056ee468e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.7",
            "size": 135552,
            "upload_time": "2023-11-02T19:13:41",
            "upload_time_iso_8601": "2023-11-02T19:13:41.525878Z",
            "url": "https://files.pythonhosted.org/packages/09/f8/f2dc185df573d7f213492f26618903c8b6a888853e7382d9863902f24234/zmesh-1.7.1-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "49226ec4da864e20e9688fec9313bfd0d1a93b9271c78f286ee8349cf95cd134",
                "md5": "babb7a0a079eb82c797cb735c973f73f",
                "sha256": "bf4710e0e2664c2d91b19b0ebc00654f4bc2b334a8f135292311050b7014daa3"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp312-cp312-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "babb7a0a079eb82c797cb735c973f73f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 360695,
            "upload_time": "2023-11-02T19:13:43",
            "upload_time_iso_8601": "2023-11-02T19:13:43.067459Z",
            "url": "https://files.pythonhosted.org/packages/49/22/6ec4da864e20e9688fec9313bfd0d1a93b9271c78f286ee8349cf95cd134/zmesh-1.7.1-cp312-cp312-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8dbc0c9e15cc8f1d8fa621ca064defa5ea56ef9c01bf75d787c010f771a1438c",
                "md5": "143459348278df4a8604dc469471d912",
                "sha256": "1988c05061470bb0b3caa0e720723877a8648e0615019b51c5f7d1811a37fa2f"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "143459348278df4a8604dc469471d912",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 181053,
            "upload_time": "2023-11-02T19:13:44",
            "upload_time_iso_8601": "2023-11-02T19:13:44.657223Z",
            "url": "https://files.pythonhosted.org/packages/8d/bc/0c9e15cc8f1d8fa621ca064defa5ea56ef9c01bf75d787c010f771a1438c/zmesh-1.7.1-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3137ee7410387a8f9ecac69682784d4b16963c273df93b96223db5f1adb2ecc6",
                "md5": "314b3df1c6b6ec2d3c3659aa19131721",
                "sha256": "ea86be2ed135e7ebcfa2bcbcc4aae069effc047410ea9e8327755a846b0a4517"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "314b3df1c6b6ec2d3c3659aa19131721",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 1708030,
            "upload_time": "2023-11-02T19:13:46",
            "upload_time_iso_8601": "2023-11-02T19:13:46.581130Z",
            "url": "https://files.pythonhosted.org/packages/31/37/ee7410387a8f9ecac69682784d4b16963c273df93b96223db5f1adb2ecc6/zmesh-1.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bb48dde89c6be2fe37df2f3ae42b6dbffb528dc75f2941bd0249305bd7c23262",
                "md5": "25a87d9a62002068107b73c732804bb3",
                "sha256": "487f6d6de9282343ce10f9376d13ce4bf7c914585d12d15119b9cb0e254f7810"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "25a87d9a62002068107b73c732804bb3",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.7",
            "size": 132589,
            "upload_time": "2023-11-02T19:13:48",
            "upload_time_iso_8601": "2023-11-02T19:13:48.491865Z",
            "url": "https://files.pythonhosted.org/packages/bb/48/dde89c6be2fe37df2f3ae42b6dbffb528dc75f2941bd0249305bd7c23262/zmesh-1.7.1-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "867444fe0cf3c5f46b2b2765e83e9c8e01ac426c69e2403137a218303b2fbebb",
                "md5": "179d1120832ebb1b1eab0ee91d29ae1d",
                "sha256": "4cd27c9054b8c0859584466d9c5403e043b19de66965c37043f694b32d07dcb2"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp37-cp37m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "179d1120832ebb1b1eab0ee91d29ae1d",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 184950,
            "upload_time": "2023-11-02T19:13:50",
            "upload_time_iso_8601": "2023-11-02T19:13:50.347773Z",
            "url": "https://files.pythonhosted.org/packages/86/74/44fe0cf3c5f46b2b2765e83e9c8e01ac426c69e2403137a218303b2fbebb/zmesh-1.7.1-cp37-cp37m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "76abb5b9f6bb990bb14f0cd74578f53bc98afe478bce2d9dfb6364de082d45de",
                "md5": "55ac453e0a941d3d31d3b5c1a5611700",
                "sha256": "324fd5c25e01b107b55af3b169e4542fe04c9015b0eb46f4271ab825d0e7e15e"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "55ac453e0a941d3d31d3b5c1a5611700",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 1677151,
            "upload_time": "2023-11-02T19:13:52",
            "upload_time_iso_8601": "2023-11-02T19:13:52.062228Z",
            "url": "https://files.pythonhosted.org/packages/76/ab/b5b9f6bb990bb14f0cd74578f53bc98afe478bce2d9dfb6364de082d45de/zmesh-1.7.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bd2b28fecc4d4b6c2ee77593d3d080aca36a4b4e2b01d9636f38221144496109",
                "md5": "f2559f5a663ae6ee70e1caa68b9439fa",
                "sha256": "84b7ee80229bc5ef628f4e551631c95f8066d184b6dfe69561a965e025f36d20"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f2559f5a663ae6ee70e1caa68b9439fa",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": ">=3.7",
            "size": 136637,
            "upload_time": "2023-11-02T19:13:53",
            "upload_time_iso_8601": "2023-11-02T19:13:53.820284Z",
            "url": "https://files.pythonhosted.org/packages/bd/2b/28fecc4d4b6c2ee77593d3d080aca36a4b4e2b01d9636f38221144496109/zmesh-1.7.1-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d1964faf60e807033adae72663bd32302223a9a0d7f90e37fa86fa5265bdb5c7",
                "md5": "acbd835c01ec268d6549cad20ef76b0f",
                "sha256": "9a4b395323b03a38237a159442c4afbf77cca5d65776a91087bbe4977ec4c56f"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "acbd835c01ec268d6549cad20ef76b0f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 186425,
            "upload_time": "2023-11-02T19:13:55",
            "upload_time_iso_8601": "2023-11-02T19:13:55.488544Z",
            "url": "https://files.pythonhosted.org/packages/d1/96/4faf60e807033adae72663bd32302223a9a0d7f90e37fa86fa5265bdb5c7/zmesh-1.7.1-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a8a7b9fb5b15c3e2d8f7465df131317747bfaca9dae5b6784fc914f9f4911ef9",
                "md5": "72f8b77c5cab4fb25c320a02e5a1cc60",
                "sha256": "64f2334e95208930c25241565b11cc8c1e364eb1305db6ded6fd87a2c04e07a4"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp38-cp38-macosx_11_0_universal2.whl",
            "has_sig": false,
            "md5_digest": "72f8b77c5cab4fb25c320a02e5a1cc60",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 362312,
            "upload_time": "2023-11-02T19:13:56",
            "upload_time_iso_8601": "2023-11-02T19:13:56.940251Z",
            "url": "https://files.pythonhosted.org/packages/a8/a7/b9fb5b15c3e2d8f7465df131317747bfaca9dae5b6784fc914f9f4911ef9/zmesh-1.7.1-cp38-cp38-macosx_11_0_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bc8a9d388982b3a5c1401b6d3197b979dae13f5c64e20e542332be287877bdbc",
                "md5": "21138285b672e47e35755d0797b2e299",
                "sha256": "216f2fa50928e029bed7782bf084b678c7e8f563db37ce332a92ee7eba006a56"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "21138285b672e47e35755d0797b2e299",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 1722427,
            "upload_time": "2023-11-02T19:13:58",
            "upload_time_iso_8601": "2023-11-02T19:13:58.662584Z",
            "url": "https://files.pythonhosted.org/packages/bc/8a/9d388982b3a5c1401b6d3197b979dae13f5c64e20e542332be287877bdbc/zmesh-1.7.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b3791d59f21b1d7b1cf008d830cbfca87ecf96c198b8a855ec328410a152ad5d",
                "md5": "0ce1a488652ec5d3021744d5ff3f2b45",
                "sha256": "0ba5847b9395648bd96c1d9f72c777d24167266e8d9400182d223975a0a0ad79"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0ce1a488652ec5d3021744d5ff3f2b45",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.7",
            "size": 138521,
            "upload_time": "2023-11-02T19:14:00",
            "upload_time_iso_8601": "2023-11-02T19:14:00.372938Z",
            "url": "https://files.pythonhosted.org/packages/b3/79/1d59f21b1d7b1cf008d830cbfca87ecf96c198b8a855ec328410a152ad5d/zmesh-1.7.1-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "05fc59899df1ef1502a3e3039afb05c63899563318cc9acbdc7ebbc7cff11897",
                "md5": "f3fd6b235b6012b610a3dc3f8ffc5f06",
                "sha256": "d6f43e00a33f2916f952d8d4d1546f2905b122d18d086f894983aa4aef82212e"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp39-cp39-macosx_10_9_universal2.whl",
            "has_sig": false,
            "md5_digest": "f3fd6b235b6012b610a3dc3f8ffc5f06",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 362871,
            "upload_time": "2023-11-02T19:14:01",
            "upload_time_iso_8601": "2023-11-02T19:14:01.951641Z",
            "url": "https://files.pythonhosted.org/packages/05/fc/59899df1ef1502a3e3039afb05c63899563318cc9acbdc7ebbc7cff11897/zmesh-1.7.1-cp39-cp39-macosx_10_9_universal2.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9bb6f21d7d1f0e1337841d1e731c8b82071b7bdd9c92557370505f9426b5a41d",
                "md5": "0c7f8a110276230be0250fec81239832",
                "sha256": "af73e4ffe31b5db7024ef40a947558c9235392080aadf1ee8d96607b7b1aaab7"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0c7f8a110276230be0250fec81239832",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 188790,
            "upload_time": "2023-11-02T19:14:03",
            "upload_time_iso_8601": "2023-11-02T19:14:03.888533Z",
            "url": "https://files.pythonhosted.org/packages/9b/b6/f21d7d1f0e1337841d1e731c8b82071b7bdd9c92557370505f9426b5a41d/zmesh-1.7.1-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aa7e3f8ef6c58e5530b6e75d4171e88cc975e8e816559f7f99d3769ae953721d",
                "md5": "37a7cada70b4baaff825b1a439169074",
                "sha256": "37ba78d93cd1334726da4c0a7d249de61c06a6fe1801ac1c84323cc24ff7aaaa"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "37a7cada70b4baaff825b1a439169074",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 1716045,
            "upload_time": "2023-11-02T19:14:06",
            "upload_time_iso_8601": "2023-11-02T19:14:06.036206Z",
            "url": "https://files.pythonhosted.org/packages/aa/7e/3f8ef6c58e5530b6e75d4171e88cc975e8e816559f7f99d3769ae953721d/zmesh-1.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5ab77118e4911b829631cd25969dff0e58b9d8c583ec8d344fec54989e1e984e",
                "md5": "6a892ffb4f44966c929edb1fed875e7c",
                "sha256": "30eca0cd18df69eeb5232d068fcb2175be94cbbfb750daaa08637d6fc4b33341"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6a892ffb4f44966c929edb1fed875e7c",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.7",
            "size": 138381,
            "upload_time": "2023-11-02T19:14:07",
            "upload_time_iso_8601": "2023-11-02T19:14:07.635192Z",
            "url": "https://files.pythonhosted.org/packages/5a/b7/7118e4911b829631cd25969dff0e58b9d8c583ec8d344fec54989e1e984e/zmesh-1.7.1-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bb6cba925df300b9c118c3f63f332de58e28eb7a07bd761591c0bdd358b78d75",
                "md5": "eb57073ad965b814eaeff5973484c32e",
                "sha256": "63c0d9c90da40a29b9693d3930ffeb1092aeddb92c600cdbd2acf918b736b72f"
            },
            "downloads": -1,
            "filename": "zmesh-1.7.1.tar.gz",
            "has_sig": false,
            "md5_digest": "eb57073ad965b814eaeff5973484c32e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 262380,
            "upload_time": "2023-11-02T19:14:09",
            "upload_time_iso_8601": "2023-11-02T19:14:09.148115Z",
            "url": "https://files.pythonhosted.org/packages/bb/6c/ba925df300b9c118c3f63f332de58e28eb7a07bd761591c0bdd358b78d75/zmesh-1.7.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-02 19:14:09",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "seung-lab",
    "github_project": "zmesh",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "zmesh"
}
        
Elapsed time: 0.13632s