simplification


Namesimplification JSON
Version 0.7.10 PyPI version JSON
download
home_page
SummaryFast linestring simplification using RDP or Visvalingam-Whyatt and a Rust binary
upload_time2023-11-14 16:21:16
maintainer
docs_urlNone
author
requires_python>=3.8
licenseThe MIT License (MIT) Copyright (c) 2016 Stephan Hügel Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords geo polyline linestring ramer-douglas-peucker douglas-peucker visvalingam-whyatt
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            [![Build Status](https://github.com/urschrei/simplification/actions/workflows/wheels.yml/badge.svg)](https://github.com/urschrei/simplification/actions/workflows/wheels.yml) [![Coverage Status](https://coveralls.io/repos/github/urschrei/simplification/badge.svg?branch=master)](https://coveralls.io/github/urschrei/simplification?branch=master) [![Downloads](https://pepy.tech/badge/simplification)](https://pepy.tech/project/simplification)[![DOI](https://zenodo.org/badge/65199659.svg)](https://zenodo.org/badge/latestdoi/65199659)

# Simplification
Simplify a LineString using the [Ramer–Douglas–Peucker](https://en.wikipedia.org/wiki/Ramer–Douglas–Peucker_algorithm) or [Visvalingam-Whyatt](https://bost.ocks.org/mike/simplify/) algorithms

![Line](https://cdn.rawgit.com/urschrei/rdp/6c84264fd9cdc0b8fdf974fc98e51fea4834ed05/rdp.svg)  

## Installation
`pip install simplification`  

### Installing for local development
1. Ensure you have a copy of `librdp` from https://github.com/urschrei/rdp/releases, and it's in the `src/simplification` subdir
2. run `pip install -e .[test] --use-pep517`
3. run `pytest .`

### Supported Python Versions (Linux x86_64 + aarch64, macOS x86_64 + arm64, Windows amd64)
- Python 3.8
- Python 3.9
- Python 3.10
- Python 3.11
- Python 3.12

### Supported Platforms
- Linux (`manylinux`-compatible) x86_64 and aarch64
- macOS Darwin x86_64 and arm64
- Windows 64-bit

## Usage
```python
from simplification.cutil import (
    simplify_coords,
    simplify_coords_idx,
    simplify_coords_vw,
    simplify_coords_vw_idx,
    simplify_coords_vwp,
)

# Using Ramer–Douglas–Peucker
coords = [
    [0.0, 0.0],
    [5.0, 4.0],
    [11.0, 5.5],
    [17.3, 3.2],
    [27.8, 0.1]
]

# For RDP, Try an epsilon of 1.0 to start with. Other sensible values include 0.01, 0.001
simplified = simplify_coords(coords, 1.0)

# simplified is [[0.0, 0.0], [5.0, 4.0], [11.0, 5.5], [27.8, 0.1]]

# Using Visvalingam-Whyatt
# You can also pass numpy arrays, in which case you'll get numpy arrays back
import numpy as np
coords_vw = np.array([
    [5.0, 2.0],
    [3.0, 8.0],
    [6.0, 20.0],
    [7.0, 25.0],
    [10.0, 10.0]
])
simplified_vw = simplify_coords_vw(coords_vw, 30.0)

# simplified_vw is [[5.0, 2.0], [7.0, 25.0], [10.0, 10.0]]
```

Passing empty and/or 1-element lists will return them unaltered.

## But I only want the simplified **Indices**
`simplification` now has:

- `cutil.simplify_coords_idx`
- `cutil.simplify_coords_vw_idx`

The values returned by these functions are the **retained** indices. In order to use them as e.g. a [masked array](https://docs.scipy.org/doc/numpy/reference/maskedarray.generic.html#what-is-a-masked-array) in Numpy, something like the following will work:

    import numpy as np
    from simplification.cutil import simplify_coords_idx

    # assume an array of coordinates: orig
    simplified = simplify_coords_idx(orig, 1.0)
    # build new geometry using only retained coordinates
    orig_simplified = orig[simplified]


## But I need to ensure that the resulting geometries are valid
You can use the topology-preserving variant of `VW` for this: `simplify_coords_vwp`. It's slower, but has a far greater likelihood of producing a valid geometry.


## But I Want to Simplify Polylines
No problem; [Decode them to LineStrings](https://github.com/urschrei/pypolyline) first.

``` python
# pip install pypolyline before you do this
from pypolyline.cutil import decode_polyline
# an iterable of Google-encoded Polylines, so precision is 5. For OSRM &c., it's 6
decoded = (decode_polyline(line, 5) for line in polylines)
simplified = [simplify_coords(line, 1.0) for line in decoded]
```

## How it Works
FFI and a [Rust binary](https://github.com/urschrei/rdp)

## Is It Fast
I should think so.
### What does that mean
Using `numpy` arrays for input and output, the library can be reasonably expected to process around 2500 1000-point LineStrings per second on a Core i7 or equivalent, for a 98%+ reduction in size.  
A larger LineString, containing 200k+ points can be reduced to around 3k points (98.5%+) in around 50ms using RDP.

This is based on a test harness available [here](benchmark_runner.py).
#### Disclaimer
All benchmarks are subjective, and pathological input will greatly increase processing time. Error-checking is non-existent at this point.

## License
[MIT](license.txt)

## Citing `Simplification`
If Simplification has been significant in your research, and you would like to acknowledge the project in your academic publication, we suggest citing it as follows (example in APA style, 7th edition):

> Hügel, S. (2021). Simplification (Version X.Y.Z) [Computer software]. https://doi.org/10.5281/zenodo.5774852

In Bibtex format:

    @software{Hugel_Simplification_2021,
    author = {Hügel, Stephan},
    doi = {10.5281/zenodo.5774852},
    license = {MIT},
    month = {12},
    title = {{Simplification}},
    url = {https://github.com/urschrei/simplification},
    version = {X.Y.Z},
    year = {2021}
    }

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "simplification",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "Geo,Polyline,Linestring,Ramer-Douglas-Peucker,Douglas-Peucker,Visvalingam-Whyatt",
    "author": "",
    "author_email": "Stephan H\u00fcgel <urschrei@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/73/8d/c7734e908a95450b3f7d6859cd0c213e9bfc0c101b9e04ba9f6070d227ae/simplification-0.7.10.tar.gz",
    "platform": null,
    "description": "[![Build Status](https://github.com/urschrei/simplification/actions/workflows/wheels.yml/badge.svg)](https://github.com/urschrei/simplification/actions/workflows/wheels.yml) [![Coverage Status](https://coveralls.io/repos/github/urschrei/simplification/badge.svg?branch=master)](https://coveralls.io/github/urschrei/simplification?branch=master) [![Downloads](https://pepy.tech/badge/simplification)](https://pepy.tech/project/simplification)[![DOI](https://zenodo.org/badge/65199659.svg)](https://zenodo.org/badge/latestdoi/65199659)\n\n# Simplification\nSimplify a LineString using the [Ramer\u2013Douglas\u2013Peucker](https://en.wikipedia.org/wiki/Ramer\u2013Douglas\u2013Peucker_algorithm) or [Visvalingam-Whyatt](https://bost.ocks.org/mike/simplify/) algorithms\n\n![Line](https://cdn.rawgit.com/urschrei/rdp/6c84264fd9cdc0b8fdf974fc98e51fea4834ed05/rdp.svg)  \n\n## Installation\n`pip install simplification`  \n\n### Installing for local development\n1. Ensure you have a copy of `librdp` from https://github.com/urschrei/rdp/releases, and it's in the `src/simplification` subdir\n2. run `pip install -e .[test] --use-pep517`\n3. run `pytest .`\n\n### Supported Python Versions (Linux x86_64 + aarch64, macOS x86_64 + arm64, Windows amd64)\n- Python 3.8\n- Python 3.9\n- Python 3.10\n- Python 3.11\n- Python 3.12\n\n### Supported Platforms\n- Linux (`manylinux`-compatible) x86_64 and aarch64\n- macOS Darwin x86_64 and arm64\n- Windows 64-bit\n\n## Usage\n```python\nfrom simplification.cutil import (\n    simplify_coords,\n    simplify_coords_idx,\n    simplify_coords_vw,\n    simplify_coords_vw_idx,\n    simplify_coords_vwp,\n)\n\n# Using Ramer\u2013Douglas\u2013Peucker\ncoords = [\n    [0.0, 0.0],\n    [5.0, 4.0],\n    [11.0, 5.5],\n    [17.3, 3.2],\n    [27.8, 0.1]\n]\n\n# For RDP, Try an epsilon of 1.0 to start with. Other sensible values include 0.01, 0.001\nsimplified = simplify_coords(coords, 1.0)\n\n# simplified is [[0.0, 0.0], [5.0, 4.0], [11.0, 5.5], [27.8, 0.1]]\n\n# Using Visvalingam-Whyatt\n# You can also pass numpy arrays, in which case you'll get numpy arrays back\nimport numpy as np\ncoords_vw = np.array([\n    [5.0, 2.0],\n    [3.0, 8.0],\n    [6.0, 20.0],\n    [7.0, 25.0],\n    [10.0, 10.0]\n])\nsimplified_vw = simplify_coords_vw(coords_vw, 30.0)\n\n# simplified_vw is [[5.0, 2.0], [7.0, 25.0], [10.0, 10.0]]\n```\n\nPassing empty and/or 1-element lists will return them unaltered.\n\n## But I only want the simplified **Indices**\n`simplification` now has:\n\n- `cutil.simplify_coords_idx`\n- `cutil.simplify_coords_vw_idx`\n\nThe values returned by these functions are the **retained** indices. In order to use them as e.g. a [masked array](https://docs.scipy.org/doc/numpy/reference/maskedarray.generic.html#what-is-a-masked-array) in Numpy, something like the following will work:\n\n    import numpy as np\n    from simplification.cutil import simplify_coords_idx\n\n    # assume an array of coordinates: orig\n    simplified = simplify_coords_idx(orig, 1.0)\n    # build new geometry using only retained coordinates\n    orig_simplified = orig[simplified]\n\n\n## But I need to ensure that the resulting geometries are valid\nYou can use the topology-preserving variant of `VW` for this: `simplify_coords_vwp`. It's slower, but has a far greater likelihood of producing a valid geometry.\n\n\n## But I Want to Simplify Polylines\nNo problem; [Decode them to LineStrings](https://github.com/urschrei/pypolyline) first.\n\n``` python\n# pip install pypolyline before you do this\nfrom pypolyline.cutil import decode_polyline\n# an iterable of Google-encoded Polylines, so precision is 5. For OSRM &c., it's 6\ndecoded = (decode_polyline(line, 5) for line in polylines)\nsimplified = [simplify_coords(line, 1.0) for line in decoded]\n```\n\n## How it Works\nFFI and a [Rust binary](https://github.com/urschrei/rdp)\n\n## Is It Fast\nI should think so.\n### What does that mean\nUsing `numpy` arrays for input and output, the library can be reasonably expected to process around 2500 1000-point LineStrings per second on a Core i7 or equivalent, for a 98%+ reduction in size.  \nA larger LineString, containing 200k+ points can be reduced to around 3k points (98.5%+) in around 50ms using RDP.\n\nThis is based on a test harness available [here](benchmark_runner.py).\n#### Disclaimer\nAll benchmarks are subjective, and pathological input will greatly increase processing time. Error-checking is non-existent at this point.\n\n## License\n[MIT](license.txt)\n\n## Citing `Simplification`\nIf Simplification has been significant in your research, and you would like to acknowledge the project in your academic publication, we suggest citing it as follows (example in APA style, 7th edition):\n\n> H\u00fcgel, S. (2021). Simplification (Version X.Y.Z) [Computer software]. https://doi.org/10.5281/zenodo.5774852\n\nIn Bibtex format:\n\n    @software{Hugel_Simplification_2021,\n    author = {H\u00fcgel, Stephan},\n    doi = {10.5281/zenodo.5774852},\n    license = {MIT},\n    month = {12},\n    title = {{Simplification}},\n    url = {https://github.com/urschrei/simplification},\n    version = {X.Y.Z},\n    year = {2021}\n    }\n",
    "bugtrack_url": null,
    "license": "The MIT License (MIT)  Copyright (c) 2016 Stephan H\u00fcgel  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "Fast linestring simplification using RDP or Visvalingam-Whyatt and a Rust binary",
    "version": "0.7.10",
    "project_urls": {
        "Repository": "https://github.com/urschrei/simplification",
        "Tracker": "https://github.com/urschrei/simplification/issues"
    },
    "split_keywords": [
        "geo",
        "polyline",
        "linestring",
        "ramer-douglas-peucker",
        "douglas-peucker",
        "visvalingam-whyatt"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d88280723f292dc71393b244da5d23f065213e298b16ca90a5f2b5e227e101f0",
                "md5": "d5f45c7db5b96fe6413f2250b61819c1",
                "sha256": "373a388262fcf82785f8f5f32bfd1ce71c4887acce354a024ae029bfa966f1eb"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d5f45c7db5b96fe6413f2250b61819c1",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 279576,
            "upload_time": "2023-11-14T16:20:10",
            "upload_time_iso_8601": "2023-11-14T16:20:10.150330Z",
            "url": "https://files.pythonhosted.org/packages/d8/82/80723f292dc71393b244da5d23f065213e298b16ca90a5f2b5e227e101f0/simplification-0.7.10-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0fc47ec6c76baf07cd92300564eb4ac272ca40a6a8fd2b9383724f90c83393dc",
                "md5": "a3555ef59a5a0faffff040157fe1a771",
                "sha256": "6888710062b58d1a21c85c37a139a1a97233de15fe06f9125ce55419338e0d26"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "a3555ef59a5a0faffff040157fe1a771",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 258408,
            "upload_time": "2023-11-14T16:20:13",
            "upload_time_iso_8601": "2023-11-14T16:20:13.205224Z",
            "url": "https://files.pythonhosted.org/packages/0f/c4/7ec6c76baf07cd92300564eb4ac272ca40a6a8fd2b9383724f90c83393dc/simplification-0.7.10-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2efac5ad66aa289f82a0b59ce57d2d15edbdd3b761be1fe699bd45c713194fab",
                "md5": "9e65fe4ed6ba126a28a431f2a0f4bc5c",
                "sha256": "a9e1870c3f3e2c4fe83a7807f3e3d53cc503841b307de42eb296e283be24a386"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "9e65fe4ed6ba126a28a431f2a0f4bc5c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 692365,
            "upload_time": "2023-11-14T16:20:38",
            "upload_time_iso_8601": "2023-11-14T16:20:38.603468Z",
            "url": "https://files.pythonhosted.org/packages/2e/fa/c5ad66aa289f82a0b59ce57d2d15edbdd3b761be1fe699bd45c713194fab/simplification-0.7.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "743827a2b9d5e5fdd69e50359943f2f9fd3f59e19a0cba13ec9fed97005e2630",
                "md5": "6f6ea301061cbdb243b1192908c219b6",
                "sha256": "cbb477d30f622d1b66759df17178a2680c72bb5f39e5694491da02a472eeb8f1"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6f6ea301061cbdb243b1192908c219b6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 709222,
            "upload_time": "2023-11-14T16:20:41",
            "upload_time_iso_8601": "2023-11-14T16:20:41.433639Z",
            "url": "https://files.pythonhosted.org/packages/74/38/27a2b9d5e5fdd69e50359943f2f9fd3f59e19a0cba13ec9fed97005e2630/simplification-0.7.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d62fc6c0315592a387000c676f17ac40f9e4ed3bfbebdeda97de7be059e19dea",
                "md5": "9db63ea987763071caad9f8bc9c188b6",
                "sha256": "39972dbfa890dc4cc65d8d0667b93d9dee6b46c140a0ed5da810fce18c4bbebc"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "9db63ea987763071caad9f8bc9c188b6",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.8",
            "size": 192263,
            "upload_time": "2023-11-14T16:21:05",
            "upload_time_iso_8601": "2023-11-14T16:21:05.045769Z",
            "url": "https://files.pythonhosted.org/packages/d6/2f/c6c0315592a387000c676f17ac40f9e4ed3bfbebdeda97de7be059e19dea/simplification-0.7.10-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "56295f9f0d492f64ec2241150ca18ceac67af18ea00a9c881b98a7b0dd7a4c91",
                "md5": "41a65c24ffaaaeed043d5a2d51bfe5fe",
                "sha256": "518aead8f2acd65d842b8e3d03415ca55b462e34ff8df85df2b56f42210ebd64"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "41a65c24ffaaaeed043d5a2d51bfe5fe",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 279298,
            "upload_time": "2023-11-14T16:20:15",
            "upload_time_iso_8601": "2023-11-14T16:20:15.708365Z",
            "url": "https://files.pythonhosted.org/packages/56/29/5f9f0d492f64ec2241150ca18ceac67af18ea00a9c881b98a7b0dd7a4c91/simplification-0.7.10-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2c4b94064874f372c56a0c3ea5d3c04394b84dc6c2468994bf7ac56677acbff3",
                "md5": "f18d550395ec4457fea662148d09b518",
                "sha256": "56479dcf9fe3a61f0edf709323f6bbd50ce5f50c9118962817944cf10db4d62f"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "f18d550395ec4457fea662148d09b518",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 258260,
            "upload_time": "2023-11-14T16:20:18",
            "upload_time_iso_8601": "2023-11-14T16:20:18.758619Z",
            "url": "https://files.pythonhosted.org/packages/2c/4b/94064874f372c56a0c3ea5d3c04394b84dc6c2468994bf7ac56677acbff3/simplification-0.7.10-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d6e92ad4390a7fc5d162d4aa1a4ce532c87d98f192fab25a63739dfc0d619490",
                "md5": "41e766a78759f9f8b66689e51b52e5c6",
                "sha256": "a1fc812eb7c9ff353f7103d46407eb37ce272cfffbe05f81326b1dcae61c503b"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "41e766a78759f9f8b66689e51b52e5c6",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 736220,
            "upload_time": "2023-11-14T16:20:43",
            "upload_time_iso_8601": "2023-11-14T16:20:43.551309Z",
            "url": "https://files.pythonhosted.org/packages/d6/e9/2ad4390a7fc5d162d4aa1a4ce532c87d98f192fab25a63739dfc0d619490/simplification-0.7.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7e504ba0df48a7a6a2dc71981d2b0fa622bf290cf37397736a108fdd99f553b9",
                "md5": "3ba1d1bc81926d8d06265c6b2c8ba76a",
                "sha256": "789b37557c3326f8c82688d3f266c1e2055bb6d9ae26bacbbfacdc64aa3dbb63"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3ba1d1bc81926d8d06265c6b2c8ba76a",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 753937,
            "upload_time": "2023-11-14T16:20:46",
            "upload_time_iso_8601": "2023-11-14T16:20:46.259694Z",
            "url": "https://files.pythonhosted.org/packages/7e/50/4ba0df48a7a6a2dc71981d2b0fa622bf290cf37397736a108fdd99f553b9/simplification-0.7.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "54690e85dac7232f6b5f5972159547626eae939be3acde48fc3b47a1df1b7e40",
                "md5": "5e028dc240ea374c3a3d8f30c1b3854f",
                "sha256": "aa4932acfa648be3506310bf6861a1f3c95881ac36ff6158ea8f449b3fc2fd28"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5e028dc240ea374c3a3d8f30c1b3854f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.8",
            "size": 192383,
            "upload_time": "2023-11-14T16:21:07",
            "upload_time_iso_8601": "2023-11-14T16:21:07.532822Z",
            "url": "https://files.pythonhosted.org/packages/54/69/0e85dac7232f6b5f5972159547626eae939be3acde48fc3b47a1df1b7e40/simplification-0.7.10-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "077540dd146d7a72eb58cafed7657ae14f63fe2f90529550462f597755a4a0f4",
                "md5": "95575f07bcdf5f6c68188b066404cd8b",
                "sha256": "2265cf4dcfd633b792c54404f63af794e71aab5333f1125ce88f7f5431978b24"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp312-cp312-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "95575f07bcdf5f6c68188b066404cd8b",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 279384,
            "upload_time": "2023-11-14T16:20:22",
            "upload_time_iso_8601": "2023-11-14T16:20:22.860693Z",
            "url": "https://files.pythonhosted.org/packages/07/75/40dd146d7a72eb58cafed7657ae14f63fe2f90529550462f597755a4a0f4/simplification-0.7.10-cp312-cp312-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dc8a0d575aaeb9f39db5ce009ca08f1cc4e0a7314c4affac052873add0cc8066",
                "md5": "68f9194ca9d6e21f27994a1cd4e98984",
                "sha256": "69f9ac8cf80780fd095f60751bb8339f490fb85006a05e0fc23c6b62d0277225"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "68f9194ca9d6e21f27994a1cd4e98984",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 258425,
            "upload_time": "2023-11-14T16:20:25",
            "upload_time_iso_8601": "2023-11-14T16:20:25.852325Z",
            "url": "https://files.pythonhosted.org/packages/dc/8a/0d575aaeb9f39db5ce009ca08f1cc4e0a7314c4affac052873add0cc8066/simplification-0.7.10-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cd58b2c8baa249c7fe2c1c463116955cb024e508e252af049003c78262db7ef8",
                "md5": "5e0aae5d2e4007430aa40bd59787dff9",
                "sha256": "c652ffaed94c57273c827df10abb4f7914927979c603a2bd786c4c574a3c60ef"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5e0aae5d2e4007430aa40bd59787dff9",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 720306,
            "upload_time": "2023-11-14T16:20:48",
            "upload_time_iso_8601": "2023-11-14T16:20:48.297336Z",
            "url": "https://files.pythonhosted.org/packages/cd/58/b2c8baa249c7fe2c1c463116955cb024e508e252af049003c78262db7ef8/simplification-0.7.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0e633c2f8ef1aec8a314db003a3343d1040675fdcc2b421d27fa738b02fefb01",
                "md5": "08d831c4c4b35aee7374cad4aa74708f",
                "sha256": "2d06bcc40a32ecc90ff20caed425eabff6507818bd91096e4dbdffc554f8ad57"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "08d831c4c4b35aee7374cad4aa74708f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 742542,
            "upload_time": "2023-11-14T16:20:51",
            "upload_time_iso_8601": "2023-11-14T16:20:51.579399Z",
            "url": "https://files.pythonhosted.org/packages/0e/63/3c2f8ef1aec8a314db003a3343d1040675fdcc2b421d27fa738b02fefb01/simplification-0.7.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b6bcbac21e78234950a99da6a39579aa89e3cb3d5c42db7491b335d83d9f16b5",
                "md5": "1a7ad2dc22a55674bf8039412da733b7",
                "sha256": "a416c4b2759e3e118a2dd691dee7031fb6a2590ff280de1daf363a0b73354611"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "1a7ad2dc22a55674bf8039412da733b7",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.8",
            "size": 191301,
            "upload_time": "2023-11-14T16:21:10",
            "upload_time_iso_8601": "2023-11-14T16:21:10.358692Z",
            "url": "https://files.pythonhosted.org/packages/b6/bc/bac21e78234950a99da6a39579aa89e3cb3d5c42db7491b335d83d9f16b5/simplification-0.7.10-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2dad1e6da82924cdb2507736f148d164258f9792601b9b920d99e97eb200dc45",
                "md5": "227cc6bd72dd67543d3cbf5918a4ed8d",
                "sha256": "900c68fb25848f641ce64b14d798dc648ca252c0ea9a246d73d56d1d2cf20abd"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp38-cp38-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "227cc6bd72dd67543d3cbf5918a4ed8d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 279779,
            "upload_time": "2023-11-14T16:20:28",
            "upload_time_iso_8601": "2023-11-14T16:20:28.559329Z",
            "url": "https://files.pythonhosted.org/packages/2d/ad/1e6da82924cdb2507736f148d164258f9792601b9b920d99e97eb200dc45/simplification-0.7.10-cp38-cp38-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a22b2701696bbf9408f38d8c3d0af451109e24e6c1ab351de374ef5834f3eb9e",
                "md5": "194351baa21a9c660b52fd81fa26518d",
                "sha256": "88020725cf725307f7b2e62f02bee0ebdde8d2e56dbaa65867c3047cfb4f202b"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp38-cp38-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "194351baa21a9c660b52fd81fa26518d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 258255,
            "upload_time": "2023-11-14T16:20:31",
            "upload_time_iso_8601": "2023-11-14T16:20:31.185406Z",
            "url": "https://files.pythonhosted.org/packages/a2/2b/2701696bbf9408f38d8c3d0af451109e24e6c1ab351de374ef5834f3eb9e/simplification-0.7.10-cp38-cp38-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dc5f981cc0f024dd8f4e9015f85e367435c4b947a33fcdad6cc96b95a900f9d7",
                "md5": "e33a6c4956f0bc9c3fb6b7a2cba1ccde",
                "sha256": "cfa19e7f0fca6780c48de370f8577cdb0dc15c9038a48feb998520786a77ad17"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "e33a6c4956f0bc9c3fb6b7a2cba1ccde",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 705382,
            "upload_time": "2023-11-14T16:20:55",
            "upload_time_iso_8601": "2023-11-14T16:20:55.162397Z",
            "url": "https://files.pythonhosted.org/packages/dc/5f/981cc0f024dd8f4e9015f85e367435c4b947a33fcdad6cc96b95a900f9d7/simplification-0.7.10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dab0ca791235f7232c348dacfd6a52eb14085f2763d49f7784cf2fbeabcfa698",
                "md5": "e7949411b9ae79374e2cfbc8649edde2",
                "sha256": "a9baf5ceeb966b461a387b868cf3e01a31be97e6814954e662503a01a3755537"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e7949411b9ae79374e2cfbc8649edde2",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 723957,
            "upload_time": "2023-11-14T16:20:57",
            "upload_time_iso_8601": "2023-11-14T16:20:57.800577Z",
            "url": "https://files.pythonhosted.org/packages/da/b0/ca791235f7232c348dacfd6a52eb14085f2763d49f7784cf2fbeabcfa698/simplification-0.7.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "59d81e8a84853d8a77467fcf81a4773234c25bb72407cd23841cbceca1e3d538",
                "md5": "6837d50863bb5c4c618a9ed36d7953f0",
                "sha256": "83744b5fcbe9a196cc1bcd985b8e2aa388882551b95b5ae5693ca55a492d1276"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp38-cp38-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6837d50863bb5c4c618a9ed36d7953f0",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 192913,
            "upload_time": "2023-11-14T16:21:12",
            "upload_time_iso_8601": "2023-11-14T16:21:12.013612Z",
            "url": "https://files.pythonhosted.org/packages/59/d8/1e8a84853d8a77467fcf81a4773234c25bb72407cd23841cbceca1e3d538/simplification-0.7.10-cp38-cp38-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "838384a8bd2d0d2de0b603404172488d0a5ff8ef950a58d2cfb8ab7f65cf9a9e",
                "md5": "0c97836e323f6b98d10b6dbbd06969ea",
                "sha256": "a961aee101085232279e4a6d13bf907fe0edc824dedb6907a6fb85a367565ed8"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0c97836e323f6b98d10b6dbbd06969ea",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 280186,
            "upload_time": "2023-11-14T16:20:33",
            "upload_time_iso_8601": "2023-11-14T16:20:33.228329Z",
            "url": "https://files.pythonhosted.org/packages/83/83/84a8bd2d0d2de0b603404172488d0a5ff8ef950a58d2cfb8ab7f65cf9a9e/simplification-0.7.10-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8eee83ac299d04b319e2bdd32f3c531f8c42c6106ee728d1eb4ab6cb54b55c72",
                "md5": "9ecd722078660ac511bc81645c16cb62",
                "sha256": "eb35d1936536c994f68ca843f60851115defb1573e654658831a41652d030c1c"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp39-cp39-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "9ecd722078660ac511bc81645c16cb62",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 258981,
            "upload_time": "2023-11-14T16:20:35",
            "upload_time_iso_8601": "2023-11-14T16:20:35.856135Z",
            "url": "https://files.pythonhosted.org/packages/8e/ee/83ac299d04b319e2bdd32f3c531f8c42c6106ee728d1eb4ab6cb54b55c72/simplification-0.7.10-cp39-cp39-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ee6c114400844ac2d864414c67eb7f807e84a21a811467632e439a76a58999bd",
                "md5": "24029f795e4a389c07425a6005c1ae2f",
                "sha256": "c62d6b0d670bb50f4eb90ea703b6b28b613d4e0f5cf933d9f740207da7ae1f12"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "24029f795e4a389c07425a6005c1ae2f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 694738,
            "upload_time": "2023-11-14T16:20:59",
            "upload_time_iso_8601": "2023-11-14T16:20:59.980009Z",
            "url": "https://files.pythonhosted.org/packages/ee/6c/114400844ac2d864414c67eb7f807e84a21a811467632e439a76a58999bd/simplification-0.7.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a86f0b48a6bf3cbab1c648f675c455d3527fed26e913fa43fbba189e58a089fd",
                "md5": "25781573649aab0f51ba235dd1637e5b",
                "sha256": "ec96e8867e8d71837726fe2b378957032ffab8b657d191dfa67fd99576022e0b"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "25781573649aab0f51ba235dd1637e5b",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 712370,
            "upload_time": "2023-11-14T16:21:02",
            "upload_time_iso_8601": "2023-11-14T16:21:02.678826Z",
            "url": "https://files.pythonhosted.org/packages/a8/6f/0b48a6bf3cbab1c648f675c455d3527fed26e913fa43fbba189e58a089fd/simplification-0.7.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "53d7bcd29089a5decb938a63d218f239724af3af506de025ff7d38122e07dce9",
                "md5": "d7f0f26053c1c8fb73b8ced64d8e24a9",
                "sha256": "805689616f3fcbd71f9fc89fc2d431e76c64b2c5337e4ae992f8e732aa416d21"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "d7f0f26053c1c8fb73b8ced64d8e24a9",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.8",
            "size": 192809,
            "upload_time": "2023-11-14T16:21:14",
            "upload_time_iso_8601": "2023-11-14T16:21:14.249601Z",
            "url": "https://files.pythonhosted.org/packages/53/d7/bcd29089a5decb938a63d218f239724af3af506de025ff7d38122e07dce9/simplification-0.7.10-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "738dc7734e908a95450b3f7d6859cd0c213e9bfc0c101b9e04ba9f6070d227ae",
                "md5": "f6964860d6aaced71881b66b34e5b714",
                "sha256": "4fbecf738eb36b6fe27c62824eb1c4d4f2700b56375e492fe67c1095747d07d3"
            },
            "downloads": -1,
            "filename": "simplification-0.7.10.tar.gz",
            "has_sig": false,
            "md5_digest": "f6964860d6aaced71881b66b34e5b714",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 1460009,
            "upload_time": "2023-11-14T16:21:16",
            "upload_time_iso_8601": "2023-11-14T16:21:16.640291Z",
            "url": "https://files.pythonhosted.org/packages/73/8d/c7734e908a95450b3f7d6859cd0c213e9bfc0c101b9e04ba9f6070d227ae/simplification-0.7.10.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-14 16:21:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "urschrei",
    "github_project": "simplification",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "simplification"
}
        
Elapsed time: 0.14987s