multipers


Namemultipers JSON
Version 2.3.4 PyPI version JSON
download
home_pageNone
SummaryMultiparameter Topological Persistence for Machine Learning
upload_time2025-08-12 16:21:00
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
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://github.com/conda-forge/multipers-feedstock)| [![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
```
Pre-releases are available via
```sh
pip install --pre multipers
```
These release usually contain small bugfixes or unstable new features.

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/e7/66/2e99a1fae248c2e5ff77065c336873ef877b94b2401e7b9ca0a3016cc21a/multipers-2.3.4.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://github.com/conda-forge/multipers-feedstock)| [![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```\nPre-releases are available via\n```sh\npip install --pre multipers\n```\nThese release usually contain small bugfixes or unstable new features.\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": null,
    "summary": "Multiparameter Topological Persistence for Machine Learning",
    "version": "2.3.4",
    "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": "767f94fdace77cf2189005663d2fd470ccca0933fc00a8d63b05fac5806ecf05",
                "md5": "c7a0a72fc3a5ec6458a7a9117cbaa22d",
                "sha256": "74b3fffde1067b55baf4962249a59f434a1360263e05c37c8f250435a4f397bf"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp310-cp310-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c7a0a72fc3a5ec6458a7a9117cbaa22d",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 10462772,
            "upload_time": "2025-08-12T16:21:03",
            "upload_time_iso_8601": "2025-08-12T16:21:03.155104Z",
            "url": "https://files.pythonhosted.org/packages/76/7f/94fdace77cf2189005663d2fd470ccca0933fc00a8d63b05fac5806ecf05/multipers-2.3.4-cp310-cp310-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4371d28fad82df2eddc253653eb536cec666d2e99e52884a5da9c689eb577d47",
                "md5": "f52cda9e3ea53cdeeb116c7bf76b0d38",
                "sha256": "2b8b8d89252c76497074fc3dff63f6bb65d81347de6b5369df0ebc1705e371cf"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp310-cp310-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "f52cda9e3ea53cdeeb116c7bf76b0d38",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 9256928,
            "upload_time": "2025-08-12T16:21:06",
            "upload_time_iso_8601": "2025-08-12T16:21:06.339363Z",
            "url": "https://files.pythonhosted.org/packages/43/71/d28fad82df2eddc253653eb536cec666d2e99e52884a5da9c689eb577d47/multipers-2.3.4-cp310-cp310-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "82f4ce5ffa5f331760f5fb8fefedd19c85925aed394f139d4bf8bd1fc5365ef0",
                "md5": "710a5994481f97a0b4c3b2195f42df16",
                "sha256": "ef35ab9eff383c49c2fdb74f3bd90b85c60759d38c6dff07845090137b4c5156"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp310-cp310-manylinux_2_39_x86_64.whl",
            "has_sig": false,
            "md5_digest": "710a5994481f97a0b4c3b2195f42df16",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 9637816,
            "upload_time": "2025-08-12T16:21:08",
            "upload_time_iso_8601": "2025-08-12T16:21:08.715192Z",
            "url": "https://files.pythonhosted.org/packages/82/f4/ce5ffa5f331760f5fb8fefedd19c85925aed394f139d4bf8bd1fc5365ef0/multipers-2.3.4-cp310-cp310-manylinux_2_39_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "84fa6a24c85ea6aa165489491449acecaef6532bc0aec468b5271c8319b1c32e",
                "md5": "84d68562cb1326e71f6cbc8b443a835c",
                "sha256": "5a6dcd0a885706dc9ce78154d5e5722b5c9cde791fd31b811ef8778688fd0d64"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "84d68562cb1326e71f6cbc8b443a835c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 7134443,
            "upload_time": "2025-08-12T16:21:11",
            "upload_time_iso_8601": "2025-08-12T16:21:11.088064Z",
            "url": "https://files.pythonhosted.org/packages/84/fa/6a24c85ea6aa165489491449acecaef6532bc0aec468b5271c8319b1c32e/multipers-2.3.4-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f79b1e3067e43cd8c6aaa191ba582a383149119b81d62ed2f04651d16ad9d982",
                "md5": "0fe922e4ddfe17303e9e5766bf5e7791",
                "sha256": "c5cbf25cfa317fb6a2d196ed9a42ae376ae488f7f497e3ac3ff070d037fc7c78"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp311-cp311-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "0fe922e4ddfe17303e9e5766bf5e7791",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 10421677,
            "upload_time": "2025-08-12T16:21:12",
            "upload_time_iso_8601": "2025-08-12T16:21:12.548399Z",
            "url": "https://files.pythonhosted.org/packages/f7/9b/1e3067e43cd8c6aaa191ba582a383149119b81d62ed2f04651d16ad9d982/multipers-2.3.4-cp311-cp311-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b6bdab2618fa65553e25a9ddb7c6c12ba54afaec9e2feaed9fd725edbf29234c",
                "md5": "ee38cce3fcf33882266c4b78ac06467e",
                "sha256": "d0302ecaf854d7550e3018a870b237a765461262bbf3b153a0cad8d86823881d"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp311-cp311-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "ee38cce3fcf33882266c4b78ac06467e",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 9193771,
            "upload_time": "2025-08-12T16:21:14",
            "upload_time_iso_8601": "2025-08-12T16:21:14.410725Z",
            "url": "https://files.pythonhosted.org/packages/b6/bd/ab2618fa65553e25a9ddb7c6c12ba54afaec9e2feaed9fd725edbf29234c/multipers-2.3.4-cp311-cp311-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0570577902f4245fb7a77e4fc7a98d9ece13163ddf3b09d5ace24750fa87a809",
                "md5": "3bdfbf4bfddf640843be979f56bc93a7",
                "sha256": "fb6f3fe35299c1e905ba86d001391b5bafc09140f417115eaf56bbf9364e3e5d"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp311-cp311-manylinux_2_39_x86_64.whl",
            "has_sig": false,
            "md5_digest": "3bdfbf4bfddf640843be979f56bc93a7",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 9462867,
            "upload_time": "2025-08-12T16:21:16",
            "upload_time_iso_8601": "2025-08-12T16:21:16.645182Z",
            "url": "https://files.pythonhosted.org/packages/05/70/577902f4245fb7a77e4fc7a98d9ece13163ddf3b09d5ace24750fa87a809/multipers-2.3.4-cp311-cp311-manylinux_2_39_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "48101bd931df6fb1d473ee7b66262df4a3413bb03496b0efa7a3f38549c9da24",
                "md5": "76f4132e6ca0806eca5b7f4d2dd1ad5d",
                "sha256": "35e0fd41f2ac6209257694f95c4ee39b907546f300a95f89d8ecdc8858da2d24"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "76f4132e6ca0806eca5b7f4d2dd1ad5d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 7145833,
            "upload_time": "2025-08-12T16:21:18",
            "upload_time_iso_8601": "2025-08-12T16:21:18.909954Z",
            "url": "https://files.pythonhosted.org/packages/48/10/1bd931df6fb1d473ee7b66262df4a3413bb03496b0efa7a3f38549c9da24/multipers-2.3.4-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b1c1d229ab0545cb7519e3394aba5a90db239f6661ab72c899d7e243dea0255e",
                "md5": "313085fa42776ae1f5f361209447d6f1",
                "sha256": "af3af48837d12e9248de57ebf35cfb1e27283a7cc068e3203eccc843f2519fc4"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp312-cp312-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "313085fa42776ae1f5f361209447d6f1",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 10508929,
            "upload_time": "2025-08-12T16:21:21",
            "upload_time_iso_8601": "2025-08-12T16:21:21.356768Z",
            "url": "https://files.pythonhosted.org/packages/b1/c1/d229ab0545cb7519e3394aba5a90db239f6661ab72c899d7e243dea0255e/multipers-2.3.4-cp312-cp312-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6df5f7b2e18829636449c980901fa771ab39a81728f67598a96f324f95708498",
                "md5": "4f50b6f417667f7060c0fce27feed78f",
                "sha256": "d382835369819b9d892b434dde4268ea5ef35a047f621961d0543f13e5bd931a"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "4f50b6f417667f7060c0fce27feed78f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 9314097,
            "upload_time": "2025-08-12T16:21:23",
            "upload_time_iso_8601": "2025-08-12T16:21:23.631202Z",
            "url": "https://files.pythonhosted.org/packages/6d/f5/f7b2e18829636449c980901fa771ab39a81728f67598a96f324f95708498/multipers-2.3.4-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f9a59c2ee5b7d008d36a7c80c2c38516919471dec59f28c3e138857c0ba349e5",
                "md5": "d1969a3e03016860885b754f4b551437",
                "sha256": "d76b3b7a149bc40841e52d0819e82e77dc8f39a22ed6188f7b0f24347bfea098"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp312-cp312-manylinux_2_39_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d1969a3e03016860885b754f4b551437",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 9086785,
            "upload_time": "2025-08-12T16:21:25",
            "upload_time_iso_8601": "2025-08-12T16:21:25.962595Z",
            "url": "https://files.pythonhosted.org/packages/f9/a5/9c2ee5b7d008d36a7c80c2c38516919471dec59f28c3e138857c0ba349e5/multipers-2.3.4-cp312-cp312-manylinux_2_39_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "47f29ed2a0d05be0931e347951ce881b6e0ef2a46ee3be8573d0eaeba5d5a383",
                "md5": "86ac919968b4daf40bd6e9b8117d2080",
                "sha256": "78042955afa52c29ee83135b87c660b050d6e91a19f67a640d49cef7f8bb2957"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "86ac919968b4daf40bd6e9b8117d2080",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 6877467,
            "upload_time": "2025-08-12T16:21:27",
            "upload_time_iso_8601": "2025-08-12T16:21:27.908618Z",
            "url": "https://files.pythonhosted.org/packages/47/f2/9ed2a0d05be0931e347951ce881b6e0ef2a46ee3be8573d0eaeba5d5a383/multipers-2.3.4-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "567f46044f20eba0760cd1161ca9dd7a76458046557eba4593c8134d188b0137",
                "md5": "d3515cb83213ef528f4422047042c97c",
                "sha256": "bc7de17cda56a0b5db3295d796413e6704558b8446eda015afa871cd255a4b27"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp313-cp313-macosx_10_13_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d3515cb83213ef528f4422047042c97c",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.10",
            "size": 10661187,
            "upload_time": "2025-08-12T16:21:31",
            "upload_time_iso_8601": "2025-08-12T16:21:31.334894Z",
            "url": "https://files.pythonhosted.org/packages/56/7f/46044f20eba0760cd1161ca9dd7a76458046557eba4593c8134d188b0137/multipers-2.3.4-cp313-cp313-macosx_10_13_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0f3fccd77872794a9548435ff9cb035c1aacb274fe5cac72206ddc815f3c5413",
                "md5": "8344e6d7d40bddddf0827b71b8a34096",
                "sha256": "d252c8f0685597db2f32bddf51a21b0d952a22627def31c3f39ed3b656b6f274"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "8344e6d7d40bddddf0827b71b8a34096",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.10",
            "size": 9443015,
            "upload_time": "2025-08-12T16:21:33",
            "upload_time_iso_8601": "2025-08-12T16:21:33.711926Z",
            "url": "https://files.pythonhosted.org/packages/0f/3f/ccd77872794a9548435ff9cb035c1aacb274fe5cac72206ddc815f3c5413/multipers-2.3.4-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9b5f1e599d7762ffe87b9e82bb42d221ab830efcef10876a19cbd09f06151e1a",
                "md5": "fccb684f192e40a583c7e5693d67f388",
                "sha256": "a2c3bfbf691559021ac6451a0c652eee34fc1673de5736da302d62469762ff50"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp313-cp313-manylinux_2_39_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fccb684f192e40a583c7e5693d67f388",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.10",
            "size": 9122437,
            "upload_time": "2025-08-12T16:21:35",
            "upload_time_iso_8601": "2025-08-12T16:21:35.811332Z",
            "url": "https://files.pythonhosted.org/packages/9b/5f/1e599d7762ffe87b9e82bb42d221ab830efcef10876a19cbd09f06151e1a/multipers-2.3.4-cp313-cp313-manylinux_2_39_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a62b2ec417e00378147c551030abd31eed57fa81402a94e53a116b5057c63a23",
                "md5": "0cc5d7dd8c78d4b9f63fadf38fbd5320",
                "sha256": "5ab03b52426be787aa2f81bdd838c056d67b81d19c06bdcf4b57fe5098679458"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "0cc5d7dd8c78d4b9f63fadf38fbd5320",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.10",
            "size": 6874987,
            "upload_time": "2025-08-12T16:21:37",
            "upload_time_iso_8601": "2025-08-12T16:21:37.839688Z",
            "url": "https://files.pythonhosted.org/packages/a6/2b/2ec417e00378147c551030abd31eed57fa81402a94e53a116b5057c63a23/multipers-2.3.4-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e7662e99a1fae248c2e5ff77065c336873ef877b94b2401e7b9ca0a3016cc21a",
                "md5": "08fcf567ccac32498014ec1cc2344c17",
                "sha256": "0250d5b9714fa8ee83d6e82f73c5d34eb351509e57897f41bd8770107b0478f6"
            },
            "downloads": -1,
            "filename": "multipers-2.3.4.tar.gz",
            "has_sig": false,
            "md5_digest": "08fcf567ccac32498014ec1cc2344c17",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 654989,
            "upload_time": "2025-08-12T16:21:00",
            "upload_time_iso_8601": "2025-08-12T16:21:00.005490Z",
            "url": "https://files.pythonhosted.org/packages/e7/66/2e99a1fae248c2e5ff77065c336873ef877b94b2401e7b9ca0a3016cc21a/multipers-2.3.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-12 16:21:00",
    "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: 2.62399s