multipers


Namemultipers JSON
Version 2.3.0 PyPI version JSON
download
home_pageNone
SummaryMultiparameter Topological Persistence for Machine Learning
upload_time2025-02-18 09:52:23
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT License Copyright (c) 2023 David Loiseaux 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 tda persistence multiparameter sklearn
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # multipers : Multiparameter Persistence for Machine Learning
[![DOI](https://joss.theoj.org/papers/10.21105/joss.06773/status.svg)](https://doi.org/10.21105/joss.06773) [![Documentation](https://img.shields.io/badge/Documentation-website-blue)](https://davidlapous.github.io/multipers) [![Build, test](https://github.com/DavidLapous/multipers/actions/workflows/python_PR.yml/badge.svg)](https://github.com/DavidLapous/multipers/actions/workflows/python_PR.yml)
<br>
Scikit-style PyTorch-autodiff multiparameter persistent homology python library. 
This library aims to provide easy to use and performant strategies for applied multiparameter topology.
<br> Meant to be integrated in the [Gudhi](https://gudhi.inria.fr/) library.

## Compiled packages
| Source | Version | Downloads | Platforms | 
| --- | --- | --- | --- | 
| [![Conda Recipe](https://img.shields.io/badge/conda-recipe-green.svg)](https://anaconda.org/conda-forge/multipers)| [![Conda Version](https://img.shields.io/conda/vn/conda-forge/multipers.svg)](https://anaconda.org/conda-forge/multipers) |  [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/multipers.svg)](https://anaconda.org/conda-forge/multipers) |[![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/multipers.svg)](https://anaconda.org/conda-forge/multipers) | 
| [![pip Recipe](https://img.shields.io/badge/pip-package-green.svg)](https:///pypi.org/project/multipers) | [![PyPI](https://img.shields.io/pypi/v/multipers?color=green)](https://pypi.org/project/multipers) | [![ pip downloads](https://static.pepy.tech/badge/multipers)](https://pepy.tech/project/multipers) | | 



## Quick start
This library allows computing several representations from "geometrical datasets", e.g., point clouds, images, graphs, that have multiple scales.
We provide some *nice* pictures in the [documentation](https://davidlapous.github.io/multipers/index.html). 
A non-exhaustive list of features can be found in the **Features** section.

This library is available on pip and conda-forge for (reasonably up to date) Linux, macOS and Windows, via
```sh
pip install multipers
```
or 
```sh
conda install multipers -c conda-forge
```

Windows support is experimental, and some core dependencies are not available on Windows.
We hence recommend Windows user to use [WSL](https://learn.microsoft.com/en-us/windows/wsl/).
<br>
A documentation and building instructions are available
[here](https://davidlapous.github.io/multipers/compilation.html).


## Features, and linked projects
This library features a bunch of different functions and helpers. See below for a non-exhaustive list.
<br>Filled box refers to implemented or interfaced code.
 - [x] [[Multiparameter Module Approximation]](https://arxiv.org/abs/2206.02026) provides the multiparameter simplicial structure, as well as technics for approximating modules, via interval-decomposable modules. It is also very useful for visualization.
 - [x] [[Stable Vectorization of Multiparameter Persistent Homology using Signed Barcodes as Measures, NeurIPS2023]](https://proceedings.neurips.cc/paper_files/paper/2023/hash/d75c474bc01735929a1fab5d0de3b189-Abstract-Conference.html) provides fast representations of multiparameter persistence modules, by using their signed barcodes decompositions encoded into signed measures. Implemented decompositions : Euler surfaces, Hilbert function, rank invariant (i.e. rectangles). It also provides representation technics for Machine Learning, i.e., Sliced Wasserstein kernels, and Vectorizations.
 - [x] [[A Framework for Fast and Stable Representations of Multiparameter Persistent Homology Decompositions, NeurIPS2023]](https://proceedings.neurips.cc/paper_files/paper/2023/hash/702b67152ec4435795f681865b67999c-Abstract-Conference.html) Provides a vectorization framework for interval decomposable modules, for Machine Learning. Currently implemented as an extension of MMA.
 - [x] [[Differentiability and Optimization of Multiparameter Persistent Homology, ICML2024]](https://proceedings.mlr.press/v235/scoccola24a.html) An approach to compute a (clarke) gradient for any reasonable multiparameter persistent invariant. Currently, any `multipers` computation is auto-differentiable using this strategy, provided that the input are pytorch gradient capable tensor.
 - [x] [[Multiparameter Persistence Landscapes, JMLR]](https://jmlr.org/papers/v21/19-054.html) A vectorization technic for multiparameter persistence modules.
 - [x] [[Filtration-Domination in Bifiltered Graphs, ALENEX2023]](https://doi.org/10.1137/1.9781611977561.ch3) Allows for 2-parameter edge collapses for 1-critical clique complexes. Very useful to speed up, e.g., Rips-Codensity bifiltrations.
 - [x] [[Chunk Reduction for Multi-Parameter Persistent Homology, SOCG2019]](https://doi.org/10.4230/LIPIcs.SoCG.2019.37) Multi-filtration preprocessing algorithm for homology computations.
 - [x] [[Computing Minimal Presentations and Bigraded Betti Numbers of 2-Parameter Persistent Homology, JAAG]](https://doi.org/10.1137/20M1388425) Minimal presentation of multiparameter persistence modules, using [mpfree](https://bitbucket.org/mkerber/mpfree/src/master/). Hilbert, Rank Decomposition Signed Measures, and MMA decompositions can be computed using the mpfree backend.
 - [x] [[Delaunay Bifiltrations of Functions on Point Clouds, SODA2024]](https://epubs.siam.org/doi/10.1137/1.9781611977912.173) Provides an alternative to function rips bifiltrations, using Delaunay complexes. Very good alternative to Rips-Density like bifiltrations.
 - [x] [[Delaunay Core Bifiltration]](https://arxiv.org/abs/2405.01214) Bifiltration for point clouds, taking into account the density. Similar to Rips-Density. 
 - [x] [[Rivet]](https://github.com/rivetTDA/rivet) Interactive two parameter persistence
 - [x] [[Kernel Operations on the GPU, with Autodiff, without Memory Overflows, JMLR]](http://jmlr.org/papers/v22/20-275.html) Although not linked, at first glance, to persistence in any way, this library allows computing blazingly fast signed measures convolutions (and more!) with custom kernels. 
 - [ ] [Backend only] [[Projected distances for multi-parameter persistence modules]](https://arxiv.org/abs/2206.08818) Provides a strategy to estimate the convolution distance between multiparameter persistence module using projected barcodes. Implementation is a WIP.
 - [ ] [Partial, and experimental] [[Efficient Two-Parameter Persistence Computation via Cohomology, SoCG2023]](https://doi.org/10.4230/LIPIcs.SoCG.2023.15) Minimal presentations for 2-parameter persistence algorithm.

If I missed something, or you want to add something, feel free to open an issue.

## Authors
[David Loiseaux](https://davidlapous.github.io/),<br>
[Hannah Schreiber](https://github.com/hschreiber) (Persistence backend code),<br>
[Luis Scoccola](https://luisscoccola.com/) 
(Möbius inversion in python, degree-rips using [persistable](https://github.com/LuisScoccola/persistable) and [RIVET](https://github.com/rivetTDA/rivet/)),<br>
[Mathieu Carrière](https://www-sop.inria.fr/members/Mathieu.Carriere/) (Sliced Wasserstein),<br>
[Odin Hoff Gardå](https://odinhg.github.io/) (Delaunay Core bifiltration).<br>

## Citation
Please cite this library when using it in scientific publications;
you can use the following journal bibtex entry
```bib
@article{multipers,
  title = {Multipers: {{Multiparameter Persistence}} for {{Machine Learning}}},
  shorttitle = {Multipers},
  author = {Loiseaux, David and Schreiber, Hannah},
  year = {2024},
  month = nov,
  journal = {Journal of Open Source Software},
  volume = {9},
  number = {103},
  pages = {6773},
  issn = {2475-9066},
  doi = {10.21105/joss.06773},
  langid = {english},
}
```
## Contributions
Feel free to contribute, report a bug on a pipeline, or ask for documentation by opening an issue.<br>
In particular, if you have a nice example or application that is not taken care in the documentation (see the `./docs/notebooks/` folder), please contact me to add it there.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "multipers",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "David Loiseaux <david.lapous@proton.me>",
    "keywords": "TDA, Persistence, Multiparameter, sklearn",
    "author": null,
    "author_email": "David Loiseaux <david.lapous@proton.me>, Hannah Schreiber <hannah.schreiber@inria.fr>",
    "download_url": "https://files.pythonhosted.org/packages/1d/38/4a53ae26bf834ebd5ecbe9ab60c954e3f8d6ddcc4f9f55ed863315eccbbc/multipers-2.3.0.tar.gz",
    "platform": null,
    "description": "# multipers : Multiparameter Persistence for Machine Learning\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.06773/status.svg)](https://doi.org/10.21105/joss.06773) [![Documentation](https://img.shields.io/badge/Documentation-website-blue)](https://davidlapous.github.io/multipers) [![Build, test](https://github.com/DavidLapous/multipers/actions/workflows/python_PR.yml/badge.svg)](https://github.com/DavidLapous/multipers/actions/workflows/python_PR.yml)\n<br>\nScikit-style PyTorch-autodiff multiparameter persistent homology python library. \nThis library aims to provide easy to use and performant strategies for applied multiparameter topology.\n<br> Meant to be integrated in the [Gudhi](https://gudhi.inria.fr/) library.\n\n## Compiled packages\n| Source | Version | Downloads | Platforms | \n| --- | --- | --- | --- | \n| [![Conda Recipe](https://img.shields.io/badge/conda-recipe-green.svg)](https://anaconda.org/conda-forge/multipers)| [![Conda Version](https://img.shields.io/conda/vn/conda-forge/multipers.svg)](https://anaconda.org/conda-forge/multipers) |  [![Conda Downloads](https://img.shields.io/conda/dn/conda-forge/multipers.svg)](https://anaconda.org/conda-forge/multipers) |[![Conda Platforms](https://img.shields.io/conda/pn/conda-forge/multipers.svg)](https://anaconda.org/conda-forge/multipers) | \n| [![pip Recipe](https://img.shields.io/badge/pip-package-green.svg)](https:///pypi.org/project/multipers) | [![PyPI](https://img.shields.io/pypi/v/multipers?color=green)](https://pypi.org/project/multipers) | [![ pip downloads](https://static.pepy.tech/badge/multipers)](https://pepy.tech/project/multipers) | | \n\n\n\n## Quick start\nThis library allows computing several representations from \"geometrical datasets\", e.g., point clouds, images, graphs, that have multiple scales.\nWe provide some *nice* pictures in the [documentation](https://davidlapous.github.io/multipers/index.html). \nA non-exhaustive list of features can be found in the **Features** section.\n\nThis library is available on pip and conda-forge for (reasonably up to date) Linux, macOS and Windows, via\n```sh\npip install multipers\n```\nor \n```sh\nconda install multipers -c conda-forge\n```\n\nWindows support is experimental, and some core dependencies are not available on Windows.\nWe hence recommend Windows user to use [WSL](https://learn.microsoft.com/en-us/windows/wsl/).\n<br>\nA documentation and building instructions are available\n[here](https://davidlapous.github.io/multipers/compilation.html).\n\n\n## Features, and linked projects\nThis library features a bunch of different functions and helpers. See below for a non-exhaustive list.\n<br>Filled box refers to implemented or interfaced code.\n - [x] [[Multiparameter Module Approximation]](https://arxiv.org/abs/2206.02026) provides the multiparameter simplicial structure, as well as technics for approximating modules, via interval-decomposable modules. It is also very useful for visualization.\n - [x] [[Stable Vectorization of Multiparameter Persistent Homology using Signed Barcodes as Measures, NeurIPS2023]](https://proceedings.neurips.cc/paper_files/paper/2023/hash/d75c474bc01735929a1fab5d0de3b189-Abstract-Conference.html) provides fast representations of multiparameter persistence modules, by using their signed barcodes decompositions encoded into signed measures. Implemented decompositions : Euler surfaces, Hilbert function, rank invariant (i.e. rectangles). It also provides representation technics for Machine Learning, i.e., Sliced Wasserstein kernels, and Vectorizations.\n - [x] [[A Framework for Fast and Stable Representations of Multiparameter Persistent Homology Decompositions, NeurIPS2023]](https://proceedings.neurips.cc/paper_files/paper/2023/hash/702b67152ec4435795f681865b67999c-Abstract-Conference.html) Provides a vectorization framework for interval decomposable modules, for Machine Learning. Currently implemented as an extension of MMA.\n - [x] [[Differentiability and Optimization of Multiparameter Persistent Homology, ICML2024]](https://proceedings.mlr.press/v235/scoccola24a.html) An approach to compute a (clarke) gradient for any reasonable multiparameter persistent invariant. Currently, any `multipers` computation is auto-differentiable using this strategy, provided that the input are pytorch gradient capable tensor.\n - [x] [[Multiparameter Persistence Landscapes, JMLR]](https://jmlr.org/papers/v21/19-054.html) A vectorization technic for multiparameter persistence modules.\n - [x] [[Filtration-Domination in Bifiltered Graphs, ALENEX2023]](https://doi.org/10.1137/1.9781611977561.ch3) Allows for 2-parameter edge collapses for 1-critical clique complexes. Very useful to speed up, e.g., Rips-Codensity bifiltrations.\n - [x] [[Chunk Reduction for Multi-Parameter Persistent Homology, SOCG2019]](https://doi.org/10.4230/LIPIcs.SoCG.2019.37) Multi-filtration preprocessing algorithm for homology computations.\n - [x] [[Computing Minimal Presentations and Bigraded Betti Numbers of 2-Parameter Persistent Homology, JAAG]](https://doi.org/10.1137/20M1388425) Minimal presentation of multiparameter persistence modules, using [mpfree](https://bitbucket.org/mkerber/mpfree/src/master/). Hilbert, Rank Decomposition Signed Measures, and MMA decompositions can be computed using the mpfree backend.\n - [x] [[Delaunay Bifiltrations of Functions on Point Clouds, SODA2024]](https://epubs.siam.org/doi/10.1137/1.9781611977912.173) Provides an alternative to function rips bifiltrations, using Delaunay complexes. Very good alternative to Rips-Density like bifiltrations.\n - [x] [[Delaunay Core Bifiltration]](https://arxiv.org/abs/2405.01214) Bifiltration for point clouds, taking into account the density. Similar to Rips-Density. \n - [x] [[Rivet]](https://github.com/rivetTDA/rivet) Interactive two parameter persistence\n - [x] [[Kernel Operations on the GPU, with Autodiff, without Memory Overflows, JMLR]](http://jmlr.org/papers/v22/20-275.html) Although not linked, at first glance, to persistence in any way, this library allows computing blazingly fast signed measures convolutions (and more!) with custom kernels. \n - [ ] [Backend only] [[Projected distances for multi-parameter persistence modules]](https://arxiv.org/abs/2206.08818) Provides a strategy to estimate the convolution distance between multiparameter persistence module using projected barcodes. Implementation is a WIP.\n - [ ] [Partial, and experimental] [[Efficient Two-Parameter Persistence Computation via Cohomology, SoCG2023]](https://doi.org/10.4230/LIPIcs.SoCG.2023.15) Minimal presentations for 2-parameter persistence algorithm.\n\nIf I missed something, or you want to add something, feel free to open an issue.\n\n## Authors\n[David Loiseaux](https://davidlapous.github.io/),<br>\n[Hannah Schreiber](https://github.com/hschreiber) (Persistence backend code),<br>\n[Luis Scoccola](https://luisscoccola.com/) \n(M\u00f6bius inversion in python, degree-rips using [persistable](https://github.com/LuisScoccola/persistable) and [RIVET](https://github.com/rivetTDA/rivet/)),<br>\n[Mathieu Carri\u00e8re](https://www-sop.inria.fr/members/Mathieu.Carriere/) (Sliced Wasserstein),<br>\n[Odin Hoff Gard\u00e5](https://odinhg.github.io/) (Delaunay Core bifiltration).<br>\n\n## Citation\nPlease cite this library when using it in scientific publications;\nyou can use the following journal bibtex entry\n```bib\n@article{multipers,\n  title = {Multipers: {{Multiparameter Persistence}} for {{Machine Learning}}},\n  shorttitle = {Multipers},\n  author = {Loiseaux, David and Schreiber, Hannah},\n  year = {2024},\n  month = nov,\n  journal = {Journal of Open Source Software},\n  volume = {9},\n  number = {103},\n  pages = {6773},\n  issn = {2475-9066},\n  doi = {10.21105/joss.06773},\n  langid = {english},\n}\n```\n## Contributions\nFeel free to contribute, report a bug on a pipeline, or ask for documentation by opening an issue.<br>\nIn particular, if you have a nice example or application that is not taken care in the documentation (see the `./docs/notebooks/` folder), please contact me to add it there.\n\n",
    "bugtrack_url": null,
    "license": "MIT License\n        \n        Copyright (c) 2023 David Loiseaux\n        \n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        \n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        \n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.\n        ",
    "summary": "Multiparameter Topological Persistence for Machine Learning",
    "version": "2.3.0",
    "project_urls": {
        "download": "https://pypi.org/project/multipers/#files",
        "release notes": "https://github.com/DavidLapous/multipers/releases",
        "source": "https://github.com/DavidLapous/multipers",
        "tracker": "https://github.com/DavidLapous/multipers/issues"
    },
    "split_keywords": [
        "tda",
        " persistence",
        " multiparameter",
        " sklearn"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2f5996a5f36228b7c2bb596098f6cf86014394e397cf094bed68273839e5a371",
                "md5": "5f306638eef212f08e41c8ee944bf4b4",
                "sha256": "27f329893c065d4e09f9ede781b5ce89edb837be3da2eda85d1dc23a6ef0bea8"
            },
            "downloads": -1,
            "filename": "multipers-2.3.0-cp310-cp310-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "5f306638eef212f08e41c8ee944bf4b4",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 8403101,
            "upload_time": "2025-02-18T09:52:28",
            "upload_time_iso_8601": "2025-02-18T09:52:28.264051Z",
            "url": "https://files.pythonhosted.org/packages/2f/59/96a5f36228b7c2bb596098f6cf86014394e397cf094bed68273839e5a371/multipers-2.3.0-cp310-cp310-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f308af3edca53a4f0d1afef7479097cdfdbf27cbcb49b0e1f86caa680600b010",
                "md5": "1b6f023e4b359f4bf88c3ed3dc00c3f0",
                "sha256": "a8d3ce2903652412634692b9a2a0223368cd327b8e700357007812273641c87d"
            },
            "downloads": -1,
            "filename": "multipers-2.3.0-cp310-cp310-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1b6f023e4b359f4bf88c3ed3dc00c3f0",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 9448293,
            "upload_time": "2025-02-18T09:52:31",
            "upload_time_iso_8601": "2025-02-18T09:52:31.735909Z",
            "url": "https://files.pythonhosted.org/packages/f3/08/af3edca53a4f0d1afef7479097cdfdbf27cbcb49b0e1f86caa680600b010/multipers-2.3.0-cp310-cp310-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "46bd17f156111a13bbcbbf025f2b7224436ede9f403e437fc1831e3f5590eaff",
                "md5": "ff84b864f04bf2fcc513e240996e2149",
                "sha256": "82ad1161ab6876357ccb03cc35d0c065e2e60b4d6f5bcc2a16c6168be20c8e50"
            },
            "downloads": -1,
            "filename": "multipers-2.3.0-cp310-cp310-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ff84b864f04bf2fcc513e240996e2149",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 8277529,
            "upload_time": "2025-02-18T09:52:35",
            "upload_time_iso_8601": "2025-02-18T09:52:35.142962Z",
            "url": "https://files.pythonhosted.org/packages/46/bd/17f156111a13bbcbbf025f2b7224436ede9f403e437fc1831e3f5590eaff/multipers-2.3.0-cp310-cp310-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c1349d2b7008cf835cbe5264a93dfeabb1a5ffd4c323efbabcf38f09a707c622",
                "md5": "7702605bed8e957831c94268f98ca37e",
                "sha256": "23ea8db8227401831b98e18b4a91fc79f0923d2fa46f6c56c5f951237356a8b1"
            },
            "downloads": -1,
            "filename": "multipers-2.3.0-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "7702605bed8e957831c94268f98ca37e",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 6222729,
            "upload_time": "2025-02-18T09:52:38",
            "upload_time_iso_8601": "2025-02-18T09:52:38.126158Z",
            "url": "https://files.pythonhosted.org/packages/c1/34/9d2b7008cf835cbe5264a93dfeabb1a5ffd4c323efbabcf38f09a707c622/multipers-2.3.0-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "01e600d6a567143735868c7252c38bf685acbc542cbbb59433484fa0357a4099",
                "md5": "c6914c66f3e3b22ebbd1b403aaaa0fcf",
                "sha256": "24780be603ef6307ee931608c8f093de122f98bdcbcd09f1bd674d8921e31163"
            },
            "downloads": -1,
            "filename": "multipers-2.3.0-cp311-cp311-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c6914c66f3e3b22ebbd1b403aaaa0fcf",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 8309931,
            "upload_time": "2025-02-18T09:52:41",
            "upload_time_iso_8601": "2025-02-18T09:52:41.040337Z",
            "url": "https://files.pythonhosted.org/packages/01/e6/00d6a567143735868c7252c38bf685acbc542cbbb59433484fa0357a4099/multipers-2.3.0-cp311-cp311-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "97fd81b737e94af818606f918d2e2a0a212c6ceda76ba2693b0e43363c7832a0",
                "md5": "e7bf48e31f2fac878c03a75d837ac765",
                "sha256": "c535d6544fcf3d732ddae71dbfa430f56f618038b4515bdc801b782e5f72415c"
            },
            "downloads": -1,
            "filename": "multipers-2.3.0-cp311-cp311-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e7bf48e31f2fac878c03a75d837ac765",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 9354181,
            "upload_time": "2025-02-18T09:52:43",
            "upload_time_iso_8601": "2025-02-18T09:52:43.371313Z",
            "url": "https://files.pythonhosted.org/packages/97/fd/81b737e94af818606f918d2e2a0a212c6ceda76ba2693b0e43363c7832a0/multipers-2.3.0-cp311-cp311-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "58912efd7bbdda6b4e31331243d7f525893aa4c4408c38efd1d94ac95e84d473",
                "md5": "e5fb2dbab1be0f4e7013e1df1fec7287",
                "sha256": "b0f94759b434283e398726b82bbbca771f888034121ad3e4592caaaadbaf40e3"
            },
            "downloads": -1,
            "filename": "multipers-2.3.0-cp311-cp311-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e5fb2dbab1be0f4e7013e1df1fec7287",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 8036132,
            "upload_time": "2025-02-18T09:52:47",
            "upload_time_iso_8601": "2025-02-18T09:52:47.165711Z",
            "url": "https://files.pythonhosted.org/packages/58/91/2efd7bbdda6b4e31331243d7f525893aa4c4408c38efd1d94ac95e84d473/multipers-2.3.0-cp311-cp311-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b0d26242dcdb7b11f04d395a9e8f7eb1ab34051f1ca308c9d977e29a5386dac7",
                "md5": "a36419cc5af5bb0f7cc8bef6d78aa7a2",
                "sha256": "ed7f2f6a81f0844ba35df30a4e7d267c39aaa24a8e152ed19abdb9dbf21c3c1c"
            },
            "downloads": -1,
            "filename": "multipers-2.3.0-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "a36419cc5af5bb0f7cc8bef6d78aa7a2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 6230821,
            "upload_time": "2025-02-18T09:52:51",
            "upload_time_iso_8601": "2025-02-18T09:52:51.329010Z",
            "url": "https://files.pythonhosted.org/packages/b0/d2/6242dcdb7b11f04d395a9e8f7eb1ab34051f1ca308c9d977e29a5386dac7/multipers-2.3.0-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "238c99601a1f062b680234661798a564b4cdd5012b9243dd329daa3fd478cc30",
                "md5": "241a5aaae792dfcdaf6545f9fbba272d",
                "sha256": "92b063e428418fa6feced302bfeb762cab62739c83f2da02cd2d0308ed556966"
            },
            "downloads": -1,
            "filename": "multipers-2.3.0-cp312-cp312-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "241a5aaae792dfcdaf6545f9fbba272d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 8241515,
            "upload_time": "2025-02-18T09:52:54",
            "upload_time_iso_8601": "2025-02-18T09:52:54.529742Z",
            "url": "https://files.pythonhosted.org/packages/23/8c/99601a1f062b680234661798a564b4cdd5012b9243dd329daa3fd478cc30/multipers-2.3.0-cp312-cp312-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f0ae13ed7f84715779ecced0749a1c4485cbf3c9396d3eae2ab4a2ddc6db7ce4",
                "md5": "db298ac717b3dc27efdfb44c84da6762",
                "sha256": "3d3fe7c69b226b19d77c8cc5d38f8065e45c3699192748f7cd218f0c0630775a"
            },
            "downloads": -1,
            "filename": "multipers-2.3.0-cp312-cp312-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "db298ac717b3dc27efdfb44c84da6762",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 9212452,
            "upload_time": "2025-02-18T09:52:56",
            "upload_time_iso_8601": "2025-02-18T09:52:56.635953Z",
            "url": "https://files.pythonhosted.org/packages/f0/ae/13ed7f84715779ecced0749a1c4485cbf3c9396d3eae2ab4a2ddc6db7ce4/multipers-2.3.0-cp312-cp312-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "839a336b160d8aeeb728641bba0ea4b16332b0c5f49fc8c4af8dd8dd5b4d717b",
                "md5": "9d1a776d0df2272d76639b6b7eca90e6",
                "sha256": "6bb4cf9f6809e9fa8c70732da1ab6c715e370bd1d924744f5516a3c3a29964d0"
            },
            "downloads": -1,
            "filename": "multipers-2.3.0-cp312-cp312-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9d1a776d0df2272d76639b6b7eca90e6",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 7769623,
            "upload_time": "2025-02-18T09:52:58",
            "upload_time_iso_8601": "2025-02-18T09:52:58.834708Z",
            "url": "https://files.pythonhosted.org/packages/83/9a/336b160d8aeeb728641bba0ea4b16332b0c5f49fc8c4af8dd8dd5b4d717b/multipers-2.3.0-cp312-cp312-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "850d194c0613ffd2f9fe952305fe62af737cf28fe0e959e1ad51820bcc9c02f4",
                "md5": "2f6fa0f7a5ed935ed0cec0503dd4192d",
                "sha256": "a192f45ef6638e753e69395ffa77d32c2b75223c73040150cbb34be9d97dbe40"
            },
            "downloads": -1,
            "filename": "multipers-2.3.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "2f6fa0f7a5ed935ed0cec0503dd4192d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 6153013,
            "upload_time": "2025-02-18T09:53:01",
            "upload_time_iso_8601": "2025-02-18T09:53:01.544803Z",
            "url": "https://files.pythonhosted.org/packages/85/0d/194c0613ffd2f9fe952305fe62af737cf28fe0e959e1ad51820bcc9c02f4/multipers-2.3.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1d384a53ae26bf834ebd5ecbe9ab60c954e3f8d6ddcc4f9f55ed863315eccbbc",
                "md5": "30d3af3599f41cd32d0d3700d1ce5796",
                "sha256": "3a14b831a319d1af41920180568997a9f39a51a04a591731563d082913e3be27"
            },
            "downloads": -1,
            "filename": "multipers-2.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "30d3af3599f41cd32d0d3700d1ce5796",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 627006,
            "upload_time": "2025-02-18T09:52:23",
            "upload_time_iso_8601": "2025-02-18T09:52:23.615888Z",
            "url": "https://files.pythonhosted.org/packages/1d/38/4a53ae26bf834ebd5ecbe9ab60c954e3f8d6ddcc4f9f55ed863315eccbbc/multipers-2.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-18 09:52:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "DavidLapous",
    "github_project": "multipers",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "multipers"
}
        
Elapsed time: 0.63545s