Name | multipers JSON |
Version |
2.3.2
JSON |
| download |
home_page | None |
Summary | Multiparameter Topological Persistence for Machine Learning |
upload_time | 2025-06-01 11:44:06 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
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
[](https://doi.org/10.21105/joss.06773) [](https://davidlapous.github.io/multipers) [](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 |
| --- | --- | --- | --- |
| [](https://anaconda.org/conda-forge/multipers)| [](https://anaconda.org/conda-forge/multipers) | [](https://anaconda.org/conda-forge/multipers) |[](https://anaconda.org/conda-forge/multipers) |
| [](https:///pypi.org/project/multipers) | [](https://pypi.org/project/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[](https://doi.org/10.21105/joss.06773) [](https://davidlapous.github.io/multipers) [](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| [](https://anaconda.org/conda-forge/multipers)| [](https://anaconda.org/conda-forge/multipers) | [](https://anaconda.org/conda-forge/multipers) |[](https://anaconda.org/conda-forge/multipers) | \n| [](https:///pypi.org/project/multipers) | [](https://pypi.org/project/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"
}