Skip to main content

'ANOVA supercharged' supercharged

Project description

Peroxymanova

This package allows you to measure differences between groups of things, just like ANOVA (or have you heard of t-test? A/B testing?) - but without needing those things to be numbers! Instead, it wants you to provide a function to compare two objects, and does the rest.

Quickstart

pip install peroxymanova

And you're good to go!

You can also install it from github directly, but that requires having Rust toolchain since it involves building from source. Since this is a small project, there is no release schedule and changes get released pretty much immediately, so there is no reason to install from github, building from source.

from peroxymanova import permanova_pipeline
permanova_pipeline(...) # open the suggestions and follow the types!

Description

This project is essentially an implementation of PERMANOVA (wiki) in Rust.

PERMANOVA (Permutational Multivariate Analysis of Variance) is a method for comparing groups of mathematical objects, requiring only a dissimilarity matrix between them, as opposed to having a notion of an average, like the one used in classical ANOVA. This is incredibly useful, since it is massively easier to define a dissimilarity than a mean: there is no obvious "average graph", "average neural network" or an "average RL policy", but with a little bit of hand waving one can define distances, or dissimilarities between a pair of such entities.

In practice, it means that if you have groups of object you dont know how to represent in numbers, but you need to compare them, you are out of luck with ANOVA - but you can use this package instead.

This package aims to provide quality-of-life bells and whistles that turn PERMANOVA into something useful day to day. It implements the following workflow:

  1. Accept a set of some things T, a Callable that can compare two of those Ts, returning a float, and an array of labels that indicate which group a given thing T belongs to
  2. Efficiently run the Callable[[T,T], float] for every possible pair of things and build a dissimilarity matrix
  3. Run the PERMANOVA algorithm to get a test statistic and a p-value for the null hypothesis of the groups being all and the same. This step requires a lot of permutations to get the p-value so run it blazingly fast in Rust

Example problems (what does this package do again?)

League of Legends bot (or any other multi-objective genetic optimization)

Imagine you are building a bot using genetic RL. The name of the game in RL is the ability to explore the whole parameter space while being able to fine tune well - especially if there are multiple things to do at once, that is hard. A valid approach for achieving this is getting a PhD in RL. However, another (maybe less) valid approach is to split your agent generations into niches and let them fine tune their parameters, while keeping the niches far apart in the parameter space to keep exploring parameters well. Of course, getting a PhD in RL will also come with the understanding of how to do this, but another way is to use ANOVA. There is a caveat: it is often impossible to fully represent an agent as an R^d, so in those cases PERMANOVA comes to the rescue! Run your niches through the algorithm once to get yet another number for maximization purposes, or get a p-value approximation if you have a heuristic for the sweet spot for the distance between your groups. (A note for clarity: of course, you can do niching withot this package, this is one of many ways it can be done)

Mouse movement analysis (or any other graph problem)

Imagine you're setting up an experiment about mice (the squeaky mammals, not computer mice) solving mazes (this actually happened and is the inspiration for this project). You're reprezenting the mouse movement in the maze as a directed graph. You're doing something to the mice and measuring how they solve mazes with different experimental factors, but for some complicated reason you cant phrase your analysis as a simple repeated measures ANOVA / paired t-test (maybe the mice are always different!). You want to run an ANOVA but each measurement is a directed graph! Representing a graph as an R^d using graph measures is a terrible idea since it loses a lot of information - a better way is to define a distance between graphs that encompases the changes you wanted to measure all along. This way, with a matrix of distances between graphs, you can run PERMANOVA and get your answers!

String comparisons (or you arent a DS person and the examples above dont make you excited)

Imagine you have two groups of strings you need to compare. Maybe they are satled and unsalted password hashes and youre checking your salting. There is literally no way to represent the passwords as a float or an array of floats (what i was calling R^d for ML/DS people :) ). However, you can compare strings with things like the Levenshtein distance! So here PERMANOVA definitely comes to the rescue, you just run the thing with levenshtein distance and get your p-value that tells you the probability your salted passwords dont look different from unsalted ones based on used characters.

Binary blob comparisons (or you like pushing tech too far)

Imagine you have several sets of binary blobs. Maybe they are binary messages you were sharing with your friends Alice and Bob, and each set is, as you suspect, a repeated message. Run the PERMANOVA on the hamming distances between them to know fur sure! This is because in science everything with p-value < 0.05 is true, and otherwise false (that was a joke, please always remember the fraction of experiments that would lead to accepting the null hypothesis is right there in the p-value).

Further reading

please take a look at the wiki page and the original paper: doi

Strategic roadmap

  • Actually make it multivariate since a single p-value for a single "difference" is kind of just one-way permutational ANOVA.
  • Make a fancy parallelization backend interface for computing pairwise distances. Maybe there could be a backend='ray' that would actually search for a full ray cluster?
  • Since we dream of ray, should we get a cluster for rust side as well? :)

Development

Releasing

Since were using pyproject.toml, the source of truth for the version is the file, and the version tag is based on the project.version attribute. It means bumping the version necessitates a separate commit. At least there is a way to ensure the version tag consistency with the version attribute in the file. Use:

git config --local include.path ../.gitconfig

to add the repos' .gitconfig with an ugly but nifty "git bump" alias

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

peroxymanova-0.4.0.tar.gz (26.7 kB view details)

Uploaded Source

Built Distributions

peroxymanova-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

peroxymanova-0.4.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (1.2 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ i686

peroxymanova-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

peroxymanova-0.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

peroxymanova-0.4.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (1.2 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ i686

peroxymanova-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

peroxymanova-0.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

peroxymanova-0.4.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (1.2 MB view details)

Uploaded PyPy manylinux: glibc 2.12+ i686

peroxymanova-0.4.0-cp312-none-win_amd64.whl (212.0 kB view details)

Uploaded CPython 3.12 Windows x86-64

peroxymanova-0.4.0-cp312-none-win32.whl (199.0 kB view details)

Uploaded CPython 3.12 Windows x86

peroxymanova-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

peroxymanova-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

peroxymanova-0.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl (1.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.12+ i686

peroxymanova-0.4.0-cp312-cp312-macosx_11_0_arm64.whl (328.1 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

peroxymanova-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl (334.9 kB view details)

Uploaded CPython 3.12 macOS 10.12+ x86-64

peroxymanova-0.4.0-cp311-none-win_amd64.whl (214.5 kB view details)

Uploaded CPython 3.11 Windows x86-64

peroxymanova-0.4.0-cp311-none-win32.whl (202.2 kB view details)

Uploaded CPython 3.11 Windows x86

peroxymanova-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

peroxymanova-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

peroxymanova-0.4.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl (1.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.12+ i686

peroxymanova-0.4.0-cp311-cp311-macosx_11_0_arm64.whl (331.3 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

peroxymanova-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl (338.0 kB view details)

Uploaded CPython 3.11 macOS 10.12+ x86-64

peroxymanova-0.4.0-cp310-none-win_amd64.whl (214.3 kB view details)

Uploaded CPython 3.10 Windows x86-64

peroxymanova-0.4.0-cp310-none-win32.whl (202.1 kB view details)

Uploaded CPython 3.10 Windows x86

peroxymanova-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

peroxymanova-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

peroxymanova-0.4.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl (1.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686

peroxymanova-0.4.0-cp310-cp310-macosx_11_0_arm64.whl (330.9 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

peroxymanova-0.4.0-cp310-cp310-macosx_10_12_x86_64.whl (338.1 kB view details)

Uploaded CPython 3.10 macOS 10.12+ x86-64

peroxymanova-0.4.0-cp39-none-win_amd64.whl (214.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

peroxymanova-0.4.0-cp39-none-win32.whl (201.4 kB view details)

Uploaded CPython 3.9 Windows x86

peroxymanova-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

peroxymanova-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

peroxymanova-0.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl (1.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

peroxymanova-0.4.0-cp38-none-win_amd64.whl (214.3 kB view details)

Uploaded CPython 3.8 Windows x86-64

peroxymanova-0.4.0-cp38-none-win32.whl (201.8 kB view details)

Uploaded CPython 3.8 Windows x86

peroxymanova-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

peroxymanova-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

peroxymanova-0.4.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl (1.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

File details

Details for the file peroxymanova-0.4.0.tar.gz.

File metadata

  • Download URL: peroxymanova-0.4.0.tar.gz
  • Upload date:
  • Size: 26.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.5.1

File hashes

Hashes for peroxymanova-0.4.0.tar.gz
Algorithm Hash digest
SHA256 424f7f6241e3c7d106b97e2f3639923728eaeabdae729213ccdd926325e3199f
MD5 8291d2b157d8f9391a242386fd1e74ee
BLAKE2b-256 b0c25247166f5c79584ea061cc13553c98ffe7eee5c1f2e17cfb17657d06d471

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 166f6ec964a4b2de1142eba2c4a7d5c7419deb000c1b401019db57e4eef977f4
MD5 04789872bcc6ae70d4ff5f5f9a771660
BLAKE2b-256 be53b91d7e41b8f9dca8dc8cd3d98354c858c65389b580a8212ba4d261bf465e

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6a8938f2ab1143511767c9925aac9e342d78ee47d667af34ce5e34f62a6543d6
MD5 4f866a5a8c3a768b7b02c3063a1e07de
BLAKE2b-256 c74b7111f90c6de6a4532083d59394a358fa453478c4ae912ca880811ea27ac6

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 6bc881c67f696ebdd4263a72eee9337043325dfb42ea01956b2585a49abcbc2d
MD5 930499243dc4b8740ad9386e08174c25
BLAKE2b-256 b2f70a4868719d9bf03c6fcb083810d7806eb9f9b7cbb2f2b5db2a6f66ef69f3

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7efc952f55816e6cdb625087edd3d64af7e620f0ffb817a540c1e983071fe1d0
MD5 04659ced8ce9224a486dc5078ab42c62
BLAKE2b-256 e7eb5755df817bae5ffd068ff44d30e97ccd79a90d4bedad8d543f9e6220c468

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5ff45d91692b72003a76aacf6d72cd8891f9631c0e53a3784328b4441b1b47a6
MD5 b4f32903acfb3c2dccb7d008c0450b85
BLAKE2b-256 33f8a4c7916b24ff691f84617059ba04fe137ef78ef767f024a1240548c4a0fb

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 3a15a9c151bd5124eb14962b222bfa272f2e707c71a30ba18edf9d0345d67bcf
MD5 53435da6810faa1bd679f6f97fe78048
BLAKE2b-256 f64104bad8e26622272fb281f7600e7a7841bcae3e16a4413a4ed1252c024a93

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9340b02ca2d52d5c95a7a8e86ea0b515b4e08f9579e824bc4d16f54eb97a7a65
MD5 8d936d39ecdc55d7b4959160245b1f24
BLAKE2b-256 325e5db3dcb4f9420aa91719531e04617cec6c8121c27790dc55a23ca82d99e2

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 483fc1ba686ad6a713ca3639fdaf9a74731f4395b08681fa6026654cf986ce79
MD5 9bba3c2bc1d80f889f6ba3b164349db2
BLAKE2b-256 ae32426b4b0f1548a803d303ec097e81ef3ba359abf7e1fa6565367b9befaede

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 a1e5a724063d43bf2cb5e88577c255292d11c9b5a853adff5851318417cb7ebc
MD5 ee85f1954db1272344dedc13c6aed15b
BLAKE2b-256 2a2a4deb5d73f69c03301bc0d7987547fcf13ca5df36558b2a45198616996024

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp312-none-win_amd64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 3363918427b9c5dc38e05d15b7227906485c561951a26741546ca7792fc29c08
MD5 deb4c64bbbe3cd738abcd3d8160d820a
BLAKE2b-256 dac3d5a800389ed7855a8e3cf69743734f28d93c253965682ead19d651326685

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp312-none-win32.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp312-none-win32.whl
Algorithm Hash digest
SHA256 f262ccff5d6a6d64f4d0c706fa23e7b0b8268579d3eb357c929a2d3d953b3515
MD5 5dd141764021367884b4d80c4a86f599
BLAKE2b-256 8672381e720b48c96a54dc80c9d4d158e1af227b314ec24ea199d70095bc6b0a

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 77bcff99082ca00f1ec9d82c6b98604d8c8934e3455aaf9d16bae678480e1742
MD5 d08138e36b1cde927d4efd1f433b80d1
BLAKE2b-256 3e02317ac05e794e7d5670b8848bfad1e7e2d70c0793c78531df96290c6d0841

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c357068d968ef0fc4dc300d1142eec57b4d5581965e3d8bc1616a07d503e6d6c
MD5 1c382621c1350291a409c3113bdce84d
BLAKE2b-256 054f8c063e8742673f93429346ea4343c1b99a1419004ab25a9bf50394e7d813

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 ed093ca31772355f9cae57246f5c1b22fdc695d887e22404ddedf8b79c40459e
MD5 42bfc7bcb1d4ac89ce874773eb51a040
BLAKE2b-256 f657afe51b90c8c965ed7e3a123417f6143af39960c9fb45ca2332654d3d796d

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 69515fbe0cc252ad5778cc2ba9cd0e0d31eee3d44aeb5f9659d753339557ddb2
MD5 fd1d8947144414f997ecce5ed4bf4eda
BLAKE2b-256 f21d33289b3bf038c714a679a133057c9ee8743278b3ea5b946bac831a61fdf7

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 91d3101851a9bc5ca30e6fc7fd6a94dc1f507fd0d2d85cda82f19c6f50816fbd
MD5 c3248afb567f4303a6783797c44560ed
BLAKE2b-256 92b54409fab3d1602efc2518e7c60ed45c7609d76bace1fb1bffc28bf5e2120a

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 c25e845c53a71341311723bda246066834e047a60906a6e03747d3adb8b2c81c
MD5 8de97438900e20951603f24bf91b03c9
BLAKE2b-256 06abf2a9570c6ce354aa97b7a517400b7284c255ef8e3f81d9cd97bb6baa5efa

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp311-none-win32.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp311-none-win32.whl
Algorithm Hash digest
SHA256 1b2899bac063c76edc31f387239ceda1e74c4b736124c96096562883b05e886a
MD5 b90bfad48a4ce07dd3fdc8e0b6313dde
BLAKE2b-256 7bcb19cd626288bbfef76484d17bebea7e304d0cd3c7697a1fc5958a90395355

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1b045f843ebe7853ea107748ec807f093af0d8b2a4d8c2c24ade8865833c3de9
MD5 7aaee2e3e5c33ec00352d0d2dd78701b
BLAKE2b-256 983a42f9342bccf295d21e04ad9080e519c5bf24660d96e787a1932491a9b517

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fcebb6ac2c81292b489b87e0172c85be663ce70318e2894b16501b249a8f9011
MD5 aaea5dcc21b1e5761b98098dcdb6d175
BLAKE2b-256 9702101c6383f4d86001ef69f4cbecebff2ed037558a3e61a1d99e18098d26b0

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 9f3ee39143c2f207924b8ebc2a0a8c3ba22ab6ca66a497ef0e8060d6bf36b541
MD5 064486f45d2f95252f0b8e8e082ab6fe
BLAKE2b-256 47eec1c8188bf80359ac9666a027283cf29b0f6526afac60a298e430b0d25cf2

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 390492848b37aedb4c2d5873701159181c79c52fc86a3bd2053e27c320fca589
MD5 6cd0054987b69ad2c632fbf8b31fa85d
BLAKE2b-256 04601d90297e5bf465718fc94c34a2926c1caa7ce408130c82d5af83e5971bef

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1c6cbf1817a64cc6537fa456b712c07b51e624b5e65ba131448c9c6f8c89e5ea
MD5 ebe6c89f096ee143905b138283af7f54
BLAKE2b-256 49b836fb4a54edcd5ae17febc1b0c92ded8aab5dad1dd146e2577d082a6ae15f

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 f8d034aa64704e093d913ee4a1e6df4878a9d43b6cc2259b32c28262c04913d5
MD5 59a3b2c86c37be585626eff3ac3f80b1
BLAKE2b-256 045188d00abd78b6f6b119bf717245a961da9e8d1d451c58916614633f2c7cb6

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp310-none-win32.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp310-none-win32.whl
Algorithm Hash digest
SHA256 f873b082b834a7279aa6df69bc86b1f2c59df6f76fc46121a95cb62e9c71c654
MD5 ad39ca4781c58b41e5d18b2b929d30cb
BLAKE2b-256 6f83bb044569513f110ad17c90ae7147e7f9195e8f064d04d55d2be685eb7024

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 54ce3feef2b069af3e0919c207b79a44bf8a0e7cf91a7c0163a1a2931f2e0f67
MD5 44ef4171392aff43409d6821171bab05
BLAKE2b-256 af9f68e7976331ef24c4fb5b8e8d56c86cdfeaab104bf7c79ae1e8282a724562

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 df33411be82198bd433a5e4f85bc624ce3008a6bc63d5401e8d05c31c456d377
MD5 092a701a81f29ac41f8aee92e0bb035f
BLAKE2b-256 5656aa696d4634900a3e93859b927872c268bfdf7fe3c94602b8e13eb0705c39

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 7500fa03a2ebbbd3763ef9e883c9f556dbe018c253b67703d344950413b94dce
MD5 34e9fb6c52ca4fac2f94cc2c5d7934d6
BLAKE2b-256 c37d10b8d7d12d0c8e8a0edeae193bf36dba590d0572c5eb6966e2e6439c0188

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 10c3c6f06331f8fa17f0a477e861049faeac2d835af771b7826ba2a94668d7af
MD5 4d6a23663baa4ead78cbd07a87ef6b99
BLAKE2b-256 57d0690fccc6b953c4f30f56452c3b18e656b2fb443efed9c14fd5fbd1f0e550

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f76e9112f86b8a1f5f5751ac02c4a74006228b9e80183aee120b32ff3554dc63
MD5 fb4a6f588df3247f1543bc9c47eeb70f
BLAKE2b-256 7a05fe102bee8ac7483bf26b9a7a0b8b75ddee6fabeb6d5e70926e5a6bb3bb17

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp39-none-win_amd64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 cd679250b1e39b33b00913dc5fbb0092399fed10b384ed9c7dee15e0b7099101
MD5 aafa315e44c200117ec34e0855252ed8
BLAKE2b-256 812d925df3ac54a84eae8a42b53f67b6a0a2ccc537a63d4c113d79d6baa74365

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp39-none-win32.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp39-none-win32.whl
Algorithm Hash digest
SHA256 f6a32527de918a403e68d943f48bedfd6762f3c9475d535cbd82841dc76f6b62
MD5 d5c7a410e239e1ac8b3de14eb385de5e
BLAKE2b-256 b75c34333f7b8e1cb2bec30fe57e177d4c67746b907b59c389948541365e13d0

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2bdd054c44b92eefce7ced9b825b8738a4ce5679940b47ea23dc1fc61e2e1192
MD5 c667b8f314a146120582f764472ac5a5
BLAKE2b-256 5108968d0d0a17ff446d06a2099f5ed4a381b176cdd6c6a6b08ad58cbc1e9310

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7d12243b496a45446ab89ab3555767e15194a8ab189927fa8610ace3628f2c90
MD5 1d35c3325b95046a0d4761cc5df7168c
BLAKE2b-256 de8f90c72bf72c85f144f4710ec1951c847e324e2445019669aadf9cd756f552

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 4cfe5a0d3b7e26798b650451084076a38f976f86236db17cd32d887250c40108
MD5 7d33494192d2d4d22d359f0fac457654
BLAKE2b-256 d08fcc931476652bdd298c330882f2c87717d29a000fb14c7be7d4c214f5a451

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp38-none-win_amd64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 35cdd373390b341a4fac0cece8c867b76ed9e5bc84ec5fabc3dd889c7a2298e2
MD5 86af03b8768aa0212dcf0abbd32bc120
BLAKE2b-256 60df4d2264d8a861512b4e0f8ea1098e1adbb8617f0cfd203a6b283526c5b064

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp38-none-win32.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp38-none-win32.whl
Algorithm Hash digest
SHA256 238754c48c9c4d0f29ab6560c11692faa843b63aa87de507c49f0cf3fd124c81
MD5 aacc4ea709ea73b8c74bd384743bf941
BLAKE2b-256 5b2b1875e41fb6425e6f5631e0fb9303e04cb2c0a9c49d6aab0f0aee058af5ac

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d6176ec85aeb88231a0c24bec9d3208c9fe9bdfeb9c859f81663bd32b4c40db9
MD5 5e619143ac4e6330aef0970059e9161d
BLAKE2b-256 0ac5223caed82836540daef516ffe180da095b26037d9ee2497603979838b133

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bd1aa032ce65695f0a037701453ba83bf1ba8a8f42fe3d22924841b236a3a21d
MD5 4c9cfd7f82b2e91be0c8784a34311953
BLAKE2b-256 8619cec88856b3cad8f203f69bbe0f165fea118a09c3d88740b7213a953c5e42

See more details on using hashes here.

File details

Details for the file peroxymanova-0.4.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl.

File metadata

File hashes

Hashes for peroxymanova-0.4.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm Hash digest
SHA256 a9da20baecaa7a769962257830ba838dfe72f08dfcad6b6879c69eff869364d1
MD5 4dc2d280bf23f2e8cb0e0b88ad77f790
BLAKE2b-256 bc998ef1f9886fbdc3540e1794b9a5c42e17740b4bff1cc784dc45be22732b71

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page