simplification


Namesimplification JSON
Version 0.7.13 PyPI version JSON
download
home_pageNone
SummaryFast linestring simplification using RDP or Visvalingam-Whyatt and a Rust binary
upload_time2024-10-12 15:35:42
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
license# Blue Oak Model License Version 1.0.0 ## Purpose This license gives everyone as much permission to work with this software as possible, while protecting contributors from liability. ## Acceptance In order to receive this license, you must agree to its rules. The rules of this license are both obligations under that agreement and conditions to your license. You must not do anything with this software that triggers a rule that you cannot or will not follow. ## Copyright Each contributor licenses you to do everything with this software that would otherwise infringe that contributor's copyright in it. ## Notices You must ensure that everyone who gets a copy of any part of this software from you, with or without changes, also gets the text of this license or a link to <https://blueoakcouncil.org/license/1.0.0>. ## Excuse If anyone notifies you in writing that you have not complied with [Notices](#notices), you can keep your license by taking all practical steps to comply within 30 days after the notice. If you do not do so, your license ends immediately. ## Patent Each contributor licenses you to do everything with this software that would otherwise infringe any patent claims they can license or become able to license. ## Reliability No contributor can revoke this license. ## No Liability ***As far as the law allows, this software comes as is, without any warranty or condition, and no contributor will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.***
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) [![Anaconda-Server Badge](https://anaconda.org/conda-forge/simplification/badges/version.svg)](https://anaconda.org/conda-forge/simplification)

# 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
`uv add simplification` OR  
`pip install simplification` OR  
`conda install conda-forge::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
Simplification supports all [_currently_ supported Python versions](https://devguide.python.org/versions/).

### 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
[Blue Oak Model Licence 1.0.0](LICENSE.md)

## 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}
    }

# Blue Oak Model License

Version 1.0.0

## Purpose

This license gives everyone as much permission to work with this software as possible, while protecting contributors from liability.

## Acceptance

In order to receive this license, you must agree to its rules. The rules of this license are both obligations under that agreement and conditions to your license. You must not do anything with this software that triggers a rule that you cannot or will not follow.

## Copyright

Each contributor licenses you to do everything with this software that would otherwise infringe that contributor's copyright in it.

## Notices

You must ensure that everyone who gets a copy of any part of this software from you, with or without changes, also gets the text of this license or a link to <https://blueoakcouncil.org/license/1.0.0>.

## Excuse

If anyone notifies you in writing that you have not complied with [Notices](#notices), you can keep your license by taking all practical steps to comply within 30 days after the notice. If you do not do so, your license ends immediately.

## Patent

Each contributor licenses you to do everything with this software that would otherwise infringe any patent claims they can license or become able to license.

## Reliability

No contributor can revoke this license.

## No Liability

***As far as the law allows, this software comes as is, without any warranty or condition, and no contributor will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.***

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "simplification",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "Geo, Polyline, Linestring, Ramer-Douglas-Peucker, Douglas-Peucker, Visvalingam-Whyatt",
    "author": null,
    "author_email": "Stephan H\u00fcgel <urschrei@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/5e/43/40887f0edc7a523264fe8dbfe83f762f57b0efcca21cdce62d609310e68a/simplification-0.7.13.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) [![Anaconda-Server Badge](https://anaconda.org/conda-forge/simplification/badges/version.svg)](https://anaconda.org/conda-forge/simplification)\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`uv add simplification` OR  \n`pip install simplification` OR  \n`conda install conda-forge::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\nSimplification supports all [_currently_ supported Python versions](https://devguide.python.org/versions/).\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[Blue Oak Model Licence 1.0.0](LICENSE.md)\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\n# Blue Oak Model License\n\nVersion 1.0.0\n\n## Purpose\n\nThis license gives everyone as much permission to work with this software as possible, while protecting contributors from liability.\n\n## Acceptance\n\nIn order to receive this license, you must agree to its rules. The rules of this license are both obligations under that agreement and conditions to your license. You must not do anything with this software that triggers a rule that you cannot or will not follow.\n\n## Copyright\n\nEach contributor licenses you to do everything with this software that would otherwise infringe that contributor's copyright in it.\n\n## Notices\n\nYou must ensure that everyone who gets a copy of any part of this software from you, with or without changes, also gets the text of this license or a link to <https://blueoakcouncil.org/license/1.0.0>.\n\n## Excuse\n\nIf anyone notifies you in writing that you have not complied with [Notices](#notices), you can keep your license by taking all practical steps to comply within 30 days after the notice. If you do not do so, your license ends immediately.\n\n## Patent\n\nEach contributor licenses you to do everything with this software that would otherwise infringe any patent claims they can license or become able to license.\n\n## Reliability\n\nNo contributor can revoke this license.\n\n## No Liability\n\n***As far as the law allows, this software comes as is, without any warranty or condition, and no contributor will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.***\n",
    "bugtrack_url": null,
    "license": "# Blue Oak Model License  Version 1.0.0  ## Purpose  This license gives everyone as much permission to work with this software as possible, while protecting contributors from liability.  ## Acceptance  In order to receive this license, you must agree to its rules. The rules of this license are both obligations under that agreement and conditions to your license. You must not do anything with this software that triggers a rule that you cannot or will not follow.  ## Copyright  Each contributor licenses you to do everything with this software that would otherwise infringe that contributor's copyright in it.  ## Notices  You must ensure that everyone who gets a copy of any part of this software from you, with or without changes, also gets the text of this license or a link to <https://blueoakcouncil.org/license/1.0.0>.  ## Excuse  If anyone notifies you in writing that you have not complied with [Notices](#notices), you can keep your license by taking all practical steps to comply within 30 days after the notice. If you do not do so, your license ends immediately.  ## Patent  Each contributor licenses you to do everything with this software that would otherwise infringe any patent claims they can license or become able to license.  ## Reliability  No contributor can revoke this license.  ## No Liability  ***As far as the law allows, this software comes as is, without any warranty or condition, and no contributor will be liable to anyone for any damages related to this software or this license, under any kind of legal claim.*** ",
    "summary": "Fast linestring simplification using RDP or Visvalingam-Whyatt and a Rust binary",
    "version": "0.7.13",
    "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": "8b22978f55b4ebbac244222d85508880bedeca7361c0060f064264bee70802b9",
                "md5": "18a0d563bf9c8239c1c32ae447ddeb59",
                "sha256": "bde7771fcfbc30a3fd9fc731b04924521e9ecdab65631c3b398e659a9a7aa8d0"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp310-cp310-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "18a0d563bf9c8239c1c32ae447ddeb59",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 275070,
            "upload_time": "2024-10-12T15:35:01",
            "upload_time_iso_8601": "2024-10-12T15:35:01.743749Z",
            "url": "https://files.pythonhosted.org/packages/8b/22/978f55b4ebbac244222d85508880bedeca7361c0060f064264bee70802b9/simplification-0.7.13-cp310-cp310-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "651e48ffbe7dd17916f09d4a1a2664feda5859c0c0c148f85602048ba9a9fc7d",
                "md5": "c62df21bd6d3438b1b7288c3a3f7d24d",
                "sha256": "d2b540af7ef90a721c1966abd35a661a0ba9cb57221289ed502ae9580f863690"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c62df21bd6d3438b1b7288c3a3f7d24d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 254959,
            "upload_time": "2024-10-12T15:35:03",
            "upload_time_iso_8601": "2024-10-12T15:35:03.430228Z",
            "url": "https://files.pythonhosted.org/packages/65/1e/48ffbe7dd17916f09d4a1a2664feda5859c0c0c148f85602048ba9a9fc7d/simplification-0.7.13-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c65481de1ce9c9bc463578d3a7e4c7717fa1399efdd4e4ae79f56a1cca2fecf9",
                "md5": "7c411d30eba82831dfc9276cea6f9ef2",
                "sha256": "d102769132ab409140816671e53972a35f5d870f7233da991db1c3023b081450"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "7c411d30eba82831dfc9276cea6f9ef2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 681138,
            "upload_time": "2024-10-12T15:35:05",
            "upload_time_iso_8601": "2024-10-12T15:35:05.519101Z",
            "url": "https://files.pythonhosted.org/packages/c6/54/81de1ce9c9bc463578d3a7e4c7717fa1399efdd4e4ae79f56a1cca2fecf9/simplification-0.7.13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ddf4a6aaae28bc0f8e24e9564b19bab0b202e9cdac1fd2b37b3b5096486fad0b",
                "md5": "e084dbda1e56f2f01fd1a01cba737ef5",
                "sha256": "81d39241b85e63db951061c6b272de4efd0b4b74e1aa4ccdb530c201d262cb97"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e084dbda1e56f2f01fd1a01cba737ef5",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 700425,
            "upload_time": "2024-10-12T15:35:07",
            "upload_time_iso_8601": "2024-10-12T15:35:07.405553Z",
            "url": "https://files.pythonhosted.org/packages/dd/f4/a6aaae28bc0f8e24e9564b19bab0b202e9cdac1fd2b37b3b5096486fad0b/simplification-0.7.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2f01b3280a62f61025f113b80aa1af9dbc63a4507fed4c0672704faa15567793",
                "md5": "ddea262f72928426b53dd4ddcce7908c",
                "sha256": "d0e71474728ebe3da7cc68d5048e9a1ef9903afbafe2b9c7664e76e99019a555"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "ddea262f72928426b53dd4ddcce7908c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 185858,
            "upload_time": "2024-10-12T15:35:09",
            "upload_time_iso_8601": "2024-10-12T15:35:09.168961Z",
            "url": "https://files.pythonhosted.org/packages/2f/01/b3280a62f61025f113b80aa1af9dbc63a4507fed4c0672704faa15567793/simplification-0.7.13-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ed033f719701fbac841359b62006067d7438589c86831dc87fdc6d2baf0f624",
                "md5": "a0d4ce6f76addb9ec355b689c75f4f69",
                "sha256": "9d0b4f6e678bbd693268155b3b24d1d26a81b3fcff57eacbaa0fcbea7328e33b"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp311-cp311-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a0d4ce6f76addb9ec355b689c75f4f69",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 275197,
            "upload_time": "2024-10-12T15:35:10",
            "upload_time_iso_8601": "2024-10-12T15:35:10.570430Z",
            "url": "https://files.pythonhosted.org/packages/6e/d0/33f719701fbac841359b62006067d7438589c86831dc87fdc6d2baf0f624/simplification-0.7.13-cp311-cp311-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0f7fe2c1a8d50efad3c3574da251f9d9717e2cf506442deb9cc1af1048446b7d",
                "md5": "65a636130a7ff5909434cb69d8fc74c1",
                "sha256": "338723ab18d2150af74369e74e9b09024acd9700c405f7d72bb0f53b1e36da50"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "65a636130a7ff5909434cb69d8fc74c1",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 254924,
            "upload_time": "2024-10-12T15:35:12",
            "upload_time_iso_8601": "2024-10-12T15:35:12.373941Z",
            "url": "https://files.pythonhosted.org/packages/0f/7f/e2c1a8d50efad3c3574da251f9d9717e2cf506442deb9cc1af1048446b7d/simplification-0.7.13-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8647cd04b263e575b00a19ed85cf86cfa3247e4a435ff35c90683e57f92cf0f9",
                "md5": "a6e8de5bb731ac8905e3ed0459b61f08",
                "sha256": "0f5888544c489a9ed897d62f28e5465a60c3eba9e9ff07e13b78c1da92c5d7d0"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "a6e8de5bb731ac8905e3ed0459b61f08",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 726019,
            "upload_time": "2024-10-12T15:35:13",
            "upload_time_iso_8601": "2024-10-12T15:35:13.753733Z",
            "url": "https://files.pythonhosted.org/packages/86/47/cd04b263e575b00a19ed85cf86cfa3247e4a435ff35c90683e57f92cf0f9/simplification-0.7.13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "35e1fe91971f897ffa835a3228eea4d95622fb92bbcccf38c414913d42445cb7",
                "md5": "aa0addd5b4b266507b824f7439ff1f17",
                "sha256": "e6f2130789e4726f7ce73a3043bed9980ca504824c3ecb2001123543ea295085"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "aa0addd5b4b266507b824f7439ff1f17",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 746989,
            "upload_time": "2024-10-12T15:35:15",
            "upload_time_iso_8601": "2024-10-12T15:35:15.650413Z",
            "url": "https://files.pythonhosted.org/packages/35/e1/fe91971f897ffa835a3228eea4d95622fb92bbcccf38c414913d42445cb7/simplification-0.7.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2517653d9cfb57068ac11060b82d6c2a6e1db20ea731f2910e48cac3da16ec96",
                "md5": "62af73371400e2cf58253fb4759e751f",
                "sha256": "4d28b080ae0b3255906a1f8fc0bd14ce7d99c46ebbdea352f574cd3a010f8fb7"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "62af73371400e2cf58253fb4759e751f",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 186042,
            "upload_time": "2024-10-12T15:35:17",
            "upload_time_iso_8601": "2024-10-12T15:35:17.424994Z",
            "url": "https://files.pythonhosted.org/packages/25/17/653d9cfb57068ac11060b82d6c2a6e1db20ea731f2910e48cac3da16ec96/simplification-0.7.13-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "00809496018dc63d79eb1c4a345ced5fad38b87c4c04ed1241a0676b3c574931",
                "md5": "346e97ed6d296011d340bc6de5fd0555",
                "sha256": "e3fb9b94003e28bbc84f71b0d7f1f56936ee9c3c536d7dbfd21ed6bc68810a8d"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp312-cp312-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "346e97ed6d296011d340bc6de5fd0555",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 274538,
            "upload_time": "2024-10-12T15:35:19",
            "upload_time_iso_8601": "2024-10-12T15:35:19.079060Z",
            "url": "https://files.pythonhosted.org/packages/00/80/9496018dc63d79eb1c4a345ced5fad38b87c4c04ed1241a0676b3c574931/simplification-0.7.13-cp312-cp312-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2bf45a62d228a86b6365abce1d8b75e02fcd01addb34ed2d311048f42f8764ff",
                "md5": "149d1824ed3eabf3614ff77825dee445",
                "sha256": "f7a2e32abe44f84e891b47523b142b9fd29fefadacc3850f94324315bb340a99"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "149d1824ed3eabf3614ff77825dee445",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 255838,
            "upload_time": "2024-10-12T15:35:20",
            "upload_time_iso_8601": "2024-10-12T15:35:20.821051Z",
            "url": "https://files.pythonhosted.org/packages/2b/f4/5a62d228a86b6365abce1d8b75e02fcd01addb34ed2d311048f42f8764ff/simplification-0.7.13-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7ee17add2d7ee952a52939279f064dce7835661833ebff50674c1a13f660e685",
                "md5": "03ec9045c2c2793ff351881b10507445",
                "sha256": "14b3a49957370b509d781583fad0fab169d6c60418393d0aab365c25c301c00e"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "03ec9045c2c2793ff351881b10507445",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 708133,
            "upload_time": "2024-10-12T15:35:22",
            "upload_time_iso_8601": "2024-10-12T15:35:22.562902Z",
            "url": "https://files.pythonhosted.org/packages/7e/e1/7add2d7ee952a52939279f064dce7835661833ebff50674c1a13f660e685/simplification-0.7.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "723183f133dd919ee05972f3b1a9dc7217b9d69eac580443383f946a5b52628d",
                "md5": "c288b4eab77f0c9ce50fb9886b783dec",
                "sha256": "5127aa72369111f27783311d806ba62452065fb9a06f7445514dbe093c6885c1"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c288b4eab77f0c9ce50fb9886b783dec",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 734601,
            "upload_time": "2024-10-12T15:35:24",
            "upload_time_iso_8601": "2024-10-12T15:35:24.403816Z",
            "url": "https://files.pythonhosted.org/packages/72/31/83f133dd919ee05972f3b1a9dc7217b9d69eac580443383f946a5b52628d/simplification-0.7.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b6876f1d6339d8279ef55ab38811742f99b0596287fe0d8b0e033149c8d9bd6b",
                "md5": "f4304d5e87256597591f6c701ff21d7c",
                "sha256": "599a1e5d05d474d14f5859764bb98f9ee2d8ff156420b22eca6c8635159cba2c"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f4304d5e87256597591f6c701ff21d7c",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 184583,
            "upload_time": "2024-10-12T15:35:26",
            "upload_time_iso_8601": "2024-10-12T15:35:26.008494Z",
            "url": "https://files.pythonhosted.org/packages/b6/87/6f1d6339d8279ef55ab38811742f99b0596287fe0d8b0e033149c8d9bd6b/simplification-0.7.13-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a8684238606b2ec0bc3b713b98d1f260b0631f6139f4499de5e5e3ab430eea7c",
                "md5": "f6c760a44d356dc1cc6fa265ed8f7d62",
                "sha256": "eda0cb08a5f6cc90b48014833f1dd603c7435dc81e6316f61b288806c84c31bf"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp313-cp313-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f6c760a44d356dc1cc6fa265ed8f7d62",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 273319,
            "upload_time": "2024-10-12T15:35:27",
            "upload_time_iso_8601": "2024-10-12T15:35:27.715971Z",
            "url": "https://files.pythonhosted.org/packages/a8/68/4238606b2ec0bc3b713b98d1f260b0631f6139f4499de5e5e3ab430eea7c/simplification-0.7.13-cp313-cp313-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c1593aeeb1d39017331bef275007f10fa62044767fa685f5381d01a06668b202",
                "md5": "b3a79c8b203ff47594f8e6cfd8bbc239",
                "sha256": "60364a6b9ef2c561dd6b057ce1455e30d772b588b3d07e98bcedec830a307858"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "b3a79c8b203ff47594f8e6cfd8bbc239",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 254440,
            "upload_time": "2024-10-12T15:35:29",
            "upload_time_iso_8601": "2024-10-12T15:35:29.392847Z",
            "url": "https://files.pythonhosted.org/packages/c1/59/3aeeb1d39017331bef275007f10fa62044767fa685f5381d01a06668b202/simplification-0.7.13-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2559dd25b36659eb55ea5eb994bfa56098d38ca95bbc4aafc0eba6ef345ad0c2",
                "md5": "2eb36b51f6f917eb9539c131bac4e663",
                "sha256": "2c02278b3bcdccbf315c31be6332b62f8be2971910a862cc95771542eb8389bd"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "2eb36b51f6f917eb9539c131bac4e663",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 705948,
            "upload_time": "2024-10-12T15:35:31",
            "upload_time_iso_8601": "2024-10-12T15:35:31.175902Z",
            "url": "https://files.pythonhosted.org/packages/25/59/dd25b36659eb55ea5eb994bfa56098d38ca95bbc4aafc0eba6ef345ad0c2/simplification-0.7.13-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9c675a3cc671bfcb5bfaf8484e0d350fb6da17367471f736f0249b88199a2e79",
                "md5": "0c46f2b97bd6db4f4ee91e596587343b",
                "sha256": "b7a9bbab712e9efced43b2808f9fba9b296933faffbf9456e9f3bb081b143e08"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0c46f2b97bd6db4f4ee91e596587343b",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 729382,
            "upload_time": "2024-10-12T15:35:32",
            "upload_time_iso_8601": "2024-10-12T15:35:32.551679Z",
            "url": "https://files.pythonhosted.org/packages/9c/67/5a3cc671bfcb5bfaf8484e0d350fb6da17367471f736f0249b88199a2e79/simplification-0.7.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "862e043372c3b5b9b7d2e2ec58c7590e914e411f8e4cabbb2ef52bdc36fa32ec",
                "md5": "b4698dcfe9da09662cb30d0945960905",
                "sha256": "7092d57248779d86c935763a02084b60c9e3859b1259be75a83b8da662826c8f"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "b4698dcfe9da09662cb30d0945960905",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 184713,
            "upload_time": "2024-10-12T15:35:34",
            "upload_time_iso_8601": "2024-10-12T15:35:34.118795Z",
            "url": "https://files.pythonhosted.org/packages/86/2e/043372c3b5b9b7d2e2ec58c7590e914e411f8e4cabbb2ef52bdc36fa32ec/simplification-0.7.13-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1e50601656ab66a1b8af6edbc5841d2244594e7b661c836c0102fc6624475dd0",
                "md5": "6c383e9607f73ab2104d3cc40854a458",
                "sha256": "9d85e61727166b295dd58cb65ccf74e3fc5f983412c58d3b1182a011ba6f857a"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp39-cp39-macosx_10_9_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6c383e9607f73ab2104d3cc40854a458",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 275817,
            "upload_time": "2024-10-12T15:35:35",
            "upload_time_iso_8601": "2024-10-12T15:35:35.730917Z",
            "url": "https://files.pythonhosted.org/packages/1e/50/601656ab66a1b8af6edbc5841d2244594e7b661c836c0102fc6624475dd0/simplification-0.7.13-cp39-cp39-macosx_10_9_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2fd968b22713eab7bacde8920ca04936d67c73d8e603fedb24096aa49aab4ec3",
                "md5": "c819f1d0900b8ff01cb64cff71cc9527",
                "sha256": "0aa8c0852c04690c946d38992227b68109bab25d5de6fe8618141a56ca5a9c9b"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c819f1d0900b8ff01cb64cff71cc9527",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 683494,
            "upload_time": "2024-10-12T15:35:37",
            "upload_time_iso_8601": "2024-10-12T15:35:37.336480Z",
            "url": "https://files.pythonhosted.org/packages/2f/d9/68b22713eab7bacde8920ca04936d67c73d8e603fedb24096aa49aab4ec3/simplification-0.7.13-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a45bdbee0dd8ef2af9b4b5cf79be5c8166b0421a604342cb3031ac7e39c726fd",
                "md5": "6ec66027c8ed4990a05ccfc41f810a68",
                "sha256": "3fb7cfe26ea343c99efe874be0444c8d08572127d574f3f5dd055f3f78fac82a"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6ec66027c8ed4990a05ccfc41f810a68",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 702133,
            "upload_time": "2024-10-12T15:35:38",
            "upload_time_iso_8601": "2024-10-12T15:35:38.684800Z",
            "url": "https://files.pythonhosted.org/packages/a4/5b/dbee0dd8ef2af9b4b5cf79be5c8166b0421a604342cb3031ac7e39c726fd/simplification-0.7.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c59d13d8287c21836656da73f28649a34efba2e1084bf0ff0dc893cc446e078f",
                "md5": "3e84690da9b838733acc93015e712e90",
                "sha256": "afc74d7863ffee44ceb7bc8e9bce2ad3a4778e10e4a3874ae05f35b39af08566"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13-cp39-cp39-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "3e84690da9b838733acc93015e712e90",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 186363,
            "upload_time": "2024-10-12T15:35:40",
            "upload_time_iso_8601": "2024-10-12T15:35:40.656850Z",
            "url": "https://files.pythonhosted.org/packages/c5/9d/13d8287c21836656da73f28649a34efba2e1084bf0ff0dc893cc446e078f/simplification-0.7.13-cp39-cp39-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5e4340887f0edc7a523264fe8dbfe83f762f57b0efcca21cdce62d609310e68a",
                "md5": "d32de09a608a7a80c38eaa2c237b238b",
                "sha256": "4ff7a7ef43eb2359a822b981c22c2cd8d58d92d84aa13c715662ec1887d5854e"
            },
            "downloads": -1,
            "filename": "simplification-0.7.13.tar.gz",
            "has_sig": false,
            "md5_digest": "d32de09a608a7a80c38eaa2c237b238b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 1437677,
            "upload_time": "2024-10-12T15:35:42",
            "upload_time_iso_8601": "2024-10-12T15:35:42.395478Z",
            "url": "https://files.pythonhosted.org/packages/5e/43/40887f0edc7a523264fe8dbfe83f762f57b0efcca21cdce62d609310e68a/simplification-0.7.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-12 15:35:42",
    "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: 3.76192s