pyfqmr


Namepyfqmr JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/Kramer84/pyfqmr-Fast-quadric-Mesh-Reduction
Summarycython wrapper around C++ library for fast triangular mesh reduction
upload_time2023-05-05 18:46:52
maintainer
docs_urlNone
authorkramer84
requires_python
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            pyfqmr : Python Fast Quadric Mesh Reduction
===========================================

Cython wrapper around `sp4acerat's quadrics mesh reduction
algorithm <https://github.com/sp4cerat/Fast-Quadric-Mesh-Simplification>`__.

Requirements:
~~~~~~~~~~~~~

-  *Numpy*
-  *Cython* (only for compilation, but not needed if installed from PyPI)

Installation :
~~~~~~~~~~~~~~
pyfqmr can be installed via  `pip <https://pypi.org/project/pyfqmr/0.1.1/>`_ :


.. code:: bash

    pip install pyfqmr


Compilation :
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Run:

.. code:: bash

    python setup.py install

Usage:
~~~~~~

.. code:: python

    >>> #We assume you have a numpy based mesh processing software
    >>> #Where you can get the vertices and faces of the mesh as numpy arrays.
    >>> #For example Trimesh or meshio
    >>> import pyfqmr
    >>> import trimesh as tr
    >>> bunny = tr.load_mesh('example/Stanford_Bunny_sample.stl')
    >>> #Simplify object
    >>> mesh_simplifier = pyfqmr.Simplify()
    >>> mesh_simplifier.setMesh(bunny.vertices, bunny.faces)
    >>> mesh_simplifier.simplify_mesh(target_count = 1000, aggressiveness=7, preserve_border=True, verbose=10)
    iteration 0 - triangles 112402 threshold 2.187e-06
    iteration 5 - triangles 62674 threshold 0.00209715
    iteration 10 - triangles 21518 threshold 0.0627485
    iteration 15 - triangles 9086 threshold 0.61222
    iteration 20 - triangles 4692 threshold 3.40483
    iteration 25 - triangles 2796 threshold 13.4929
    iteration 30 - triangles 1812 threshold 42.6184
    iteration 35 - triangles 1262 threshold 114.416
    simplified mesh in 0.2518 seconds 
    >>> vertices, faces, normals = mesh_simplifier.getMesh()

Controlling the reduction algorithm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Parameters of the '''simplify\_mesh''' method that can be tuned.

-  **target\_count**
    Target number of triangles.
-  **update\_rate**
    Number of iterations between each update.
-  **max\_iterations**
    Maximal number of iterations
-  **aggressiveness**
    Parameter controlling the growth rate of the threshold at each iteration when lossless is False.
-  **preserve\_border**
    Flag for preserving the vertices situated on open borders. Applies the method described in `this issue <https://github.com/sp4cerat/Fast-Quadric-Mesh-Simplification/issues/14>`__.
-  **alpha**
    Parameter for controlling the threshold growth. Exact implication described below.
-  **K**
    Parameter for controlling the threshold growth. Exact implication described below.
-  **lossless**
    Flag for using the lossless simplification method. Sets the update rate to 1 .
-  **threshold\_lossless**
    Maximal error after which a vertex is not deleted, only when the lossless flag is set to True.
-  **verbose**
    Controls verbosity

Implications of the parameters of the threshold growth rate (when not in lossless mode) :
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
$$threshold = alpha \* (iteration + K)^{agressiveness}$$

\

More information is to be found on Sp4cerat's repository : `Fast-Quadric-Mesh-Simplification <https://github.com/sp4cerat/Fast-Quadric-Mesh-Simplification>`__

Huge thanks to Sp4cerat for making his code available!

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Kramer84/pyfqmr-Fast-quadric-Mesh-Reduction",
    "name": "pyfqmr",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "kramer84",
    "author_email": "",
    "download_url": "",
    "platform": null,
    "description": "pyfqmr : Python Fast Quadric Mesh Reduction\n===========================================\n\nCython wrapper around `sp4acerat's quadrics mesh reduction\nalgorithm <https://github.com/sp4cerat/Fast-Quadric-Mesh-Simplification>`__.\n\nRequirements:\n~~~~~~~~~~~~~\n\n-  *Numpy*\n-  *Cython* (only for compilation, but not needed if installed from PyPI)\n\nInstallation :\n~~~~~~~~~~~~~~\npyfqmr can be installed via  `pip <https://pypi.org/project/pyfqmr/0.1.1/>`_ :\n\n\n.. code:: bash\n\n    pip install pyfqmr\n\n\nCompilation :\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nRun:\n\n.. code:: bash\n\n    python setup.py install\n\nUsage:\n~~~~~~\n\n.. code:: python\n\n    >>> #We assume you have a numpy based mesh processing software\n    >>> #Where you can get the vertices and faces of the mesh as numpy arrays.\n    >>> #For example Trimesh or meshio\n    >>> import pyfqmr\n    >>> import trimesh as tr\n    >>> bunny = tr.load_mesh('example/Stanford_Bunny_sample.stl')\n    >>> #Simplify object\n    >>> mesh_simplifier = pyfqmr.Simplify()\n    >>> mesh_simplifier.setMesh(bunny.vertices, bunny.faces)\n    >>> mesh_simplifier.simplify_mesh(target_count = 1000, aggressiveness=7, preserve_border=True, verbose=10)\n    iteration 0 - triangles 112402 threshold 2.187e-06\n    iteration 5 - triangles 62674 threshold 0.00209715\n    iteration 10 - triangles 21518 threshold 0.0627485\n    iteration 15 - triangles 9086 threshold 0.61222\n    iteration 20 - triangles 4692 threshold 3.40483\n    iteration 25 - triangles 2796 threshold 13.4929\n    iteration 30 - triangles 1812 threshold 42.6184\n    iteration 35 - triangles 1262 threshold 114.416\n    simplified mesh in 0.2518 seconds \n    >>> vertices, faces, normals = mesh_simplifier.getMesh()\n\nControlling the reduction algorithm\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nParameters of the '''simplify\\_mesh''' method that can be tuned.\n\n-  **target\\_count**\n    Target number of triangles.\n-  **update\\_rate**\n    Number of iterations between each update.\n-  **max\\_iterations**\n    Maximal number of iterations\n-  **aggressiveness**\n    Parameter controlling the growth rate of the threshold at each iteration when lossless is False.\n-  **preserve\\_border**\n    Flag for preserving the vertices situated on open borders. Applies the method described in `this issue <https://github.com/sp4cerat/Fast-Quadric-Mesh-Simplification/issues/14>`__.\n-  **alpha**\n    Parameter for controlling the threshold growth. Exact implication described below.\n-  **K**\n    Parameter for controlling the threshold growth. Exact implication described below.\n-  **lossless**\n    Flag for using the lossless simplification method. Sets the update rate to 1 .\n-  **threshold\\_lossless**\n    Maximal error after which a vertex is not deleted, only when the lossless flag is set to True.\n-  **verbose**\n    Controls verbosity\n\nImplications of the parameters of the threshold growth rate (when not in lossless mode) :\n'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''\n$$threshold = alpha \\* (iteration + K)^{agressiveness}$$\n\n\\\n\nMore information is to be found on Sp4cerat's repository : `Fast-Quadric-Mesh-Simplification <https://github.com/sp4cerat/Fast-Quadric-Mesh-Simplification>`__\n\nHuge thanks to Sp4cerat for making his code available!\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "cython wrapper around C++ library for fast triangular mesh reduction",
    "version": "0.2.0",
    "project_urls": {
        "Homepage": "https://github.com/Kramer84/pyfqmr-Fast-quadric-Mesh-Reduction"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3ec032380c664d50b95cd4f4afa71b9529567cfebde1e4fa6328a7e0bf0f9fc7",
                "md5": "9026c45ea5998754f18a355da5603f9e",
                "sha256": "8201d72ed6339aad44c382c1a9d70b8661e8453f64d1747e362d25b6a03cb6e0"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9026c45ea5998754f18a355da5603f9e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 128591,
            "upload_time": "2023-05-05T18:46:52",
            "upload_time_iso_8601": "2023-05-05T18:46:52.047163Z",
            "url": "https://files.pythonhosted.org/packages/3e/c0/32380c664d50b95cd4f4afa71b9529567cfebde1e4fa6328a7e0bf0f9fc7/pyfqmr-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0ed682da34b0fc165c332533a2ec699a7eb9c1ec0e5a833d10bcefded5f4d63a",
                "md5": "d5e2e22a15ba62ed7c0750d18ba22f48",
                "sha256": "4c2341d37de32470e1fe808e53d5998de7bba02fdb8e5f169e212c316e761f19"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "d5e2e22a15ba62ed7c0750d18ba22f48",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 115481,
            "upload_time": "2023-05-05T18:46:55",
            "upload_time_iso_8601": "2023-05-05T18:46:55.979450Z",
            "url": "https://files.pythonhosted.org/packages/0e/d6/82da34b0fc165c332533a2ec699a7eb9c1ec0e5a833d10bcefded5f4d63a/pyfqmr-0.2.0-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "078197be224813cf95d322d0445bfd55089ed84485ea17dc6b8445ca1ee0a39c",
                "md5": "862d4268bb22129ba13ac7e5a3843940",
                "sha256": "958615fa3abec791043f7c499e75fd544f5c34f3834087bac5dae1c12a5ace10"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "862d4268bb22129ba13ac7e5a3843940",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 775413,
            "upload_time": "2023-05-05T18:47:02",
            "upload_time_iso_8601": "2023-05-05T18:47:02.978650Z",
            "url": "https://files.pythonhosted.org/packages/07/81/97be224813cf95d322d0445bfd55089ed84485ea17dc6b8445ca1ee0a39c/pyfqmr-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "99f24fefe1a7d84e0bbbafb68ce44c799feff1a8a959834a68e62bb27b39d31d",
                "md5": "1e5f9daffd33167b86484abb53f6f68d",
                "sha256": "a2692c03c53d33b723ea911cb241b40c6842c0c5acc8d145f3dbfbd466eb270a"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1e5f9daffd33167b86484abb53f6f68d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 790084,
            "upload_time": "2023-05-05T18:47:15",
            "upload_time_iso_8601": "2023-05-05T18:47:15.045568Z",
            "url": "https://files.pythonhosted.org/packages/99/f2/4fefe1a7d84e0bbbafb68ce44c799feff1a8a959834a68e62bb27b39d31d/pyfqmr-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0b49a72fe6028cfd936a7746e5a3685683ca5bbbab3ac10a40b1ba12c44b46e8",
                "md5": "49b5775cbfa55d93acc6180f24489d1e",
                "sha256": "38017ddd6d7a4dc8a01865e7edb8efb63312cc8a76c4693cac9c500cc7227e03"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp310-cp310-win32.whl",
            "has_sig": false,
            "md5_digest": "49b5775cbfa55d93acc6180f24489d1e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 86540,
            "upload_time": "2023-05-05T18:47:18",
            "upload_time_iso_8601": "2023-05-05T18:47:18.496442Z",
            "url": "https://files.pythonhosted.org/packages/0b/49/a72fe6028cfd936a7746e5a3685683ca5bbbab3ac10a40b1ba12c44b46e8/pyfqmr-0.2.0-cp310-cp310-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2ed2f1c8f8250b9ce771e1e77f7488f09b423cac3faed0396d4e790fd5eb8f2a",
                "md5": "4166f3a905298d7cc970f89708c42e96",
                "sha256": "face6d1ce89d1852ac2ec5ae88f55d443309a9616cb4354c354adf79781a98f9"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "4166f3a905298d7cc970f89708c42e96",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": null,
            "size": 98015,
            "upload_time": "2023-05-05T18:47:20",
            "upload_time_iso_8601": "2023-05-05T18:47:20.469282Z",
            "url": "https://files.pythonhosted.org/packages/2e/d2/f1c8f8250b9ce771e1e77f7488f09b423cac3faed0396d4e790fd5eb8f2a/pyfqmr-0.2.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c52b80fbf0f62f5efcc2029f6fdded67094ead60ec3585cecc4fe9d5104d0f82",
                "md5": "f3aa2229c18380e28f520515390da2c5",
                "sha256": "ee74e93230ea3c0c69eec2daaac9f3bb869c5919a61c54dcff69a074570a4d5e"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f3aa2229c18380e28f520515390da2c5",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 128506,
            "upload_time": "2023-05-05T18:47:23",
            "upload_time_iso_8601": "2023-05-05T18:47:23.922566Z",
            "url": "https://files.pythonhosted.org/packages/c5/2b/80fbf0f62f5efcc2029f6fdded67094ead60ec3585cecc4fe9d5104d0f82/pyfqmr-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "726046d62599dfad1c314a1cbff4e6aae49fe503792c93969a67c66d704f01cf",
                "md5": "26271fa2634b99efa4253991b68d15d4",
                "sha256": "5cc1b9aa01bc8538a50d2f8c23bc0673f99e8cdae8302a9371a9d145c65f4afe"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "26271fa2634b99efa4253991b68d15d4",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 114204,
            "upload_time": "2023-05-05T18:47:29",
            "upload_time_iso_8601": "2023-05-05T18:47:29.051686Z",
            "url": "https://files.pythonhosted.org/packages/72/60/46d62599dfad1c314a1cbff4e6aae49fe503792c93969a67c66d704f01cf/pyfqmr-0.2.0-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c56b923cac7c2b298b41f7e70a3fa43e081e36917977e8b4e22092167e395cd8",
                "md5": "d14bea709c40d941557633b1998d7fe6",
                "sha256": "d657a1fcbbdd40afbf6ade5904083b482ba9d6c0aa2a5c7e942e241a62467ff6"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "d14bea709c40d941557633b1998d7fe6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 798109,
            "upload_time": "2023-05-05T18:47:41",
            "upload_time_iso_8601": "2023-05-05T18:47:41.434213Z",
            "url": "https://files.pythonhosted.org/packages/c5/6b/923cac7c2b298b41f7e70a3fa43e081e36917977e8b4e22092167e395cd8/pyfqmr-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ea3e18ac665007f3fa3f24b085bf0b26a63992626bbf68c2dce3cae12d3e223e",
                "md5": "e64d0c4dd2bc0d4fff509b63839eb6fc",
                "sha256": "22d0f1571b0484a1bb913ff51912cc2dbb3528fe67ffaee58b126404f2e73a20"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e64d0c4dd2bc0d4fff509b63839eb6fc",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 811016,
            "upload_time": "2023-05-05T18:47:50",
            "upload_time_iso_8601": "2023-05-05T18:47:50.943218Z",
            "url": "https://files.pythonhosted.org/packages/ea/3e/18ac665007f3fa3f24b085bf0b26a63992626bbf68c2dce3cae12d3e223e/pyfqmr-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "824abccdf17b1f9678ffe91a7d123a231c81bb88b4f5f6c7e878b423c842427d",
                "md5": "43f0150b91f5020980e344ba0ec78dae",
                "sha256": "bbf5c3b578da7633aff4d77ed76a6c5f685aa38c6c75fd75883626e73ca62dff"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp311-cp311-win32.whl",
            "has_sig": false,
            "md5_digest": "43f0150b91f5020980e344ba0ec78dae",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 86032,
            "upload_time": "2023-05-05T18:47:53",
            "upload_time_iso_8601": "2023-05-05T18:47:53.135591Z",
            "url": "https://files.pythonhosted.org/packages/82/4a/bccdf17b1f9678ffe91a7d123a231c81bb88b4f5f6c7e878b423c842427d/pyfqmr-0.2.0-cp311-cp311-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2606890cfdb25b528c5a74713c31d335eb54285f32579515368aacb4fff5456e",
                "md5": "bc8ca050e7e07b5e848e197c9a9d3784",
                "sha256": "63c6d0603dafd4388335c1e2a33fc43151282d7a94e8cb794a7b1dd19502cb0a"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "bc8ca050e7e07b5e848e197c9a9d3784",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": null,
            "size": 97364,
            "upload_time": "2023-05-05T18:47:55",
            "upload_time_iso_8601": "2023-05-05T18:47:55.415459Z",
            "url": "https://files.pythonhosted.org/packages/26/06/890cfdb25b528c5a74713c31d335eb54285f32579515368aacb4fff5456e/pyfqmr-0.2.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cc81d099380d084a6a9f68af21d65a38302545e1172a318cb2756f2f1898fab1",
                "md5": "92ae9e5317b93215140c621a93f98dea",
                "sha256": "df5aa0fe4104ac54e993cce7db8c0a0870492b477456fd0c73647d1fdb1cbfc0"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp37-cp37m-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "92ae9e5317b93215140c621a93f98dea",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 128237,
            "upload_time": "2023-05-05T18:44:13",
            "upload_time_iso_8601": "2023-05-05T18:44:13.575485Z",
            "url": "https://files.pythonhosted.org/packages/cc/81/d099380d084a6a9f68af21d65a38302545e1172a318cb2756f2f1898fab1/pyfqmr-0.2.0-cp37-cp37m-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8d620ee7da75104ddc6e4248c6c6b38894d35e76dfdc6881ac9687c9e043deb0",
                "md5": "2162f7e5bc224f47166c8d4252a6c800",
                "sha256": "31d82e286ff15c9a68adf47a272f1cd1a0b70494c1c297a4891096cd828c5459"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2162f7e5bc224f47166c8d4252a6c800",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 756337,
            "upload_time": "2023-05-05T18:44:22",
            "upload_time_iso_8601": "2023-05-05T18:44:22.812926Z",
            "url": "https://files.pythonhosted.org/packages/8d/62/0ee7da75104ddc6e4248c6c6b38894d35e76dfdc6881ac9687c9e043deb0/pyfqmr-0.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c1c19190786e3de4583cd58d46a79ea36df3303fab0480b6fe132071901fd7be",
                "md5": "c2e3dbf21b9242e94ffd7b0ba62b0d27",
                "sha256": "e8b1c0005535f4cbd910783a263859fa672cd2b8f615359eb6f9a17280a57b7e"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c2e3dbf21b9242e94ffd7b0ba62b0d27",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 772037,
            "upload_time": "2023-05-05T18:44:28",
            "upload_time_iso_8601": "2023-05-05T18:44:28.799472Z",
            "url": "https://files.pythonhosted.org/packages/c1/c1/9190786e3de4583cd58d46a79ea36df3303fab0480b6fe132071901fd7be/pyfqmr-0.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e79f5eef40a5f2c6ba33686d51ad3419b1557836954a3ec64660b7320d1c5ef8",
                "md5": "d9c35e15cca590b1e89102ec0286bbdd",
                "sha256": "70046b9d0f718ec4c0a50a0e88e4e65ad01492a992584fa3bb92a4e85c900817"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp37-cp37m-win32.whl",
            "has_sig": false,
            "md5_digest": "d9c35e15cca590b1e89102ec0286bbdd",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 85803,
            "upload_time": "2023-05-05T18:44:31",
            "upload_time_iso_8601": "2023-05-05T18:44:31.498999Z",
            "url": "https://files.pythonhosted.org/packages/e7/9f/5eef40a5f2c6ba33686d51ad3419b1557836954a3ec64660b7320d1c5ef8/pyfqmr-0.2.0-cp37-cp37m-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1c4d67c6dedb95561bc1dda2f303bf3171e88c0d4257f47ca9e8eb3d1742cfa1",
                "md5": "006e2976b806cfb664b62ca676d52942",
                "sha256": "08ff6331f2afbc5cbe59cd1c59d80f6fb5fba5d436e711f764c39d320e92531f"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp37-cp37m-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "006e2976b806cfb664b62ca676d52942",
            "packagetype": "bdist_wheel",
            "python_version": "cp37",
            "requires_python": null,
            "size": 98756,
            "upload_time": "2023-05-05T18:44:33",
            "upload_time_iso_8601": "2023-05-05T18:44:33.262622Z",
            "url": "https://files.pythonhosted.org/packages/1c/4d/67c6dedb95561bc1dda2f303bf3171e88c0d4257f47ca9e8eb3d1742cfa1/pyfqmr-0.2.0-cp37-cp37m-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e391e6cbdee6daf533185ee726fda6cb850cd0dc977d7dbeb97d2e780016c012",
                "md5": "ec260d1417e34f50c0df62c73a3dc0f2",
                "sha256": "8b97b918c201e5f84c0c43fcec7bde1934d6943696421bc2524e013ff023fa38"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ec260d1417e34f50c0df62c73a3dc0f2",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 128067,
            "upload_time": "2023-05-05T18:44:35",
            "upload_time_iso_8601": "2023-05-05T18:44:35.591370Z",
            "url": "https://files.pythonhosted.org/packages/e3/91/e6cbdee6daf533185ee726fda6cb850cd0dc977d7dbeb97d2e780016c012/pyfqmr-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "13666bb7a369666ecf9b0f22dd80cd64a170c62ec12181ee6b8209ddf56ca7a9",
                "md5": "105d12ca0b319a5222fe3a1583a1f8de",
                "sha256": "28289f2edf0754f152a2064da51100ecc17a33290523509903660965815e1175"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "105d12ca0b319a5222fe3a1583a1f8de",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 114032,
            "upload_time": "2023-05-05T18:44:38",
            "upload_time_iso_8601": "2023-05-05T18:44:38.469264Z",
            "url": "https://files.pythonhosted.org/packages/13/66/6bb7a369666ecf9b0f22dd80cd64a170c62ec12181ee6b8209ddf56ca7a9/pyfqmr-0.2.0-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8497e8052975c9086912554f614a3a70be9e0f65768a8ac6d3d03e1ccf0e15d1",
                "md5": "1dd4fe89a62ceda9a691926b5a0b394f",
                "sha256": "a41caa0b8d9a8a2436538cdb8bcd529e7e4fbaf67c4c44740e1e90576b28a5c3"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "1dd4fe89a62ceda9a691926b5a0b394f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 788548,
            "upload_time": "2023-05-05T18:44:44",
            "upload_time_iso_8601": "2023-05-05T18:44:44.132241Z",
            "url": "https://files.pythonhosted.org/packages/84/97/e8052975c9086912554f614a3a70be9e0f65768a8ac6d3d03e1ccf0e15d1/pyfqmr-0.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "17a66e8e8ab7043a0a2edc3698a6ab79285478ed50e1d2927f3b36289119b315",
                "md5": "39cc10cf80d6fb548fc69aa3f861c850",
                "sha256": "f021a851fd2677d18d82787dbf05546bb46b20846f63806ea5dde8f705cb58d3"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "39cc10cf80d6fb548fc69aa3f861c850",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 804473,
            "upload_time": "2023-05-05T18:46:22",
            "upload_time_iso_8601": "2023-05-05T18:46:22.577229Z",
            "url": "https://files.pythonhosted.org/packages/17/a6/6e8e8ab7043a0a2edc3698a6ab79285478ed50e1d2927f3b36289119b315/pyfqmr-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5b81a0c8916ee450fa6ffa5cf978c82b85c986d7a5274044e72103575df72d16",
                "md5": "0cccd43554d210ae5d86f63a203c3c0a",
                "sha256": "a01b06b8fd92170e1964c44f79620d7cd230933c08baac9cb1f047b4588014c3"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp38-cp38-win32.whl",
            "has_sig": false,
            "md5_digest": "0cccd43554d210ae5d86f63a203c3c0a",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 86892,
            "upload_time": "2023-05-05T18:46:25",
            "upload_time_iso_8601": "2023-05-05T18:46:25.563583Z",
            "url": "https://files.pythonhosted.org/packages/5b/81/a0c8916ee450fa6ffa5cf978c82b85c986d7a5274044e72103575df72d16/pyfqmr-0.2.0-cp38-cp38-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b1f4821fc75573f46335977a46152e5e7e656ceaae05fb59e1894d64aae7133e",
                "md5": "c04f3aacf696042b9fe141a1e759fd7d",
                "sha256": "17ca11b4b55c5044f3d8ee94f69503f1839646879076cfb414f8d29d42a20648"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "c04f3aacf696042b9fe141a1e759fd7d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": null,
            "size": 99840,
            "upload_time": "2023-05-05T18:46:28",
            "upload_time_iso_8601": "2023-05-05T18:46:28.079221Z",
            "url": "https://files.pythonhosted.org/packages/b1/f4/821fc75573f46335977a46152e5e7e656ceaae05fb59e1894d64aae7133e/pyfqmr-0.2.0-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9c1b3f96fe162a7f0117a6db0664ffa965e364d3cbf434aff732405175b958eb",
                "md5": "1c59e599845a91a8f7241faded8ad9e6",
                "sha256": "fac02a0a078bd7c9477a5a637875db3873d748857941d87005afd1cba46545db"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1c59e599845a91a8f7241faded8ad9e6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 130745,
            "upload_time": "2023-05-05T18:46:31",
            "upload_time_iso_8601": "2023-05-05T18:46:31.091840Z",
            "url": "https://files.pythonhosted.org/packages/9c/1b/3f96fe162a7f0117a6db0664ffa965e364d3cbf434aff732405175b958eb/pyfqmr-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "97676cc2b70a47dbd84038d96f9c0a9aa7813bf0987e8d331b31307bb4877868",
                "md5": "5483c32b493290bd4a1dbc06a4f576b2",
                "sha256": "c873deb61193bed44c10f368c027090d6830f425a6ce9d3e4fd37e32f7cf0c06"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "5483c32b493290bd4a1dbc06a4f576b2",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 116848,
            "upload_time": "2023-05-05T18:46:33",
            "upload_time_iso_8601": "2023-05-05T18:46:33.193060Z",
            "url": "https://files.pythonhosted.org/packages/97/67/6cc2b70a47dbd84038d96f9c0a9aa7813bf0987e8d331b31307bb4877868/pyfqmr-0.2.0-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6384c2bc129f948e001839f52bca312d92d0fbcfede4f36fb3e851dc75672abe",
                "md5": "308caa9949f067d0a8a70d11f1a7f77d",
                "sha256": "570579f89a2d8c004054c24d708fc4b963063db61c867a54fd3db776290775ae"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "308caa9949f067d0a8a70d11f1a7f77d",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 790520,
            "upload_time": "2023-05-05T18:46:40",
            "upload_time_iso_8601": "2023-05-05T18:46:40.441806Z",
            "url": "https://files.pythonhosted.org/packages/63/84/c2bc129f948e001839f52bca312d92d0fbcfede4f36fb3e851dc75672abe/pyfqmr-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cc59d88e4f4b305fe4f99698dc99bec6e9aa948607c04d094adc74729b34276d",
                "md5": "2e3edc1339dde558cddedb7bc3d7d377",
                "sha256": "59ba0c7b7d16fcce4df6cde852dfba38d1fc0a0e053eaeea2f31d47642ba3671"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "2e3edc1339dde558cddedb7bc3d7d377",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 805618,
            "upload_time": "2023-05-05T18:46:45",
            "upload_time_iso_8601": "2023-05-05T18:46:45.670298Z",
            "url": "https://files.pythonhosted.org/packages/cc/59/d88e4f4b305fe4f99698dc99bec6e9aa948607c04d094adc74729b34276d/pyfqmr-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "062321f4fddeab2f9d4f15dad2d2fe5539adf83749094eaf8de585483018df1e",
                "md5": "08fa234a372fb213401c0393a499cf83",
                "sha256": "d862e225eca4b4f24788cc61e7113b764bb8312511459bbe3eb489e3d7365f44"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp39-cp39-win32.whl",
            "has_sig": false,
            "md5_digest": "08fa234a372fb213401c0393a499cf83",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 86929,
            "upload_time": "2023-05-05T18:46:47",
            "upload_time_iso_8601": "2023-05-05T18:46:47.787471Z",
            "url": "https://files.pythonhosted.org/packages/06/23/21f4fddeab2f9d4f15dad2d2fe5539adf83749094eaf8de585483018df1e/pyfqmr-0.2.0-cp39-cp39-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "71b4b9f7021d01cb25e6c5ddee704063bd1dd42224c06bb15a1be46c7d3b3e3f",
                "md5": "7b6ef03a0146468962ef35b6da50c0ff",
                "sha256": "1474e7ed7600f95068f7dc304f03394aa6f071cf0c01438c5cf3761c1e5da4ea"
            },
            "downloads": -1,
            "filename": "pyfqmr-0.2.0-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7b6ef03a0146468962ef35b6da50c0ff",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": null,
            "size": 99718,
            "upload_time": "2023-05-05T18:46:50",
            "upload_time_iso_8601": "2023-05-05T18:46:50.045326Z",
            "url": "https://files.pythonhosted.org/packages/71/b4/b9f7021d01cb25e6c5ddee704063bd1dd42224c06bb15a1be46c7d3b3e3f/pyfqmr-0.2.0-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-05 18:46:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Kramer84",
    "github_project": "pyfqmr-Fast-quadric-Mesh-Reduction",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pyfqmr"
}
        
Elapsed time: 0.06235s