Skip to main content

Multilabel marching cubes and simplification of volumetric data.

Project description

zmesh: Multi-Label Marching Cubes & Mesh Simplification

Tests PyPI version

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)

# If you don't mind shuffling the vertices and faces
# from older versions of zmesh, this option unlocks
# some performance optimizations.
mesher.mesh(labels, preserve_order=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

# use an fqmr derived non-topology preserving algorithm
# this useful particularly for multi-resolution meshes
# where visual appearence is more important than connectivity
# This function has many parameters, see help(zmesh.simplify_fqmr)
mesh = zmesh.simplify_fqmr(
  mesh, 
  triangle_count=(mesh.faces.shape[0] // 10),
)

# compute normals on a pre-existing mesh
mesh = zmesh.compute_normals(mesh) 

# run face based connected components
ccls = zmesh.face_connected_components(mesh)
# run vertex based connected components
ccls = zmesh.vertex_connected_components(mesh)

# remove small components based on vertices or faces
mesh = zmesh.dust(mesh, threshold=100, metric="vertices")
# remove components bigger than the threshold using invert
mesh = zmesh.dust(mesh, threshold=100, metric="vertices", invert=True)
# retain only the largest k connected components
mesh = zmesh.largest_k(mesh, k=1, metric="vertices")
# retain only the smallest k connected components
mesh = zmesh.largest_k(mesh, k=1, metric="vertices", invert=True)

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: mesher.get_mesh has been deprecated in favor of mesher.get which fixed 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.

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 220 (appx. 1M) due to the packed 64-bit vertex format.

Related Projects

  • zi_lib - zmesh makes heavy use of Aleks' C++ library.
  • Igneous - Visualization of connectomics data using cloud computing.

Example Performance

This was a limited experiment conducted on a Macbook Pro M3 comparing Zmesh 1.12.0 and scikit-image==0.26.0. The volume is a 512^3 uint32 segmentation of a mouse visual cortex containing 2523 shapes of various sizes including parts of dendrites, a nucleus, and a glia.

Note that this is not really an apples-to-apples comparison because scikit-image is specialized for continuous value images like CT scans not segmentation, and so the resulting meshes are very different.

This is mesher.mesh(image).

Marching Cubes Data ZMESH Time (s) ZMESH MVx/sec SKIMAGE Time (s) SKIMAGE MVx/sec N
Black 0.891 451.35 NOT HANDLED 3
Filled 0.961 418.12 NOT HANDLED 3
connectomics.npy 4.107 97.89 9.861 40.77 3
random 6.950 12.81 40.509 2.20 1

The meshes can then be extracted (mesher.get):

Simplification Factor Max Error Labels per Second N
0 N/A 478.2 3
100 40 14.7 3

Credits

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

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

Thank you to Sven Forstmann, Kristof S., Brénainn Woodsend, and others for pyfqmr which we have adapted here for non-topology preserving simplification and fast OBJ reading. See https://github.com/Kramer84/pyfqmr-Fast-Quadric-Mesh-Reduction/

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)
  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)
  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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zmesh-1.13.1.tar.gz (303.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

zmesh-1.13.1-cp314-cp314t-win_amd64.whl (328.8 kB view details)

Uploaded CPython 3.14tWindows x86-64

zmesh-1.13.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

zmesh-1.13.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.7 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

zmesh-1.13.1-cp314-cp314-win_amd64.whl (299.0 kB view details)

Uploaded CPython 3.14Windows x86-64

zmesh-1.13.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

zmesh-1.13.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

zmesh-1.13.1-cp314-cp314-macosx_11_0_arm64.whl (339.4 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

zmesh-1.13.1-cp314-cp314-macosx_10_9_x86_64.whl (384.6 kB view details)

Uploaded CPython 3.14macOS 10.9+ x86-64

zmesh-1.13.1-cp313-cp313-win_amd64.whl (291.8 kB view details)

Uploaded CPython 3.13Windows x86-64

zmesh-1.13.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

zmesh-1.13.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

zmesh-1.13.1-cp313-cp313-macosx_11_0_arm64.whl (338.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

zmesh-1.13.1-cp313-cp313-macosx_10_9_x86_64.whl (383.4 kB view details)

Uploaded CPython 3.13macOS 10.9+ x86-64

zmesh-1.13.1-cp312-cp312-win_amd64.whl (291.5 kB view details)

Uploaded CPython 3.12Windows x86-64

zmesh-1.13.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

zmesh-1.13.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

zmesh-1.13.1-cp312-cp312-macosx_11_0_arm64.whl (339.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

zmesh-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl (384.5 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

zmesh-1.13.1-cp311-cp311-win_amd64.whl (294.8 kB view details)

Uploaded CPython 3.11Windows x86-64

zmesh-1.13.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

zmesh-1.13.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

zmesh-1.13.1-cp311-cp311-macosx_11_0_arm64.whl (341.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

zmesh-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl (386.6 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

zmesh-1.13.1-cp310-cp310-win_amd64.whl (294.9 kB view details)

Uploaded CPython 3.10Windows x86-64

zmesh-1.13.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

zmesh-1.13.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

zmesh-1.13.1-cp310-cp310-macosx_11_0_arm64.whl (338.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

zmesh-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl (385.4 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

zmesh-1.13.1-cp39-cp39-win_amd64.whl (295.2 kB view details)

Uploaded CPython 3.9Windows x86-64

zmesh-1.13.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

zmesh-1.13.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

zmesh-1.13.1-cp39-cp39-macosx_11_0_arm64.whl (338.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

zmesh-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl (385.8 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

zmesh-1.13.1-cp38-cp38-win_amd64.whl (297.5 kB view details)

Uploaded CPython 3.8Windows x86-64

zmesh-1.13.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

zmesh-1.13.1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

File details

Details for the file zmesh-1.13.1.tar.gz.

File metadata

  • Download URL: zmesh-1.13.1.tar.gz
  • Upload date:
  • Size: 303.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for zmesh-1.13.1.tar.gz
Algorithm Hash digest
SHA256 746f5767f162ce5c2b161678456137b75b546ec811b6a7ecd3a00332be17d489
MD5 e06c7c00eda11febd9b8911906c2494d
BLAKE2b-256 6bc357237858c9c64848e900147e99a3a46ad0829f7c9d35400f9dedf46a1154

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: zmesh-1.13.1-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 328.8 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for zmesh-1.13.1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 26a5f884e9bc5709c33ba74fba3d2ba96523de12463f0a83cdc1208b80e8ab20
MD5 10d47257adbb7e508304b79c2bc0f6ff
BLAKE2b-256 556c94826188d7455c3e076c639f3a0aa27672acdde63ab67bd9722a05a89d0e

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 278154ec24ee2cfb3285428da70c9d873d49da3c6289e0c9dce38e4aafabc3ea
MD5 1e927f8f2c85bab71bf5c8888254ff6e
BLAKE2b-256 fa39a671820da439be8db0815b89aa383fa59917e1ff50f7fe826cc370a72b1e

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1f5d24797c4bab853c169987101741dcfada54b38085a4710b007c6a6be483e6
MD5 8a9098a750e154cc2003fa7c4e0ee314
BLAKE2b-256 5e738e6bf4e4679770b51f387a742fdf7153980e0ffbb7e37e9a415762426f7f

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: zmesh-1.13.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 299.0 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for zmesh-1.13.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 66639605e536a9e4a4f62aae1ff9eb06ae343315b52fcac360d42c58bbc9d2c8
MD5 d19b3fc22559e410bddeee7a6a5bd78c
BLAKE2b-256 9065db15c0e5ce10729a2c3b8f7524fe377515832d3f998b063efb477a437a45

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 43c8d9f504b47405b411724bb6d0cf74970b1ee5b725a730f53e8c3cfd3a8533
MD5 e845b1c2c8ccba75cca726f587bb2a3a
BLAKE2b-256 1bfff414176311983b6d486d1f91e916f34008d476cc5c84f81dca5851ddf2d6

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4dfc4f593942e5faa32087c624ea5fa20f5f7d98b689d83786869e8e9198bf44
MD5 facfae0c39548670d93e220ea2443ba4
BLAKE2b-256 56a38c758dac9f93c1c39069521a559e75337a2182bc578e7ee87f9f388b14a4

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 25d6d70dc6219cf8e5ddc82e61c7052ef204cf492ded09f401e55a8481e86e8c
MD5 c174a740b1077fd3bb0d1de8cddc391a
BLAKE2b-256 a8d574441c44e5661372585ca611e4789cc9779f0f9bbc333847481ecac8e742

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp314-cp314-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp314-cp314-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 62364073cad6603138f88bed17ea1b3ee770eb85082b960e48269fc093542a97
MD5 e9ab0e63fd77cf7ec2aff013275dd32f
BLAKE2b-256 99488ff70f126f6c1cfe288b558c26c3c1b08ebb5b8ebeb3d8ae80ec420a4da2

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: zmesh-1.13.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 291.8 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for zmesh-1.13.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b9bce3c321971de40642d5e849bfed225ba70844bc611f485f703f0e66a7199d
MD5 c8cb1bf318e5be58ec3511830dceb547
BLAKE2b-256 7ad5f2ed51f88d93034136471b930f8595b5c916b8d09b4a72c798f1354732c3

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ff737a86cf9788675efa514ed9210c9df99b263e788af8a520fe9f402e7bbd22
MD5 bdf630417bf54fd9bf4c5d055540242e
BLAKE2b-256 91db1a8193a06e714ab426e53a25a8679a1140c52923196c0dd5f4052c2994a2

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d8a42d8505c3be37053f20fa5b172253fde75152e409c3de91c6fcefeb2aee77
MD5 a2b7e7eed3993d49d229a03cf7cc9dd4
BLAKE2b-256 6084644f79b9d3800cc79115399914510bb9632058ffbee2e2d87f2bd0156810

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bfbaec75c36c1e342f8e431ffcd15d97bfb504e58c9631e22db7fac28be2c657
MD5 97fbae3e485cb1064d1004531bfec391
BLAKE2b-256 31bef59db74f1f0020505da91ad86c65bdd215891940eb86937901624b12f9b1

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp313-cp313-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp313-cp313-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2687f53672809c2478f8b0bfe63ee8b8a7a2413b85e4b91c22dfff8fc76b269a
MD5 59f0952502e11d97c89a8fe0dd455b53
BLAKE2b-256 02c4c76c20b903833ca498949dbd3e5da7ae763dc6079a1835256b0e4c07c439

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: zmesh-1.13.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 291.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for zmesh-1.13.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b506cecaa045d3c995a186be3ef121045a66b2dffc5c60194febf4fa96cf358a
MD5 6de88c3abc59851ca8f7b3931419fb98
BLAKE2b-256 f0f99fa23939ea898233a307902a6b5019666c4295d962a71abf833a8402c848

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cac92f054b71cfa5e811dde379162095f42ab4ccc75150434f50e02c78a0203a
MD5 613fc53abec2c36c09c5bb020618931e
BLAKE2b-256 36ff3699dfacf756bc4518ee7960c472ed77e8ff00059aa3f1e58f615a4e08ba

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6e629e83b9d8e2adb6a72adf67ccc3cdc19de4a79395ad9066a01edbdaba743c
MD5 1946bfa8b6d8b35c6db4adbc33441e32
BLAKE2b-256 ac883ea4ead5062a01b66be64fa62c23e7c0cd4107a1963e985a1c96dacdefc6

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 39de42d26a2bfcf01ab0cfbb1e679cfbc6906d77046871db289957b252935d9f
MD5 9495c8a44500ca15af061daf6c30fcea
BLAKE2b-256 2a36e452c1af011a4ae259f08a88356deeccb5a392ba550ddb7ab27ee00a8959

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1f805cf241cd8b6682aade28e740dc5e30e9230ec9a19636e59fa307d47cd2d4
MD5 003dce910a3c4ccbd6966b483abf0b1f
BLAKE2b-256 5522602e55f52f042736a7dfd4e99356f2b9b96470a2d8741ef161aa0ace2073

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: zmesh-1.13.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 294.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for zmesh-1.13.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5d52f8a3452cd0598ac7701441103acb42ba45ed60ca7426a9da760f0d8bfa55
MD5 fcfda3e83ab42b19fa57f88ce27a071c
BLAKE2b-256 df6789edfc7b92cadb8b969a7c598552968dcb82f749fe444c7e07e7b4dfada1

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 58c0a5feac8dc8a0d348d5c6f92a5a28e25c6cc34729ab3491d16b396a173169
MD5 48f9dd92a0a64394bc0f2bf00b272566
BLAKE2b-256 9642b952f289bb3b342353c3524a2bbdfb5db62545d4c0e4855f27b8144be4eb

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 83d7f612c43780ae82928b6d3c75bf05bfb23efa6668b5a6b2b0f5f7366183ae
MD5 ee20f95240caa8f1e37c34f9f15f50d6
BLAKE2b-256 1a0d6bdcc417da7d26f98abfdcf4ac88726e580cd118199ba634186d714d4ff2

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6198690d99a00b963f34dbb0cb8dbef82c039e3acc485c8a06dd7c06ac2d6af6
MD5 01b603cf7843a2407e53f0b6856029cd
BLAKE2b-256 26a5297d0485220f9443eb1b236a8373805e8505c1ed20860a58b407d2508c8f

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 928db5cefb2b169b1a47d59b14603dc40490d0ed0374bc312c72fd0e9f807b9d
MD5 9c268ff99e60f7c5b96e0dc9758a8c6e
BLAKE2b-256 1b36a32d9f94a150d10355ae6bad3fa7b783fa443c71b3bf24e2634846478b35

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: zmesh-1.13.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 294.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for zmesh-1.13.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e12943921d881f1f9fe97afebb790824e39ff3a477675db41856eead08048590
MD5 a34c24a93e4a62e403fa7d7c637f12da
BLAKE2b-256 5c908178b96e3284f33f077a1478d81312e2dac77e518fef81d19453dacafc9f

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2b7ccaa77b0ba0d12e82a2ec348d566084d50007d8aa40e3161595cc4445d35c
MD5 e20cb73b5945a913c13fb1b96cb14a6a
BLAKE2b-256 5687534871aa7b486e16e5ca6f193fe92ecbdf1435c130de6759eebdb7b478b9

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f23c65e28a18706695b832502a27c8ad5ec8dcfafab6a18cb38d6cab02134c62
MD5 e2be8e5498663324e7a0c0b6030b1ee0
BLAKE2b-256 f7b670cdf5c3f548652fba95c1e6ee7295db410ce9e14483b5533ef13dd6fb47

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 17993cb266e897ef90a2174d59d48c04d68ba396dbb72164f448dad01a0e3dda
MD5 27fcee2eaabcd4a1de1d1f9cec578058
BLAKE2b-256 4eac1aee17f22181d1d40c1589a98a47e18f89e5b424d2c91635f5b105d822e5

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 60abf365cb1d270a0bfe9a1efb732bb1530efad78c06f340a2dc804dded82406
MD5 35d132aceb2c2214d860e1027bef3f11
BLAKE2b-256 e1bd769ec59f528aa0300e06ffb6e0c021cdb3107471e8e1b22fd17ca33078e3

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: zmesh-1.13.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 295.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for zmesh-1.13.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a7bd277fe14336b10c7890322b72dd4f9240322753bbd2117dd5ad4b2a5d0d54
MD5 49dff3aa36f85e9be78387b1e548678f
BLAKE2b-256 95564d9fb401768a74195dc5a8bce351f1a59d767902379d687d07d65391bfa0

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0db0dc0e4ab60422009c6f7233f5bcacf2833a6cd7380c1893acfc7992cfcbfb
MD5 904ec7ccb90f47d79a39301ae949dea4
BLAKE2b-256 09b1d90bb2b0beb7673c3e87910a867414773b46b19f52eae996a8d0cfbf29fb

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5fb08278a66a20c20bd662e7194db1f7b6270b01e8f25a2127bca31e5c9d0d2b
MD5 d46a754c5cb21440250eb0d5d8a95917
BLAKE2b-256 bb20ea99417efb65a7409d21decbd1bbb11abc40f9b90830bbb16abbba7ff577

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 45bcd3a62c965a2db452adcae076f0401c2edb32906d46d24c29ff1ce58717e9
MD5 714291ce86896a1c2cf13eb057d3a47c
BLAKE2b-256 db07575b33a4a47267665c1f0c48df87aa98360f34c1fe71236b840174a27c1d

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ab96e0d0b9aec8746c3a5727001a8fac6e6831f417b2074c58af5fecbde9ff2a
MD5 9be4d260a926baaeb85e2fdcdb1d51a4
BLAKE2b-256 f390dd3ddce5b9536fe610d21be457ee4e1daf0f38fa698eb2ab2c33409ef465

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: zmesh-1.13.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 297.5 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for zmesh-1.13.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 6bb24246c2f8374c0ffdfde139ac707774d2ea6ada5bf0be884e3db5f52bbf4c
MD5 56485cd9917f3c55f9ff0fbd89c52b0d
BLAKE2b-256 7c2fe1da7599c9885689558e2e262dfecad7479ff29849b284518dcaeb532c87

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a30b99a115410e8de6cf4c9fd75ad003d7e84ba8b1fb0e0e726854310b5c2c07
MD5 d1aa5112dd26b4f26e93f66746bcde87
BLAKE2b-256 6d8c28b86b0d91c7ff3374fb9fdfb5835d87f625f72f3fbb952d7215f58b0a2e

See more details on using hashes here.

File details

Details for the file zmesh-1.13.1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zmesh-1.13.1-cp38-cp38-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4c08e166456d0a650b44ea18cca5fb0e05cee4a4b84c5f19659a762be190c104
MD5 d7548f3f5a5e76fcc2757b02397a3159
BLAKE2b-256 2259a18050d1e4a922b6e0f9517eb155ead842787bd52946d4d56dc5f89987cb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page