Skip to main content

Wrapper around the Fast-Quadric-Mesh-Simplification library.

Project description

This is a python wrapping of the Fast-Quadric-Mesh-Simplification Library. Having arrived at the same problem as the original author, but needing a Python library, this project seeks to extend the work of the original library while adding integration to Python and the PyVista project.

For the full documentation visit: https://pyvista.github.io/fast-simplification/

https://github.com/pyvista/fast-simplification/raw/main/doc/images/simplify_demo.png

Basic Usage

The basic interface is quite straightforward and can work directly with arrays of points and triangles:

points = [[ 0.5, -0.5, 0.0],
          [ 0.0, -0.5, 0.0],
          [-0.5, -0.5, 0.0],
          [ 0.5,  0.0, 0.0],
          [ 0.0,  0.0, 0.0],
          [-0.5,  0.0, 0.0],
          [ 0.5,  0.5, 0.0],
          [ 0.0,  0.5, 0.0],
          [-0.5,  0.5, 0.0]]

faces = [[0, 1, 3],
         [4, 3, 1],
         [1, 2, 4],
         [5, 4, 2],
         [3, 4, 6],
         [7, 6, 4],
         [4, 5, 7],
         [8, 7, 5]]

points_out, faces_out = fast_simplification.simplify(points, faces, 0.5)

Advanced Usage

This library supports direct integration with VTK through PyVista to provide a simplistic interface to the library. As this library provides a 4-5x improvement to the VTK decimation algorithms.

>>> from pyvista import examples
>>> mesh = examples.download_nefertiti()
>>> out = fast_simplification.simplify_mesh(mesh, target_reduction=0.9)

Compare with built-in VTK/PyVista methods:

>>> fas_sim = fast_simplification.simplify_mesh(mesh, target_reduction=0.9)
>>> dec_std = mesh.decimate(0.9)  # vtkQuadricDecimation
>>> dec_pro = mesh.decimate_pro(0.9)  # vtkDecimatePro

>>> pv.set_plot_theme('document')
>>> pl = pv.Plotter(shape=(2, 2), window_size=(1000, 1000))
>>> pl.add_text('Original', 'upper_right', color='w')
>>> pl.add_mesh(mesh, show_edges=True)
>>> pl.camera_position = cpos

>>> pl.subplot(0, 1)
>>> pl.add_text(
...    'Fast-Quadric-Mesh-Simplification\n~2.2 seconds', 'upper_right', color='w'
... )
>>> pl.add_mesh(fas_sim, show_edges=True)
>>> pl.camera_position = cpos

>>> pl.subplot(1, 0)
>>> pl.add_mesh(dec_std, show_edges=True)
>>> pl.add_text(
...    'vtkQuadricDecimation\n~9.5 seconds', 'upper_right', color='w'
... )
>>> pl.camera_position = cpos

>>> pl.subplot(1, 1)
>>> pl.add_mesh(dec_pro, show_edges=True)
>>> pl.add_text(
...    'vtkDecimatePro\n11.4~ seconds', 'upper_right', color='w'
... )
>>> pl.camera_position = cpos
>>> pl.show()

Comparison to other libraries

The pyfqmr library wraps the same header file as this library and has similar capabilities. In this library, the decision was made to write the Cython layer on top of an additional C++ layer rather than directly interfacing with wrapper from Cython. This results in a mild performance improvement.

Reusing the example above:

Set up a timing function.

>>> import pyfqmr
>>> vertices = mesh.points
>>> faces = mesh.faces.reshape(-1, 4)[:, 1:]
>>> def time_pyfqmr():
...     mesh_simplifier = pyfqmr.Simplify()
...     mesh_simplifier.setMesh(vertices, faces)
...     mesh_simplifier.simplify_mesh(
...         target_count=out.n_faces, aggressiveness=7, verbose=0
...     )
...     vertices_out, faces_out, normals_out = mesh_simplifier.getMesh()
...     return vertices_out, faces_out, normals_out

Now, time it and compare with the non-VTK API of this library:

>>> timeit time_pyfqmr()
2.75 s ± 5.35 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

>>> timeit vout, fout = fast_simplification.simplify(vertices, faces, 0.9)
2.05 s ± 3.18 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

Additionally, the fast-simplification library has direct plugins to the pyvista library, making it easy to read and write meshes:

>>> import pyvista
>>> import fast_simplification
>>> mesh = pyvista.read('my_mesh.stl')
>>> simple = fast_simplification.simplify_mesh(mesh)
>>> simple.save('my_simple_mesh.stl')

Since both libraries are based on the same core C++ code, feel free to use whichever gives you the best performance and interoperability.

Replay decimation functionality

This library also provides an interface to keep track of the successive collapses that occur during the decimation process and to replay the decimation process. This can be useful for different applications, such as:

  • applying the same decimation to a collection of meshes that share the same topology

  • computing a correspondence map between the vertices of the original mesh and the vertices of the decimated mesh, to transfer field data from one to the other for example

  • replaying the decimation process with a smaller target reduction than the original one, faster than decimating the original mesh with the smaller target reduction

To use this functionality, you need to set the return_collapses parameter to True when calling simplify. This will return the successive collapses of the decimation process in addition to points and faces.

>>> import fast_simplification
>>> import pyvista
>>> mesh = pyvista.Sphere()
>>> points, faces = mesh.points, mesh.faces.reshape(-1, 4)[:, 1:]
>>> points_out, faces_out, collapses = fast_simplification.simplify(points, faces, 0.9, return_collapses=True)

Now you can call replay_simplification to replay the decimation process and obtain the mapping between the vertices of the original mesh and the vertices of the decimated mesh.

>>> points_out, faces_out, indice_mapping = fast_simplification.replay_simplification(points, faces, collapses)
>>> i = 3
>>> print(f'Vertex {i} of the original mesh is mapped to {indice_mapping[i]} of the decimated mesh')

You can also use the replay_simplification function to replay the decimation process with a smaller target reduction than the original one. This is faster than decimating the original mesh with the smaller target reduction. To do so, you need to pass a subset of the collapses to the replay_simplification function. For example, to replay the decimation process with a target reduction of 50% the initial rate, you can run:

>>> import numpy as np
>>> collapses_half = collapses[:int(0.5 * len(collapses))]
>>> points_out, faces_out, indice_mapping = fast_simplification.replay_simplification(points, faces, collapses_half)

If you have a collection of meshes that share the same topology, you can apply the same decimation to all of them by calling replay_simplification with the same collapses for each mesh. This ensure that the decimated meshes will share the same topology.

>>> import numpy as np
>>> # Assume that you have a collection of meshes stored in a list meshes
>>> _, _, collapses = fast_simplification.simplify(meshes[0].points, meshes[0].faces,
...                                                0.9, return_collapses=True)
>>> decimated_meshes = []
>>> for mesh in meshes:
...     points_out, faces_out, _ = fast_simplification.replay_simplification(mesh.points, mesh.faces, collapses)
...     decimated_meshes.append(pyvista.PolyData(points_out, faces_out))

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

fast_simplification-0.1.3.tar.gz (24.9 kB view details)

Uploaded Source

Built Distributions

fast_simplification-0.1.3-cp312-cp312-win_amd64.whl (211.4 kB view details)

Uploaded CPython 3.12 Windows x86-64

fast_simplification-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

fast_simplification-0.1.3-cp312-cp312-macosx_10_9_x86_64.whl (258.3 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

fast_simplification-0.1.3-cp312-cp312-macosx_10_9_universal2.whl (487.3 kB view details)

Uploaded CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)

fast_simplification-0.1.3-cp311-cp311-win_amd64.whl (212.3 kB view details)

Uploaded CPython 3.11 Windows x86-64

fast_simplification-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

fast_simplification-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl (264.5 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

fast_simplification-0.1.3-cp311-cp311-macosx_10_9_universal2.whl (493.0 kB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

fast_simplification-0.1.3-cp310-cp310-win_amd64.whl (212.4 kB view details)

Uploaded CPython 3.10 Windows x86-64

fast_simplification-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

fast_simplification-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl (263.2 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

fast_simplification-0.1.3-cp310-cp310-macosx_10_9_universal2.whl (491.6 kB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

fast_simplification-0.1.3-cp39-cp39-win_amd64.whl (212.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

fast_simplification-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

fast_simplification-0.1.3-cp39-cp39-macosx_10_9_x86_64.whl (264.1 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

fast_simplification-0.1.3-cp39-cp39-macosx_10_9_universal2.whl (493.0 kB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

fast_simplification-0.1.3-cp38-cp38-win_amd64.whl (213.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

fast_simplification-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

fast_simplification-0.1.3-cp38-cp38-macosx_10_9_x86_64.whl (262.7 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

fast_simplification-0.1.3-cp38-cp38-macosx_10_9_universal2.whl (491.0 kB view details)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

fast_simplification-0.1.3-cp37-cp37m-win_amd64.whl (212.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

fast_simplification-0.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

fast_simplification-0.1.3-cp37-cp37m-macosx_10_9_x86_64.whl (263.4 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

File details

Details for the file fast_simplification-0.1.3.tar.gz.

File metadata

  • Download URL: fast_simplification-0.1.3.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for fast_simplification-0.1.3.tar.gz
Algorithm Hash digest
SHA256 108726b700ca59957ec414cd9d61f943708bf631b631aae78d9b712fdf483ef8
MD5 9168c6c78af6c11f8cb7f8e8029d8070
BLAKE2b-256 069466447b45b59dc497712f269a72d33c6bdd633b16999175c9e28be3f44cb7

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c21daa77b9b3d3fb6ba3623bff088886c092ec0f09a4e85bb5c1fd7f9ded24d9
MD5 cd5230f4795ca5bb0c8b7aaa7251ea83
BLAKE2b-256 836cfa42269f4850b9485a580fd9e3b08e281db9a73127c1306283dcb178d63a

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4b0a75a51e53d2271d0cfd0da9d19bec72b199b3ece09c5d2a3437b696358890
MD5 ba7c24d48aa4722e3c4d1c9c07f90a39
BLAKE2b-256 cf6af3d5cf0f5df0eca2eab48a618d429a0f9499aeb73095e6dcf9ed1921f711

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7f855d02bb3bc1121ce16e372d41a274db383324434e19f73676a3fa3a3aa683
MD5 a112dd8460fe65bdcf564233341745ee
BLAKE2b-256 70d8771578a28914c6c08241c02b8d2f83678a8d909d13894802707081cde011

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 a5f526ea46ccd887d48bd6cee2e6cab495aa7924c2c16f23cf68e8a787ba2ce2
MD5 8e4707d87b0db59ed77a8cc2486b0138
BLAKE2b-256 a8d9207d37244661f259c9f2fb8ef7d38350117089792d661d790d5a9436cd62

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f79cc0b282d55ad73b2b0fa627697b74a067297612af221123cdebed27b50f7a
MD5 4a1dbb9b2686f9456cac3b1de909762a
BLAKE2b-256 c9decc80494c7c5b358b1e614a2ef82c81a129f6b7cd6c9523b686132f5b356d

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee03124145cc5030913f602756880691230d0dbe40ffe1b4ebf868c64fea0974
MD5 bf1d524d2919367fa1279e425bd558e1
BLAKE2b-256 7305315ae72bd6fe083627cb679fa3f617cfada6f0b3587492f65e86825dcd32

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 be5f3e61b9cd15d0e272ff3164b2ac6810671828532b39f273ca04e8b91eaf13
MD5 7382ecc86a3adae28768cc0ebf71765e
BLAKE2b-256 40c616d0f30b23de0da5683926d95203e846177af9b21b8c0a728b90c6c9390f

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 48629290b0e62964879edf1031b69f2704be26232acd69f14124bd54f6e0b261
MD5 aaa4575a3a015590f1ebc82efdbbb7fe
BLAKE2b-256 97d01b22aa285ba2b5792ecc976da4a9f88fa07d4259ad5b796f9d74824c6df8

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7a07acba1bf3ee774c944c5b545e74f236fce81c105ef6ace8cc9acd3ca5b280
MD5 737b5bbf11bc3dd3408a7ba526c2fc07
BLAKE2b-256 47e915e59a11d89fc9fafe33161d7fcacdf923a28b9c2e02cf16e73cd509ae6f

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 82f3a4a4945e255abe4aeaddf2df1f2c751b3e83433c64429b9c1efd1ef17ca6
MD5 381b1212fe41d4155b76962f4e0d23a7
BLAKE2b-256 15d68bc7e36282803950d08842afe392699e29cf91b43705abc068cfc4956f1a

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3def028d44205e2906004af27b641a27e58a0e8711e573a183f5fc573fe923a5
MD5 6daf537bd47a8d2d7c2a5e96eaad1648
BLAKE2b-256 9ddad556738b438131b22dfd9174d8c3cab0589c5e8e9ee93f22e9c12647a341

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7c913146bf48bf8239be293bfa81895aad4201115b4786d30de5e66cc45af8c1
MD5 348c3b97b3a5023a50371a340449e416
BLAKE2b-256 32a422eff605c99d86ffa2d38ca67649f905ab040cf7137e5daef83e9ce4a956

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 69516bf7a1da31a49524dcd618c2b1a90ef68f2b4274125ae84ea1bda5d8d3f6
MD5 41b4bae49f97c35132d3cf5809c391b7
BLAKE2b-256 9f0e28cb1dc0074ef21090442d3a33a698b40bfa614a18432b352fba466bc701

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0aeac7566c848e7ea5283c6dfded991b8dae7a1145ec450d0e0e41cce8fc4654
MD5 a684de2d89499a7b126728f50a42adc1
BLAKE2b-256 f389fd73a368b2a5d85d3b69941bd3e6d55fc2398dcb7073d0d4d0e4c9e10824

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ee0c237ef8a2f9b3b3f5fba44ed618aec18e8108419efeb0ec56d897c2b5cc22
MD5 2736363f3703ff597360116b9ca45423
BLAKE2b-256 8b12317b6d62163ec799e1e5d5e62833cd318d8e7a68c9877cbbe4d28ebd7238

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 d75a7b7f997cb206f78a628196155e58f7f90a2694661bc287cc648de53e25a7
MD5 19a96e1f962ba7a21f99216517be1d3f
BLAKE2b-256 9474afdf1099d7a2c83ebebebc48e7a1fbb06c9ef72da361f20f9b32a364324c

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 45c031f34f43e81e2725f2e139ef9ecfb061fd264df9a7640378a5b6bf7cc6ae
MD5 94754e81206ea1a36798df2ec2a71fa7
BLAKE2b-256 24d700a4bfb2d2173e849580a04e6298f47fef0a604db6adcfd4b6c968c35cb0

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 30bbee19f918543b6016eb2d4e2279763c3b73660eb125ba80e81e292f8a3d2f
MD5 e15c6753adbb1c390eae87e65fad3d49
BLAKE2b-256 719c75a516fa8e8860ced8efbde2c391d2cb080a6b2806407219713aac04d6c5

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e935f5e224d262bf2c7146d66468debf517c2d9f3c144954d4a19e3f414d15b6
MD5 c84c60851fd460be8d4a1369468a8d66
BLAKE2b-256 e88317353f7bc81e9a3a198a948887bef764d712eace5ad239d5bee7b81cf518

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 82bfc8ccaafb4bf663b70ea51830c87c4bd621ab76a2092acbcbc0d1213b09b9
MD5 902b0005950ea38a2c48a29670f4a034
BLAKE2b-256 c533d9169c15a23079e57ee610b57175aacd0e6358d09bc72fc4311022e88124

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e7ef63ccbcd6aa09f1b32127302c77c33beb3ea5c3c685758dfec31b45406e9b
MD5 86c0b9e55d3bdfcf77c1ec30a5ac7d21
BLAKE2b-256 1c9885ede19b0d8b6450ace8d99e0b8c46fceec6a9527aa4ef0a5470f91945c6

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3149e27bc675bd82936271fe0e75963bd177b47537524f3278c2e293dd2fc1e
MD5 c5e76fc33f3007d4160bf360d91a56c4
BLAKE2b-256 e30b83fee3529089167796063ccceb0a77d898be07563bccef4649a4cc16602c

See more details on using hashes here.

File details

Details for the file fast_simplification-0.1.3-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for fast_simplification-0.1.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 916368a9e07553fe630660c8fd6843c4e1811a4c065618518ad29461b6bfe5fa
MD5 8e158bd38163d7eaaa101522e07de63a
BLAKE2b-256 5131dc574d840cb555a188e2c39562abec68f09bfbf1941510d94a984b2ba7a7

See more details on using hashes here.

Supported by

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