multipers


Namemultipers JSON
Version 2.3.2 PyPI version JSON
download
home_pageNone
SummaryMultiparameter Topological Persistence for Machine Learning
upload_time2025-06-01 11:44:06
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://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/cb/6e/2ea339d490dbcf56eb069e3aae128feec213215276883b60ea6537fafadb/multipers-2.3.2.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": null,
    "summary": "Multiparameter Topological Persistence for Machine Learning",
    "version": "2.3.2",
    "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": "fd7a585d8d51ffdd004e88fca73d759f752a148535d5ea3060721113452b3b69",
                "md5": "bfe54123a23fa1ddc8c056502eaf03dc",
                "sha256": "1830de0533b6ee69a62c1f8bb8e95fd260f59eb4ca8ce7a5c43b70db3b5e4158"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp310-cp310-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "bfe54123a23fa1ddc8c056502eaf03dc",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 9245440,
            "upload_time": "2025-06-01T11:44:09",
            "upload_time_iso_8601": "2025-06-01T11:44:09.539285Z",
            "url": "https://files.pythonhosted.org/packages/fd/7a/585d8d51ffdd004e88fca73d759f752a148535d5ea3060721113452b3b69/multipers-2.3.2-cp310-cp310-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9b4aed3d45d2cf476e0d36048fed866ebe0588f466cc7bd26a08121508da5369",
                "md5": "46218dd9730915679e0f9bd8d5b6923c",
                "sha256": "f86d88452068da0ff8d371ea9aedc29b06fd825e5ac94dbb1c792e41329c6735"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp310-cp310-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "46218dd9730915679e0f9bd8d5b6923c",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 10470613,
            "upload_time": "2025-06-01T11:44:11",
            "upload_time_iso_8601": "2025-06-01T11:44:11.540496Z",
            "url": "https://files.pythonhosted.org/packages/9b/4a/ed3d45d2cf476e0d36048fed866ebe0588f466cc7bd26a08121508da5369/multipers-2.3.2-cp310-cp310-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d50d9b61b61fe630e23d7f72f993e41a25f8b314fcb4eb2000814eb0e24b4a7d",
                "md5": "a23f166c4c79288a547048bc4abb3c59",
                "sha256": "c4d57b85f11982a028051831e796cca7a3fa37f717b43c77723be46d8f7670cb"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp310-cp310-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a23f166c4c79288a547048bc4abb3c59",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 8889259,
            "upload_time": "2025-06-01T11:44:13",
            "upload_time_iso_8601": "2025-06-01T11:44:13.742678Z",
            "url": "https://files.pythonhosted.org/packages/d5/0d/9b61b61fe630e23d7f72f993e41a25f8b314fcb4eb2000814eb0e24b4a7d/multipers-2.3.2-cp310-cp310-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3af9884f8c8267b9205e8f976e23f4de363f86e0d3ce94490f030b77efcae006",
                "md5": "f5ba8a9d53d0c17aa93adec616479a95",
                "sha256": "4db96e2d52d876fc9361529718570bb762c782fc0eb63e9da30af456a2b81e85"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp310-cp310-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "f5ba8a9d53d0c17aa93adec616479a95",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.10",
            "size": 6899018,
            "upload_time": "2025-06-01T11:44:15",
            "upload_time_iso_8601": "2025-06-01T11:44:15.759475Z",
            "url": "https://files.pythonhosted.org/packages/3a/f9/884f8c8267b9205e8f976e23f4de363f86e0d3ce94490f030b77efcae006/multipers-2.3.2-cp310-cp310-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "8e161b6af141830956024830551757aac7190538653f21079d7cf1c202639da9",
                "md5": "dea99bbe57a627ebf1fec34425a599d4",
                "sha256": "e6b787b29ee431c3d6ca695c0401c872d2569a7877d42031679022dd12454981"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp311-cp311-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "dea99bbe57a627ebf1fec34425a599d4",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 9173223,
            "upload_time": "2025-06-01T11:44:17",
            "upload_time_iso_8601": "2025-06-01T11:44:17.408580Z",
            "url": "https://files.pythonhosted.org/packages/8e/16/1b6af141830956024830551757aac7190538653f21079d7cf1c202639da9/multipers-2.3.2-cp311-cp311-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "feb0d7ec7a1867e4acd50169d7ad42071ed6ac836a2f10414a073b0aefa0e284",
                "md5": "efbe22322ed1600eedc108ea0ab90c6b",
                "sha256": "d0250efc4b706a96b0450c549f2589b75eeb6197f478a1eef56305e2ca9a58a7"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp311-cp311-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "efbe22322ed1600eedc108ea0ab90c6b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 10388485,
            "upload_time": "2025-06-01T11:44:19",
            "upload_time_iso_8601": "2025-06-01T11:44:19.023091Z",
            "url": "https://files.pythonhosted.org/packages/fe/b0/d7ec7a1867e4acd50169d7ad42071ed6ac836a2f10414a073b0aefa0e284/multipers-2.3.2-cp311-cp311-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "dfaffd7368caddc2decabce87bd73e9823be91260077255fe06147839f41ee83",
                "md5": "9e49e5565f845b89a92f46fc27e03ec2",
                "sha256": "77ebebd67f30ab6f1c7958d16b4da3c8b2017d55fa298ac86121fb427fd29c33"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp311-cp311-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9e49e5565f845b89a92f46fc27e03ec2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 8656310,
            "upload_time": "2025-06-01T11:44:20",
            "upload_time_iso_8601": "2025-06-01T11:44:20.653671Z",
            "url": "https://files.pythonhosted.org/packages/df/af/fd7368caddc2decabce87bd73e9823be91260077255fe06147839f41ee83/multipers-2.3.2-cp311-cp311-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6b4e345e62a527a1b7a6d907c384ab3ab89d621e1f86f111b8af3c239ecada0e",
                "md5": "155c36c57955125f5476a873e202636c",
                "sha256": "1c96f159701ce788383845f384c33a9d7ab9fb4a85aebb9761f327b418689f43"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp311-cp311-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "155c36c57955125f5476a873e202636c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.10",
            "size": 6895330,
            "upload_time": "2025-06-01T11:44:22",
            "upload_time_iso_8601": "2025-06-01T11:44:22.676057Z",
            "url": "https://files.pythonhosted.org/packages/6b/4e/345e62a527a1b7a6d907c384ab3ab89d621e1f86f111b8af3c239ecada0e/multipers-2.3.2-cp311-cp311-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a1222d456de749ba1a1f317632af8297082db013bf100688168cd806918f1b08",
                "md5": "bc2a40f638b8244b80e575464da8f793",
                "sha256": "4f291649ed637d47698dd894aea06ec79a5c72e08c9b77027355f429f3ac3b05"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp312-cp312-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "bc2a40f638b8244b80e575464da8f793",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 9204536,
            "upload_time": "2025-06-01T11:44:24",
            "upload_time_iso_8601": "2025-06-01T11:44:24.486862Z",
            "url": "https://files.pythonhosted.org/packages/a1/22/2d456de749ba1a1f317632af8297082db013bf100688168cd806918f1b08/multipers-2.3.2-cp312-cp312-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b84e15d5b3516c143c9d73fea448ca57cf225f2b9cd10df91dd7a2b325a2bcba",
                "md5": "45164de6138a91d1f8f65c1479ce2880",
                "sha256": "6052fc5387890e82e25c0fc6bdfe686a9f80095c617cb5fb5cecaeb6b642ae44"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp312-cp312-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "45164de6138a91d1f8f65c1479ce2880",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 10424786,
            "upload_time": "2025-06-01T11:44:26",
            "upload_time_iso_8601": "2025-06-01T11:44:26.626117Z",
            "url": "https://files.pythonhosted.org/packages/b8/4e/15d5b3516c143c9d73fea448ca57cf225f2b9cd10df91dd7a2b325a2bcba/multipers-2.3.2-cp312-cp312-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c1df5923960dc1d63aa039feaf8eb5c7dd7b20ea5a57d071f5c31c0c263b4037",
                "md5": "8bb0184e1386584c5909ff82eed046f0",
                "sha256": "ff0423983188c2d32749dd5c62d9c02e009ad44f2341f9cdd977ccb769e3cee4"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp312-cp312-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8bb0184e1386584c5909ff82eed046f0",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 8460592,
            "upload_time": "2025-06-01T11:44:28",
            "upload_time_iso_8601": "2025-06-01T11:44:28.299490Z",
            "url": "https://files.pythonhosted.org/packages/c1/df/5923960dc1d63aa039feaf8eb5c7dd7b20ea5a57d071f5c31c0c263b4037/multipers-2.3.2-cp312-cp312-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9dd121db5cb711d711a53c006b04c7f1058e75d7e324aced6564e042183f25d8",
                "md5": "e24b7bead8d8fb082bdac2d397eff4b8",
                "sha256": "acfa0f9f93e8c80f6f8f600270f46aadc567a7176d7f432bf8097281b8217ce7"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e24b7bead8d8fb082bdac2d397eff4b8",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.10",
            "size": 6875770,
            "upload_time": "2025-06-01T11:44:30",
            "upload_time_iso_8601": "2025-06-01T11:44:30.331221Z",
            "url": "https://files.pythonhosted.org/packages/9d/d1/21db5cb711d711a53c006b04c7f1058e75d7e324aced6564e042183f25d8/multipers-2.3.2-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9e3f8a087485a49777c4eeb0c1c573093a5a5efddca2dcadc12bf69439b5f2c3",
                "md5": "c2dcd78ca23e8aa81e2185c84e6ab9cd",
                "sha256": "31e0f624c58c37ccea144758be8e185dd7ddd656d1b6dbe25bc7d6a2af067ef2"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp313-cp313-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c2dcd78ca23e8aa81e2185c84e6ab9cd",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.10",
            "size": 9325954,
            "upload_time": "2025-06-01T11:44:32",
            "upload_time_iso_8601": "2025-06-01T11:44:32.098504Z",
            "url": "https://files.pythonhosted.org/packages/9e/3f/8a087485a49777c4eeb0c1c573093a5a5efddca2dcadc12bf69439b5f2c3/multipers-2.3.2-cp313-cp313-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "95d0672c297e70f04663f12abca03ecae4372fb6b938c2dca24de213fe5d5d07",
                "md5": "ef77b01da16acd0b777e2726b63ff37c",
                "sha256": "291b49e32932d0b469bc995f99c865d9b63b7d10ac82612e6d5aad4450a95154"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp313-cp313-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ef77b01da16acd0b777e2726b63ff37c",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.10",
            "size": 10570098,
            "upload_time": "2025-06-01T11:44:33",
            "upload_time_iso_8601": "2025-06-01T11:44:33.744908Z",
            "url": "https://files.pythonhosted.org/packages/95/d0/672c297e70f04663f12abca03ecae4372fb6b938c2dca24de213fe5d5d07/multipers-2.3.2-cp313-cp313-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "48837183ee19df8b6cb9422f7f1d5092cac15f84997742317475de7c4d041abe",
                "md5": "724f149d38029e2d0bd908c718ffb8c7",
                "sha256": "3139120f91802f0249b73271536f6b2c51243c155bc14a5251a3f1512853b720"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp313-cp313-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "724f149d38029e2d0bd908c718ffb8c7",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.10",
            "size": 8456035,
            "upload_time": "2025-06-01T11:44:35",
            "upload_time_iso_8601": "2025-06-01T11:44:35.717785Z",
            "url": "https://files.pythonhosted.org/packages/48/83/7183ee19df8b6cb9422f7f1d5092cac15f84997742317475de7c4d041abe/multipers-2.3.2-cp313-cp313-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c53f9bea2e7c8dc4fec9c3cadc86afc86a769218f152757af830561db83712de",
                "md5": "e9d0af5bfb9f1853e0ce148a5bc279f6",
                "sha256": "709896c6a5b7133cbcb05c2dc831fc35f3ac6248beb528157c16f3d53908397f"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "e9d0af5bfb9f1853e0ce148a5bc279f6",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.10",
            "size": 6878366,
            "upload_time": "2025-06-01T11:44:37",
            "upload_time_iso_8601": "2025-06-01T11:44:37.279102Z",
            "url": "https://files.pythonhosted.org/packages/c5/3f/9bea2e7c8dc4fec9c3cadc86afc86a769218f152757af830561db83712de/multipers-2.3.2-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "cb6e2ea339d490dbcf56eb069e3aae128feec213215276883b60ea6537fafadb",
                "md5": "f42ef0d693367f54f00c3fbed584f92b",
                "sha256": "031a21ec0f751890be4a4ecee199e4eaaa0fb802120354dfdfe2c66ceecdf8be"
            },
            "downloads": -1,
            "filename": "multipers-2.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "f42ef0d693367f54f00c3fbed584f92b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 648394,
            "upload_time": "2025-06-01T11:44:06",
            "upload_time_iso_8601": "2025-06-01T11:44:06.850670Z",
            "url": "https://files.pythonhosted.org/packages/cb/6e/2ea339d490dbcf56eb069e3aae128feec213215276883b60ea6537fafadb/multipers-2.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-06-01 11:44:06",
    "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.53881s