exact-clustering


Nameexact-clustering JSON
Version 0.3.0 PyPI version JSON
download
home_pageNone
SummaryFind optimal clusterings and optimal hierarchical clusterings.
upload_time2025-08-31 21:11:56
maintainerNone
docs_urlNone
authorlumi-a
requires_python>=3.8
licenseNone
keywords clustering k-means k-median optimization algorithms
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![PyPI - Version](https://img.shields.io/pypi/v/exact-clustering)

Low-effort way of calling the rust-crate [`exact-clustering`](https://github.com/lumi-a/exact-clustering) from Python. 

```sh
pip install exact-clustering
```

Consult [docs.rs](https://docs.rs/exact-clustering) for more extensive documentation.

```py
from exact_clustering import *

weighted_points = [
    (1.0, [0, 0]),
    (1.0, [1, 0]),
    (3.0, [0, 2]),
]

print(
    weighted_continuous_kmeans_price_of_hierarchy(
        weighted_points
    )
)
# 1.0
```

View provided methods via `help(exact_clustering)` in the python-repl or take a look at `/src/lib.rs`. At time of writing, they are:

```py
def unweighted_continuous_kmeans_price_of_hierarchy(points: list[tuple[float, list[float]]],) -> float: ...
def weighted_continuous_kmeans_price_of_hierarchy(weighted_points: list[list[float]],) -> float: ...
def unweighted_discrete_kmeans_price_of_hierarchy(points: list[tuple[float, list[float]]],) -> float: ...
def weighted_discrete_kmeans_price_of_hierarchy(weighted_points: list[list[float]],) -> float: ...
def unweighted_discrete_kmedian_price_of_hierarchy(points: list[tuple[float, list[float]]],) -> float: ...
def weighted_discrete_kmedian_price_of_hierarchy(weighted_points: list[list[float]],) -> float: ...
def unweighted_continuous_kmeans_price_of_greedy(points: list[tuple[float, list[float]]],) -> float: ...
def weighted_continuous_kmeans_price_of_greedy(weighted_points: list[list[float]],) -> float: ...
def unweighted_discrete_kmeans_price_of_greedy(points: list[tuple[float, list[float]]],) -> float: ...
def weighted_discrete_kmeans_price_of_greedy(weighted_points: list[list[float]],) -> float: ...
def unweighted_discrete_kmedian_price_of_greedy(points: list[tuple[float, list[float]]],) -> float: ...
def weighted_discrete_kmedian_price_of_greedy(weighted_points: list[list[float]],) -> float: ...
```

## License

Licensed under either of

- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)

at your option.


## Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "exact-clustering",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "clustering, k-means, k-median, optimization, algorithms",
    "author": "lumi-a",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/92/5f/68a4023849f4816b8efc40318bf862ee98d88e23ed6d8106320e4b96ecd6/exact_clustering-0.3.0.tar.gz",
    "platform": null,
    "description": "![PyPI - Version](https://img.shields.io/pypi/v/exact-clustering)\n\nLow-effort way of calling the rust-crate [`exact-clustering`](https://github.com/lumi-a/exact-clustering) from Python. \n\n```sh\npip install exact-clustering\n```\n\nConsult [docs.rs](https://docs.rs/exact-clustering) for more extensive documentation.\n\n```py\nfrom exact_clustering import *\n\nweighted_points = [\n    (1.0, [0, 0]),\n    (1.0, [1, 0]),\n    (3.0, [0, 2]),\n]\n\nprint(\n    weighted_continuous_kmeans_price_of_hierarchy(\n        weighted_points\n    )\n)\n# 1.0\n```\n\nView provided methods via `help(exact_clustering)` in the python-repl or take a look at `/src/lib.rs`. At time of writing, they are:\n\n```py\ndef unweighted_continuous_kmeans_price_of_hierarchy(points: list[tuple[float, list[float]]],) -> float: ...\ndef weighted_continuous_kmeans_price_of_hierarchy(weighted_points: list[list[float]],) -> float: ...\ndef unweighted_discrete_kmeans_price_of_hierarchy(points: list[tuple[float, list[float]]],) -> float: ...\ndef weighted_discrete_kmeans_price_of_hierarchy(weighted_points: list[list[float]],) -> float: ...\ndef unweighted_discrete_kmedian_price_of_hierarchy(points: list[tuple[float, list[float]]],) -> float: ...\ndef weighted_discrete_kmedian_price_of_hierarchy(weighted_points: list[list[float]],) -> float: ...\ndef unweighted_continuous_kmeans_price_of_greedy(points: list[tuple[float, list[float]]],) -> float: ...\ndef weighted_continuous_kmeans_price_of_greedy(weighted_points: list[list[float]],) -> float: ...\ndef unweighted_discrete_kmeans_price_of_greedy(points: list[tuple[float, list[float]]],) -> float: ...\ndef weighted_discrete_kmeans_price_of_greedy(weighted_points: list[list[float]],) -> float: ...\ndef unweighted_discrete_kmedian_price_of_greedy(points: list[tuple[float, list[float]]],) -> float: ...\ndef weighted_discrete_kmedian_price_of_greedy(weighted_points: list[list[float]],) -> float: ...\n```\n\n## License\n\nLicensed under either of\n\n- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)\n- MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)\n\nat your option.\n\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Find optimal clusterings and optimal hierarchical clusterings.",
    "version": "0.3.0",
    "project_urls": {
        "Repository": "https://github.com/lumi-a/py-exact-clustering"
    },
    "split_keywords": [
        "clustering",
        " k-means",
        " k-median",
        " optimization",
        " algorithms"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "41a9efb282af38957d581b1261d79bd6fc6ccd56dea00af6bb4a4925484c069d",
                "md5": "d27ae16ec28ab83c5090f17cd79787e4",
                "sha256": "22825a5825205c828b188181b08f71daf530ad4fbefbc4bd31397eb6c967d464"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp313-cp313t-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d27ae16ec28ab83c5090f17cd79787e4",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 293330,
            "upload_time": "2025-08-31T21:11:45",
            "upload_time_iso_8601": "2025-08-31T21:11:45.556983Z",
            "url": "https://files.pythonhosted.org/packages/41/a9/efb282af38957d581b1261d79bd6fc6ccd56dea00af6bb4a4925484c069d/exact_clustering-0.3.0-cp313-cp313t-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a44131e8601ed866deb99e9289c9af460f73cddc8959b7151588fd5dadad7f3c",
                "md5": "a4ba26e5e17e27bfd0b89b494d881026",
                "sha256": "69af4d8e99b0d1c8102afd8b37161bd5e43e235cb28dc350f448f7f7c04d194d"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp313-cp313t-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "a4ba26e5e17e27bfd0b89b494d881026",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 282009,
            "upload_time": "2025-08-31T21:11:43",
            "upload_time_iso_8601": "2025-08-31T21:11:43.388671Z",
            "url": "https://files.pythonhosted.org/packages/a4/41/31e8601ed866deb99e9289c9af460f73cddc8959b7151588fd5dadad7f3c/exact_clustering-0.3.0-cp313-cp313t-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "212f783d9859b64ccb2daed24d818e1e174c2c1fc1bf5fefc02eb32b7fdd7514",
                "md5": "be76d8d83bb462a0f3954dc8b64e91a1",
                "sha256": "5ee224d0db1d723f59d96af10f1f07dc23d2e466928847abda676cbfca2f92a3"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "be76d8d83bb462a0f3954dc8b64e91a1",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 315750,
            "upload_time": "2025-08-31T21:11:25",
            "upload_time_iso_8601": "2025-08-31T21:11:25.871366Z",
            "url": "https://files.pythonhosted.org/packages/21/2f/783d9859b64ccb2daed24d818e1e174c2c1fc1bf5fefc02eb32b7fdd7514/exact_clustering-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8fa9cfbfe388e9abb3eed6dcd33b0b24a6bcaba0aa1826fc634f9ffafe2099dc",
                "md5": "37a4bfa391ba10f6b8ea44cd749cda07",
                "sha256": "5eaebcff6f3b4f943767ef48314067eb11b0437762c2f99ceee5421967b56fde"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "37a4bfa391ba10f6b8ea44cd749cda07",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 318621,
            "upload_time": "2025-08-31T21:11:28",
            "upload_time_iso_8601": "2025-08-31T21:11:28.526689Z",
            "url": "https://files.pythonhosted.org/packages/8f/a9/cfbfe388e9abb3eed6dcd33b0b24a6bcaba0aa1826fc634f9ffafe2099dc/exact_clustering-0.3.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "18ed05221af2774630297c3362ae00ecff52c956cc7ba33ca54a0596bf51a980",
                "md5": "6927ba687fcad468603c54cf98630caf",
                "sha256": "215273c544a96e3a210c305a16a5ba098c8c3478e19aa91751b8576c2b1fa879"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "6927ba687fcad468603c54cf98630caf",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 482375,
            "upload_time": "2025-08-31T21:11:30",
            "upload_time_iso_8601": "2025-08-31T21:11:30.742167Z",
            "url": "https://files.pythonhosted.org/packages/18/ed/05221af2774630297c3362ae00ecff52c956cc7ba33ca54a0596bf51a980/exact_clustering-0.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8a7dabf90622ee2002d5ff5b3d207ff02ff134f3aebf1024a39133dec9d47d09",
                "md5": "747fc0e650399c21cb82c06e420e9ea2",
                "sha256": "8da6f007f1ef9177a39a27a805cdee3c96d9259a7565425a5ec10ed2530785bd"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "747fc0e650399c21cb82c06e420e9ea2",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 353779,
            "upload_time": "2025-08-31T21:11:33",
            "upload_time_iso_8601": "2025-08-31T21:11:33.805355Z",
            "url": "https://files.pythonhosted.org/packages/8a/7d/abf90622ee2002d5ff5b3d207ff02ff134f3aebf1024a39133dec9d47d09/exact_clustering-0.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "893b7b254600f7f250cc3931db50ad4e9d53d275b8f5c5f8f93dcb8bca93ddbb",
                "md5": "a528e29418c5a8b978b4cf1378e7a93f",
                "sha256": "c237695c26f5475b561b79785a4335b698124257adb8a95548b5bffc8b1cabbf"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a528e29418c5a8b978b4cf1378e7a93f",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 322843,
            "upload_time": "2025-08-31T21:11:41",
            "upload_time_iso_8601": "2025-08-31T21:11:41.217579Z",
            "url": "https://files.pythonhosted.org/packages/89/3b/7b254600f7f250cc3931db50ad4e9d53d275b8f5c5f8f93dcb8bca93ddbb/exact_clustering-0.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "54cf90b422d7f38bc19834c6cac09f1122eadc26315b3ba52b3b6def26eccebb",
                "md5": "4beae19cd20dea02797390da50556b1a",
                "sha256": "90be4a3c7cfcea881360411e9bd3cdf3c383ac236a57536689b19f6adf174659"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "4beae19cd20dea02797390da50556b1a",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 346594,
            "upload_time": "2025-08-31T21:11:35",
            "upload_time_iso_8601": "2025-08-31T21:11:35.883080Z",
            "url": "https://files.pythonhosted.org/packages/54/cf/90b422d7f38bc19834c6cac09f1122eadc26315b3ba52b3b6def26eccebb/exact_clustering-0.3.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "44f6156129025393cc01af408f3ce910460aa8fdc66372c73c33895636832b7c",
                "md5": "bfed73c79af1c1c40eb0a9a556535225",
                "sha256": "38de0aa9d3e806c0ef66a75d0920f8eae2e614946f40fd8e0b9f59ddfbd2d59c"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "bfed73c79af1c1c40eb0a9a556535225",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 493739,
            "upload_time": "2025-08-31T21:11:48",
            "upload_time_iso_8601": "2025-08-31T21:11:48.139507Z",
            "url": "https://files.pythonhosted.org/packages/44/f6/156129025393cc01af408f3ce910460aa8fdc66372c73c33895636832b7c/exact_clustering-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "de65430410d0ab44cb3009dfe6060c54e279b858375de23485fec84ebe060b91",
                "md5": "0792f27c0e59a87e46986bd0167ce5ce",
                "sha256": "70af5ffdf587d7b11673ee3591a01f39be8f4c7e37079e726d114ae44ae0bb3d"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp313-cp313t-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "0792f27c0e59a87e46986bd0167ce5ce",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 581220,
            "upload_time": "2025-08-31T21:11:50",
            "upload_time_iso_8601": "2025-08-31T21:11:50.076127Z",
            "url": "https://files.pythonhosted.org/packages/de/65/430410d0ab44cb3009dfe6060c54e279b858375de23485fec84ebe060b91/exact_clustering-0.3.0-cp313-cp313t-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4c024033dc16e22ad7a9d0e18e368d2d28a7da0f7788fb890c5d8f68c7baf459",
                "md5": "9fe25440a55cde618f20a16600e7cf7a",
                "sha256": "a908b4f8e615d9bff5988c35d13aec85f7ab71935673e104c14142af3dadb087"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp313-cp313t-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "9fe25440a55cde618f20a16600e7cf7a",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 521986,
            "upload_time": "2025-08-31T21:11:52",
            "upload_time_iso_8601": "2025-08-31T21:11:52.464701Z",
            "url": "https://files.pythonhosted.org/packages/4c/02/4033dc16e22ad7a9d0e18e368d2d28a7da0f7788fb890c5d8f68c7baf459/exact_clustering-0.3.0-cp313-cp313t-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "27d2ed5e2668a9d8f58229dd037c503a7b08a245a10074023589a8add1b80693",
                "md5": "92f382c3c3e62c11f16fb5a8a89833c2",
                "sha256": "d5a28f0d1c55189fb62eeb66def18d5e7d29bb5501363b038e48df3546bc9b47"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "92f382c3c3e62c11f16fb5a8a89833c2",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.8",
            "size": 493528,
            "upload_time": "2025-08-31T21:11:54",
            "upload_time_iso_8601": "2025-08-31T21:11:54.840694Z",
            "url": "https://files.pythonhosted.org/packages/27/d2/ed5e2668a9d8f58229dd037c503a7b08a245a10074023589a8add1b80693/exact_clustering-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8ee25d1b710cc5ce3c08f0a336b3fa4aed9471749d9ce8ae53b73db2f87c63a7",
                "md5": "9204067f3194203974442e05bccbb674",
                "sha256": "26e3d9f4a1684e4dffdf75ccdf642d160db56b1355b80956d37f93d3a2195274"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-macosx_10_12_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9204067f3194203974442e05bccbb674",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 298474,
            "upload_time": "2025-08-31T21:11:46",
            "upload_time_iso_8601": "2025-08-31T21:11:46.854891Z",
            "url": "https://files.pythonhosted.org/packages/8e/e2/5d1b710cc5ce3c08f0a336b3fa4aed9471749d9ce8ae53b73db2f87c63a7/exact_clustering-0.3.0-cp38-abi3-macosx_10_12_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4e4eaae17dec4143fbd53d923820bd3174e63918b2eb919c8cc5d22a2df6b079",
                "md5": "99f279dbcb8a47a08936e11f939c87bf",
                "sha256": "129cbe2d5ba8e457304ebf99eaca6cd6718418c09db6c2d11c564c71703d41f8"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "99f279dbcb8a47a08936e11f939c87bf",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 285970,
            "upload_time": "2025-08-31T21:11:44",
            "upload_time_iso_8601": "2025-08-31T21:11:44.610238Z",
            "url": "https://files.pythonhosted.org/packages/4e/4e/aae17dec4143fbd53d923820bd3174e63918b2eb919c8cc5d22a2df6b079/exact_clustering-0.3.0-cp38-abi3-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "02cc0cb8262a9544fe10044283b2a5b70650e0286a88dce001d38f514644fb6d",
                "md5": "0d264c962a410a3b2921ba94369b1664",
                "sha256": "3d87e3eecb8977d2ba4b4cc6603b5c7bb88aedd5b493652f8f55d7af8f4f8a2a"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "0d264c962a410a3b2921ba94369b1664",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 318400,
            "upload_time": "2025-08-31T21:11:27",
            "upload_time_iso_8601": "2025-08-31T21:11:27.231652Z",
            "url": "https://files.pythonhosted.org/packages/02/cc/0cb8262a9544fe10044283b2a5b70650e0286a88dce001d38f514644fb6d/exact_clustering-0.3.0-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e7426859174e122fa85c553914bb98130e979ba6d7eade3daa8de8e5a2dd2c3e",
                "md5": "65bd43e699df2d63665325cc1b5a5e82",
                "sha256": "eb1bd7418e0202647fcb75a7408cfad46131aedb7bf2513e805cf9fce51d1ec2"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "has_sig": false,
            "md5_digest": "65bd43e699df2d63665325cc1b5a5e82",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 321310,
            "upload_time": "2025-08-31T21:11:29",
            "upload_time_iso_8601": "2025-08-31T21:11:29.787121Z",
            "url": "https://files.pythonhosted.org/packages/e7/42/6859174e122fa85c553914bb98130e979ba6d7eade3daa8de8e5a2dd2c3e/exact_clustering-0.3.0-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "833af27ad51d20d2049bf93770ef267d750b9d3b38658f27dd4b95bde4cb5c88",
                "md5": "c96e499d9ef70eb6d91f2c6d486bff7b",
                "sha256": "f9b809878bf89c1b35ca48d66346594165d3cfb2800c3c50c73654440afe5c02"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "has_sig": false,
            "md5_digest": "c96e499d9ef70eb6d91f2c6d486bff7b",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 486246,
            "upload_time": "2025-08-31T21:11:32",
            "upload_time_iso_8601": "2025-08-31T21:11:32.417709Z",
            "url": "https://files.pythonhosted.org/packages/83/3a/f27ad51d20d2049bf93770ef267d750b9d3b38658f27dd4b95bde4cb5c88/exact_clustering-0.3.0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "36f131db66acde908d9a1ca7ff30abdf625cf17330b39ff0c010ac4d40474bad",
                "md5": "c203413b37bed2eb30bca4cd1ed67be2",
                "sha256": "75e03a2ebc7d7f5456828ff896072721cba5548b16893e7a2b6b447f34854d39"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "has_sig": false,
            "md5_digest": "c203413b37bed2eb30bca4cd1ed67be2",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 356603,
            "upload_time": "2025-08-31T21:11:34",
            "upload_time_iso_8601": "2025-08-31T21:11:34.770224Z",
            "url": "https://files.pythonhosted.org/packages/36/f1/31db66acde908d9a1ca7ff30abdf625cf17330b39ff0c010ac4d40474bad/exact_clustering-0.3.0-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2f51c3bb4e79752830ee14581d46de94b0622eb33018bb06474e378d16276c15",
                "md5": "9b8202a7f4e666d5cbe1a6f5f9b33c11",
                "sha256": "87b1e6e582af578a469b478812d0ca2af54c59022a1673274191e5c32b4fe76a"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9b8202a7f4e666d5cbe1a6f5f9b33c11",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 326589,
            "upload_time": "2025-08-31T21:11:42",
            "upload_time_iso_8601": "2025-08-31T21:11:42.138304Z",
            "url": "https://files.pythonhosted.org/packages/2f/51/c3bb4e79752830ee14581d46de94b0622eb33018bb06474e378d16276c15/exact_clustering-0.3.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fa076c68d154381ec35519df7d2a25a66b5c97e67b0f6b0de7785726d1ec58e9",
                "md5": "37fc51ffd8009e194a01dcf206605b71",
                "sha256": "671574ce97aa8e855140d7d2fe9359c18f5896c7d62982d22d995a7dc32dd4f5"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
            "has_sig": false,
            "md5_digest": "37fc51ffd8009e194a01dcf206605b71",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 351321,
            "upload_time": "2025-08-31T21:11:36",
            "upload_time_iso_8601": "2025-08-31T21:11:36.981026Z",
            "url": "https://files.pythonhosted.org/packages/fa/07/6c68d154381ec35519df7d2a25a66b5c97e67b0f6b0de7785726d1ec58e9/exact_clustering-0.3.0-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c634689273865549c84df4c203dae76917d0615c48220d91ee53a531c0cb7489",
                "md5": "c8011665a87e5f4fde30536c1fde8a5c",
                "sha256": "73a59246c21e340d2caa97d575036427074e803750b6e4904dfbe2399ba444ef"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c8011665a87e5f4fde30536c1fde8a5c",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 496491,
            "upload_time": "2025-08-31T21:11:49",
            "upload_time_iso_8601": "2025-08-31T21:11:49.070872Z",
            "url": "https://files.pythonhosted.org/packages/c6/34/689273865549c84df4c203dae76917d0615c48220d91ee53a531c0cb7489/exact_clustering-0.3.0-cp38-abi3-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d869cb726af1b73a6f9f4d22d25462cfe3161cd259186d05749477fa1cb7ed86",
                "md5": "ad943d57cd148d60cb966f235528229b",
                "sha256": "4d55e46db2ae95108a1165708194cb8c5ebbab65d7eefbcb6522ef3d59942366"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-musllinux_1_2_armv7l.whl",
            "has_sig": false,
            "md5_digest": "ad943d57cd148d60cb966f235528229b",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 584003,
            "upload_time": "2025-08-31T21:11:51",
            "upload_time_iso_8601": "2025-08-31T21:11:51.195611Z",
            "url": "https://files.pythonhosted.org/packages/d8/69/cb726af1b73a6f9f4d22d25462cfe3161cd259186d05749477fa1cb7ed86/exact_clustering-0.3.0-cp38-abi3-musllinux_1_2_armv7l.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5fe38c296986fe529272886a4aa5ee2eb7f95f98b45893a54903d6606bc20dcb",
                "md5": "db65e58c2f061561bee5c74cedced2cf",
                "sha256": "a18f8eaf2c3f7965b46bf4b84a67b1078bad6063e862254f86c536253b6e3cf3"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-musllinux_1_2_i686.whl",
            "has_sig": false,
            "md5_digest": "db65e58c2f061561bee5c74cedced2cf",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 525684,
            "upload_time": "2025-08-31T21:11:53",
            "upload_time_iso_8601": "2025-08-31T21:11:53.523749Z",
            "url": "https://files.pythonhosted.org/packages/5f/e3/8c296986fe529272886a4aa5ee2eb7f95f98b45893a54903d6606bc20dcb/exact_clustering-0.3.0-cp38-abi3-musllinux_1_2_i686.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5545cc7b7bc9a8f79a56c04d06d1a626fa9026b7a1f6b95af12e376cad0b839a",
                "md5": "ab106f389e392c19186687d62071b27f",
                "sha256": "e613e868f168fc030dec88a0536a07652f1f05e8d21df46ba6f4167c2bcd7919"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ab106f389e392c19186687d62071b27f",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 497193,
            "upload_time": "2025-08-31T21:11:55",
            "upload_time_iso_8601": "2025-08-31T21:11:55.915396Z",
            "url": "https://files.pythonhosted.org/packages/55/45/cc7b7bc9a8f79a56c04d06d1a626fa9026b7a1f6b95af12e376cad0b839a/exact_clustering-0.3.0-cp38-abi3-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "33c3363f5d37c76ee95314782241cadb6d12e1b6aa93d5ec92cb7bf25b7e77a8",
                "md5": "9fdcba9bde44f9a16558e9d1701fd91d",
                "sha256": "a4f80632f5c211d914fd51ef086c183fccbb579d9452a774377e3cf04b373c05"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-win32.whl",
            "has_sig": false,
            "md5_digest": "9fdcba9bde44f9a16558e9d1701fd91d",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 174968,
            "upload_time": "2025-08-31T21:11:58",
            "upload_time_iso_8601": "2025-08-31T21:11:58.286689Z",
            "url": "https://files.pythonhosted.org/packages/33/c3/363f5d37c76ee95314782241cadb6d12e1b6aa93d5ec92cb7bf25b7e77a8/exact_clustering-0.3.0-cp38-abi3-win32.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2d48a534e993886cab357c64d0781bbbb30705d034d477d35ec60472f07b4d62",
                "md5": "27b6ed18c1ff6f826a24a72846add4db",
                "sha256": "45c93f0b47ecebf19f2bcbf8b1720220bd421b3fcb799feaf4b85762fb10e948"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0-cp38-abi3-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "27b6ed18c1ff6f826a24a72846add4db",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": ">=3.8",
            "size": 188331,
            "upload_time": "2025-08-31T21:11:57",
            "upload_time_iso_8601": "2025-08-31T21:11:57.420400Z",
            "url": "https://files.pythonhosted.org/packages/2d/48/a534e993886cab357c64d0781bbbb30705d034d477d35ec60472f07b4d62/exact_clustering-0.3.0-cp38-abi3-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "925f68a4023849f4816b8efc40318bf862ee98d88e23ed6d8106320e4b96ecd6",
                "md5": "a3de38d2fffb9a77fde049ab20282eb4",
                "sha256": "4991e22ff3b1d83d177e96a3b2587322d8671ed23416935c1e18c144fdbffedd"
            },
            "downloads": -1,
            "filename": "exact_clustering-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a3de38d2fffb9a77fde049ab20282eb4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 8539,
            "upload_time": "2025-08-31T21:11:56",
            "upload_time_iso_8601": "2025-08-31T21:11:56.875022Z",
            "url": "https://files.pythonhosted.org/packages/92/5f/68a4023849f4816b8efc40318bf862ee98d88e23ed6d8106320e4b96ecd6/exact_clustering-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-31 21:11:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "lumi-a",
    "github_project": "py-exact-clustering",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "exact-clustering"
}
        
Elapsed time: 0.73477s