Skip to main content

H2MM_C

Build and Test Documentation Status

Project Desciption

H2MM_C is a python extension module that implements the H2MM algorithm originally developed by Pirchi, Tsukanov et. al. J. Phys. Chem B. 2016, 120, 13065-12075 in a highly efficent and multithreaded manner, along with functions for posterior analysis with the Viterbi algorithm.

H2MM_C was designed from the ground up to handle multiparameter models, described in Harris, P.D., Narducci, A., Gebhardt, C. et al. Multi-parameter photon-by-photon hidden Markov modeling. Nat Commun 13, 1000 (2022)., which also introduced this package.

The API is intended to be user friendly, while still allowing for great flexibility. Suggestions are welcome for ways to improve the code and interface.

Full Documentation

Full dodumentation can be found at h2mmpythonlib.readthedocs.io

See Also

This package is offers the basic function to perform H2MM, which means that it does not restrict the use of H2MM to any particular modality. However this means that much of the analysis specific to smFRET applications is left up to the user.

For those

Core Features

  • H2MM model optimization: finding the ideal model given a set of data.
    • limit functions to bound the values that a model can take
  • Viterbi analysis: finds the most likely state path through a set of data given a H2MM model
    • Reporting of model reliability statistics BIC and ICL
  • Simulation functions: Monte Carlo type simulations based on a hidden Markov model
    • Useful for verifying results

Installation

The easiest way to install H2MM_C is via pip:

$ pip install H2MM-C

It should be noted that the setup files require a recent version of numpy, and at least Python 3.7. This is not because the code actually requires features introduced in these verstions, but rather because in Linux, with the numpy version change, the size of certain numpy data-types changed, making compiles with recent versions of numpy incompatible with earler versions. These recent numpy versions do not support Python 3.6. Therefore, the intrepid programmer can download the code, edit the setup files, and compile with earlier versions of numpy and/or Python, and the code should still work.

Alternative Installation Methods

If for some reason installing from PyPi doesn't work, you can try installing directly from github:

$ pip install git+https://github.com/harripd/H2MMpythonlib

Or, if you download the repository, and have the files stored locally, from the top directory of the project (where the setup.py file is):

$ python setup.py install

or if you only want to have it accessible from the current directory, use:

$ python setup.py build_ext --inplace

*Note on some systems the commands are pip3 and python3 instead of pip and python respectively.

Compatibility

We are trying to provide the broadest degree of compatibility as possible, but there are limitations, and assistance is welcome to expand compatibility as much as possible. Currently we are using github actions and cibuildwheel to generate wheels that are uploaded to PyPi, as well as the sdist archive (.tar.gz file), however we are having trouble building certain wheels.

Working wheels:

  • Windows wheels
  • manylinux wheels
  • MacOS X wheels

Currently we do not have wheels for:

  • musllinux

For systems we do not have wheels for, it may still be possible to compile from the sdist archive (.tar.gz file). cibuildwheel uses the most recent version of numpy. This means that these wheels will generally not work if you have a version of numpy before 1.20.0, and therefore this is given as a minimum version requirement. However, we have been able to compile working versions with lesser versions of numpy. Therefore, if you wish to keep your version of numpy, we suggest downloading the github repository, editing the setup.py file to support your version of numpy, and compiling with the following commands (run from the base directory where you have your local copy).

$ python setup.py bdist_wheel sdist
$ pip install *path to wheel file*

Tutorial Code

For a full tutorial on H2MM_C, please see the zenodo repository: DOI

Below is a small sample of tutorial code.

	# H2MM_C accepts numpy arrays, so we mush import numpy
	import numpy as np
	import H2MM_C
	# note: it can be more convenient to use from H2MM_C import * so that it is unnecessary to type H2MM_C. repeatedly

	###Data must be defined, so here is some data *made purely for demonstration, and not meant to be realistic*

	# lets define sum fake bursts IMPORTANT: this is ENTIRELY FOR DEMONSTRATION, the fake data below is not based on any model
	# burst 1
	burst_stream1 = np.array([  0,  1,  0,  1,  0,  2,  0,  1,  2,  0,  1,  2]) 
	burst_times1 =  np.array([100,110,112,117,123,124,128,131,139,148,168,182]) # note that burst_stream1 is of the same length as burst_times1
	
	# burst 2
	burst_stream2 = np.array([  2,  1,  0,  0,  2,  1,  0,  1,  0,  0])
	burst_times2  = np.array([202,231,340,370,372,381,390,405,410,430]) # note that burst_stream2 is of the same length as burst_times2, but different from burst_stream1 and burst_stream1
	
	# burst N
	burst_streamN = np.array([  0,  2,  1,  2,  0,  2,  1,  0,  1,  2,  1,  0,  1,  0,  0])
	burst_timesN  = np.array([500,502,511,515,518,522,531,540,544,548,561,570,581,590,593]) # again burst_streamN is the same length as burst_timeN


	###The burst arrays must now be put into two lists, one for the photon streams and one for the arrival times


	# Now the bursts must be put into lists (real data should have hundreds to thousands of bursts)
	# Also, normally, you will be importing the data from a file, so the previous definition of burst_streamN and burst_timesN
	# will more likely be done with a file read, or by using your burst-analysis software to split your data into bursts
	streams = [burst_stream1, burst_stream2, burst_streamN] # each element is a numpy array of indexes identifying the stream of each photon
	times = [burst_times1, burst_times2, burst_timesN] # each element is a numpy array of arrival times, must be in in order


	###The above does not invoke H2MM_C (except the import statements), they are purely for demonstrating how to format the data that H2MM_C accepts.
	###The rest is actually using H2MM_C, first, an initial model must be defined, (an object of the 'H2MM_C.h2mm_model' class) and then initial model and data can be given to the  'H2MM_C.EM_H2MM_C' for optimization.


	# first define the initial arrays for the initial guess
	prior = np.array([0.3, 0.7]) # 1D array, the size is the number of states, here we have 2, the array will sum to 1
	trans = np.array([[0.99, 0.01],[0.01,0.99]]) # 2D square array, each dimenstion the number of states
	obs = np.array([[0.1, 0.4, 0.5],[0.3, 0.2, 0.5]]) # 2D array, number of rows is the number of states, the number of columns is the number of detectors
	
	# Now make the initial model
	initial_model = H2MM_C.h2mm_model(prior,trans,obs) 
	
	# Run the main algorithm
	optimized_model = H2MM_C.EM_H2MM_C(initial_model,streams,times)
	
	# Printing out the main results
	print(optimized_model.prior, optimized_model.trans, optimized_model.obs)
	# Print out the number of iterations it took to converge
	print(optimized_model.niter)


	###And viterbi analysis


	# doing the fitting
	fitting = H2MM_C.viterbi_sort(optimized_model,streams,times)
	
	print(fitting[0]) # print the ICL
	# the state path is in index 1
	print(fitting[1])

Classes

  1. h2mm_model: the core python extension type of the package: this contains the H2MM model, which has the core fields:

    • nstate: the number of states in the model
    • ndet: the number of photon streams in the model
    • trans: the transition probability matrix
    • obs: the emmision probability matrix, shape nstate x ndet
    • prior: the prior probability, shape nstate
    • k: the number of free parameters in the model
    • loglik: the loglikelihood of the model
    • nphot: the number of photons in the dataset that the model is optimized against
    • bic: the Baysian Information Criterion of the model
    • converged: True if the model reached convergence criterion, False if the optimization stopped due to reaching the maximum number of iterations or if an error occured in the next iteration.
  2. h2mm_limits: class for bounding the values a model can take, min/max values can be specified for all 3 core arrays (trans, obs, and prior) of an h2mm_model, either as single floats, or full arrays, values are specified as keyword arguments, not specifiying a value for a particular field will mean that field will be unbounded

    • min_trans: the minimum values for the trans array (ie the slowest possible transition rate(s) allowed), values on the diagonal will be ignored
    • max_trans: the maximum values for the trans array (ie the fastest possible transition rate(s) allowed), values on the diagonal will be ignored
    • min_obs: the minimum values for the obs array
    • max_obs: the maximum values for the obs array
    • min_prior: the minimum value for the prior array
    • max_prior: the maximum value for the prior array

Functions

  1. EM_H2MM_C: the core function of the package, used to perform model optimizations.

    Arguments:

    • Initial model : an h2mm_model object that will be optimized.
    • Streams: a set of burst photon indeces. Must be given as a list, tuple or 1-D object numpy.ndarray of 1D numpy.ndarrays of photon indeces, must be of integer type, and positive. The indeces will be converted to unsigned long int when given to C-code
    • Times: a set of burst photon times (macrotimes), Must be given as a list, tuple or 1-D object numpy.ndarray of 1D numpy.ndarrays. The macrotimes will be converted to unsigned long long int when given to C-code. Therefore while floating point arrays are accepted, they are strongly discouraged. Must be same length as streams

    Returns:

    • Optimized model: the h2mm_model optimized for the given input data.
  2. H2MM_arr: calculate the loglik of a bunch of h2mm_model objects at once, but with no optimization. The first agruments can be an h2mm_model, of a list, tuple, or numpy array of h2mm_model objects. The second and third arguments are the same as in EM_H2MM_C

    Arguments:

    • Models : a list, tuple or numpy.ndarray of h2mm_model objects whose loglikelihood will be calculated agains the given data.
    • Streams: a set of burst photon indeces. Must be given as a list, tuple or 1-D object numpy.ndarray of 1D numpy.ndarrays of photon indeces, must be of integer type, and positive. The indeces will be converted to unsigned long int when given to C-code
    • Times: a set of burst photon times (macrotimes), Must be given as a list, tuple or 1-D object numpy.ndarray of 1D numpy.ndarrays. The macrotimes will be converted to unsigned long long int when given to C-code. Therefore while floating point arrays are accepted, they are strongly discouraged. Must be same length as streams

    Returns:

    • Calculated Models: a set of h2mm_model objects organized in the same way as Models
  3. viterbi_path: takes the same inputs as EM_H2MM_C, but the 'h2mm_model' should be optimized through 'EM_H2MM_C' first, returns a tuple the: Arguments:

    • Model : an h2mm_model object that will has been optimized against the given data.
    • Streams: a set of burst photon indeces. Must be given as a list, tuple or 1-D object numpy.ndarray of 1D numpy.ndarrays of photon indeces, must be of integer type, and positive. The indeces will be converted to unsigned long int when given to C-code
    • Times: a set of burst photon times (macrotimes), Must be given as a list, tuple or 1-D object numpy.ndarray of 1D numpy.ndarrays. The macrotimes will be converted to unsigned long long int when given to C-code. Therefore while floating point arrays are accepted, they are strongly discouraged. Must be same length as streams

    Returns:

    • path: the most likely state path
    • scale: the posterior probability of each photon
    • ll: the loglikelihood of the path for each burst
    • icl: the Integrated Complete Likelihood (ICL) of the state path given the model and data, provides an extremum based criterion for selecting the ideal number of states
  4. viterbi_sort: the viterbi algorithm but with additional parameters included: Arguments:

    • Model : an h2mm_model object that will has been optimized against the given data.
    • Streams: a set of burst photon indeces. Must be given as a list, tuple or 1-D object numpy.ndarray of 1D numpy.ndarrays of photon indeces, must be of integer type, and positive. The indeces will be converted to unsigned long int when given to C-code
    • Times: a set of burst photon times (macrotimes), Must be given as a list, tuple or 1-D object numpy.ndarray of 1D numpy.ndarrays. The macrotimes will be converted to unsigned long long int when given to C-code. Therefore while floating point arrays are accepted, they are strongly discouraged. Must be same length as streams

    Returns:

    • icl: the Integrated Complete Likelihood (ICL) of the state path given the model and data, provides an extremum based criterion for selecting the ideal number of states
    • path: the most likely state path
    • scale: the posterior probability of each photon
    • ll: the loglikelihood of the path for each burst
    • burst_type: a binary classification of which states are in each burst
    • dwell_mid: returns the lengths of dwells in each state, for dwells with full residence time in the burst
    • dwell_beg: same as dwell_mid, except for dwells that begin each burst
    • dwell_end: same as dwell_beg, but for ending dwells
    • ph_counts: gives counts of photons per stream per dwell
    • ph_mid: same as ph_counts, but further sorted as in dwell_mid
    • ph_beg: same as ph_counts, but futher sorted as in dwell_beg
    • ph_end: same as ph_counts, but futher sorted as in dwell_end
    • ph_burst: same as ph_counts, but futher soreted as in dwell_burst
  5. sim_statepath: from an model, generate a random state path of equally spaced time points

    Arguments:

    • Model: a h2mm_model object to use as the defined parameters of the simulation
    • Length: the number of time steps to simulate, defines the number of elements in the ouput array

    Returns:

    • Path: an array of the states of the system at each time point, based on Monte-Carlo simulation
  6. sim_sparsestatepath: from a model and a set of sparse times, generate a random state path

    Arguments:

    • Model: a h2mm_model object to use as the defined parameters of the simulation
    • Times: a 1D numpy.ndarray object of times for a simulated burst

    Returns:

    • Path: the states of the simulated photons based on the input times
  7. sim_phtraj_from_state: randomly select photons given a set of states and a model Arguments:

    • Model: a h2mm_model object to use as the defined parameters of the simulation.. Note: the model transition rates are ignored, only the emission probability matrix is considered
    • states: a 1D numpy.ndarray of positive integers, specifying the state of each photon. Note: this state path over-rides any transition probability matrix used in the model

    Returns:

    • Stream: the indeces (photon indeces) of the simulated photons
  8. sim_phtraj_from_times: from a model and a set of sparse times, generate a random photon trajectory

    Arguments:

    • Model: a h2mm_model object to use as the defined parameters of the simulation
    • Times: a 1D numpy.ndarray object of times for a simulated burst

    Returns:

    • Path:
    • Stream: a 1D numpy.ndarray of the simulated photon indeces (streams)

Acknowledgements

Significant advice and help in understanding C code was provided by William Harris, who was also responsible for porting the code to Windows

License and Copyright

This work falls under the MIT open source lisence

Download files

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

Source Distribution

h2mm_c-2.3.0.tar.gz (3.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

h2mm_c-2.3.0-cp314-cp314t-win_arm64.whl (975.0 kB view details)

Uploaded CPython 3.14tWindows ARM64

h2mm_c-2.3.0-cp314-cp314t-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.14tWindows x86-64

h2mm_c-2.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

h2mm_c-2.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

h2mm_c-2.3.0-cp314-cp314t-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

h2mm_c-2.3.0-cp314-cp314t-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14tmacOS 10.15+ x86-64

h2mm_c-2.3.0-cp314-cp314-win_arm64.whl (953.7 kB view details)

Uploaded CPython 3.14Windows ARM64

h2mm_c-2.3.0-cp314-cp314-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.14Windows x86-64

h2mm_c-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

h2mm_c-2.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

h2mm_c-2.3.0-cp314-cp314-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

h2mm_c-2.3.0-cp314-cp314-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.14macOS 10.15+ x86-64

h2mm_c-2.3.0-cp313-cp313-win_arm64.whl (934.8 kB view details)

Uploaded CPython 3.13Windows ARM64

h2mm_c-2.3.0-cp313-cp313-win_amd64.whl (991.4 kB view details)

Uploaded CPython 3.13Windows x86-64

h2mm_c-2.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

h2mm_c-2.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

h2mm_c-2.3.0-cp313-cp313-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

h2mm_c-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

h2mm_c-2.3.0-cp312-cp312-win_arm64.whl (935.0 kB view details)

Uploaded CPython 3.12Windows ARM64

h2mm_c-2.3.0-cp312-cp312-win_amd64.whl (991.8 kB view details)

Uploaded CPython 3.12Windows x86-64

h2mm_c-2.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

h2mm_c-2.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

h2mm_c-2.3.0-cp312-cp312-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

h2mm_c-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

h2mm_c-2.3.0-cp311-cp311-win_arm64.whl (945.4 kB view details)

Uploaded CPython 3.11Windows ARM64

h2mm_c-2.3.0-cp311-cp311-win_amd64.whl (996.9 kB view details)

Uploaded CPython 3.11Windows x86-64

h2mm_c-2.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

h2mm_c-2.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

h2mm_c-2.3.0-cp311-cp311-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

h2mm_c-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

h2mm_c-2.3.0-cp310-cp310-win_amd64.whl (997.1 kB view details)

Uploaded CPython 3.10Windows x86-64

h2mm_c-2.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

h2mm_c-2.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

h2mm_c-2.3.0-cp310-cp310-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

h2mm_c-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

h2mm_c-2.3.0-cp39-cp39-win_amd64.whl (998.0 kB view details)

Uploaded CPython 3.9Windows x86-64

h2mm_c-2.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

h2mm_c-2.3.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

h2mm_c-2.3.0-cp39-cp39-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

h2mm_c-2.3.0-cp39-cp39-macosx_10_9_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

File details

Details for the file h2mm_c-2.3.0.tar.gz.

File metadata

  • Download URL: h2mm_c-2.3.0.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for h2mm_c-2.3.0.tar.gz
Algorithm Hash digest
SHA256 ca92ce5cad95562150da79b241fe97d79ba26620e49ef0be1498c4e381feff0f
MD5 553e1d12eece759ded4b7a24116f3970
BLAKE2b-256 cce80b60391100019ba8a8afb99e4f7775745826db0f17a21d3235b8a228f1be

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp314-cp314t-win_arm64.whl.

File metadata

  • Download URL: h2mm_c-2.3.0-cp314-cp314t-win_arm64.whl
  • Upload date:
  • Size: 975.0 kB
  • Tags: CPython 3.14t, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for h2mm_c-2.3.0-cp314-cp314t-win_arm64.whl
Algorithm Hash digest
SHA256 e96bfe52f93b9c1d2e46b0fb02587d257fe36d64cc02d9b72b240fa655768ce9
MD5 e9331ab822cbe06885648b6fb3e07e38
BLAKE2b-256 3606334dd386ebd275c8f335e61812e54239c29a33b491b5c5b309098318af56

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: h2mm_c-2.3.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for h2mm_c-2.3.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 bfe61522d53c6d2e963ba8d33e82a0f904b095d99155f83a6487a3b975a86b48
MD5 102209f65bfc738f5caa19782b4bffab
BLAKE2b-256 5e5be080da88131964866104a773e68c5d2112dd870ece17b1cad5d4d5f2db09

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 23d94835d50f64890f83ad808785b93381051f66ebb2abef7d80a3db5a19f2b6
MD5 40f2dfaf386ae5b45390ba478a5205d6
BLAKE2b-256 62b859d460c65ae4e6a1c0e4933c785ef211f5134126957afbd9ea1a48c7151e

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c513ebfe8630b27035e51629270e56730842d5c29ae00e0d6ed7ffa6e418775b
MD5 605417a2c5cc7f9963f372fcf4a8814f
BLAKE2b-256 094eff1c1671cfc954943528e3d128c86362c928fb42f4eb4e026be5a2e218fa

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94e9f9626cb4a01cbfdfd8654969985fcd4e2d6906013e5f01837764e83d377d
MD5 06f97a7ca7fd092ad1b1ba9764b7d3a6
BLAKE2b-256 784b3bdcc4c296a924d19738f2cd98cf8472f6eeb2a5daa7113ee642325c2bdd

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp314-cp314t-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp314-cp314t-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 452207dd9071b2d767940668484db649984bbbe3607bb57630b084db4a792190
MD5 0d3b4ae43350c6ff36726c082180ce7a
BLAKE2b-256 7dd0510d23a70b75f6ba30a61424cee478fd04d3a22606155cae91323d51f16e

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: h2mm_c-2.3.0-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 953.7 kB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for h2mm_c-2.3.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 dbe9309ad37712bed1a03e097728d838453db27850c2474d432d03e464caf2d4
MD5 9367d629c30de300f369e5d3168ea938
BLAKE2b-256 9b26b1d3d82cf1f3f9f882564a529b0d77b7f2d51528cd2f1815954a7022c437

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: h2mm_c-2.3.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for h2mm_c-2.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 7fec3fbb522cf8a3bf00fa3265181d31b50370dbdd5fadaac3b65b7cb60e1700
MD5 aa861f4bd3aa7461f18d2687b77040b7
BLAKE2b-256 a6f571af75a5fb7d27c093502850956960fc9b08c4a40089821b05bf67997545

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 202afcade5b3f62d8f20f0b729de682b3ab43edc8cd09da1d452a13bee013b8b
MD5 77f94cf76635aa9f1b278d59cb4d4e8d
BLAKE2b-256 21b7e2222af0c16e5a6124f04931c915e7df88b2684bd5a47e6a7ab76a67c2c6

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 32b0fc3e3a27d2f8f5608e184aa9012e503f9f0432696596f1bb46a52582c36c
MD5 5d246acad35bf8ea4283d0156a2edb42
BLAKE2b-256 7bd57cdeac6afe06089f05f72d1a46417115213fbf96d92bd020fd25111e8e7b

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b23fe180c7114b87de4aeb79b833dfd8c184b01c0a9216f4c1be7bd385825e90
MD5 56ff279888e7c4ee5536b7b86db5b939
BLAKE2b-256 af7a0d58bcae105936f28d916418a45c9fd7dd5c39a93efa761e649a7cf700e7

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp314-cp314-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp314-cp314-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 771e8b3ee9f8448daf756dc0d77a6d8a5c5239b36fd9113e48cad9e0c5e7b752
MD5 a8d9d93bb41000c7163e60c7e2359870
BLAKE2b-256 cfc7bbc12ef58a1f62d352d8cb5ef72f932a75378de78485169275c697b85a66

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: h2mm_c-2.3.0-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 934.8 kB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for h2mm_c-2.3.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 5d436607a5a7a1dd7d52e4c2c2ae89142abddbda1c5ccf9e813bcfeee73f2041
MD5 8ac5be2e8b71d69f1ee30343e09ead7a
BLAKE2b-256 631e3f9b274a786b32ce0165c76bcdf8d5ce5dc89333d965141b53ec664e0ede

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: h2mm_c-2.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 991.4 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for h2mm_c-2.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f0fbec124c1137130a50e6e071e034a6892161af0716a4b60453c2f9c4402ede
MD5 24de21d3a1ce183679d208206627cc43
BLAKE2b-256 466b3333ec8e48ee03d8fc027f216f57ae3d0b17e2ac3b420f1d460357adf950

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aa1744aaa3142dcd341224979e405b42d4437de5ae5ed4c4e2786a6e14413182
MD5 2b8d316e6ee3227ccb73382c24d358c0
BLAKE2b-256 35ba125383d6227fb947650a4bd1b0811eb0abf5169ffd4625500223cff75fda

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e7110c4ebe7c1337753ad2219631ed66e8fb1eeae96dc98ebe4b4c172188a807
MD5 b0b61d881ce999b52f4129ad296ebf3c
BLAKE2b-256 27f03785d5d63ea6b3055646ec967e00fb73542b3c8c26c6496400c35e3256c3

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bfb70206bbb373126a105962edb92b1e3048545ec92fa3f4fbe0a9e7f693f645
MD5 7126a37cdfcc46d203c15952c540940d
BLAKE2b-256 79e2909a051bfb3286c58fb5247130a78668c2ff054f4d98ca9746c534d7568a

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 975878eefaecace2e574f1124058c8a9a4e9b4523703158abf0cd15b29f101d4
MD5 d375a1a04508ff33414e5308ba2e4092
BLAKE2b-256 48bc0f4cf165c7b2854d8c8a3e2f56d21657c29799fae9423d4466d53ac82a5e

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: h2mm_c-2.3.0-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 935.0 kB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for h2mm_c-2.3.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 af05175a8280c63e0180e612ca10492bb06f334279c5a272469a459525db9502
MD5 76cc280fc19f758aeb97e2ba97f0e5a9
BLAKE2b-256 8cd5f9e97dbe26e25b7562e216db46bf9691edb37aee066f31e8a90cecab964f

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: h2mm_c-2.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 991.8 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for h2mm_c-2.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 975e97c57e4114f5dbc8fd9f9a81d9e48bb92ff03bc7f45004507cf5058ccad5
MD5 011de0f9d49fb59a6fcb19766bee2b4a
BLAKE2b-256 e48f9dd58625d78a49bffab7e58a1d54f4e168581352f8857018d933df00fbc2

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 47ca339628ee0af50d6f83f7f80de249f7f01aebc5e84bc6d00097d211e5aee0
MD5 af4c76474fe9588f462b7918ace4d192
BLAKE2b-256 46318802f21d2a21b4150cf98e85c0e5c2a0223ea9e601b7127da39c2bfc1c08

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 64099d2d0676410475bc0b5b4ae6b3881e49c8346bf110733234edfa2e47b236
MD5 132a0beb1295e258feec2cda8892f736
BLAKE2b-256 28da1a9a4b84dace2edb12c6593572a369d700ff862ab8296158dadd1e692f19

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8cc72379ce82e7922c44b527332ff789dcdb9c0056b2a8a640327429970236c2
MD5 f6abd949cda53f7a2a2f9ac26f4e6d5a
BLAKE2b-256 8ad1c5aab2eb0b84dd8050940d94483c9bc72a81ee0bbddb85a9f0cdf91e9eff

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 f5ed8640b0987af70b528a5f152cb29eaed004366ce82ef27c1f3011a079d9c7
MD5 c24c01b00fef6d6bdc20f1477377153c
BLAKE2b-256 04e3c4638966ee9fa3579405d0fd02b4ef40fc54b31f7a280a9a61e08c974875

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: h2mm_c-2.3.0-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 945.4 kB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for h2mm_c-2.3.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 f778f86c4eca203c029c2510522e78c43f8bdc7a7ae44e69753c98de6959b31b
MD5 5639aae2be49ce707f86d2d86c3c9f4c
BLAKE2b-256 e991a4730a2ae47cfa2a0e342db8b15f6b6099c38c8ec9c10a4c56a8953a3a9f

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: h2mm_c-2.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 996.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for h2mm_c-2.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 65b6f6ada03258f3cb8b09e3fec61bab4423677e26aff50326efe6b4a6aeb763
MD5 89abe758e3a357a39515d22587f7d256
BLAKE2b-256 5078e56884258779c6a1d2b2c5a07bcf656e3547e898c24e04e9e2c7a0d81bae

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 650a70ffc881ca52723267f723a3a32de24f530417fc3489961c4fcc8f2fee83
MD5 23cb192c9fc5d40c0bf08b899d1ba98e
BLAKE2b-256 898447f761c315af356537f5380a0e8e19839b58e031c5a40f822936bd92e694

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 44f1b6c3e517b3bda5a8de780ecacf0cc42f5156ae504612867375d9e3fd3826
MD5 e99afb7dc691225346de427df1df0bba
BLAKE2b-256 98038c5f94e5b0b9664fa1484b0dd25f7ea710ef6fa52f38ef455ca6ffacb5a9

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 afa1271bc2d756ea124474351b3717905c8dacca1c676414d944e126e037bff6
MD5 472bbc44d69ce14f9a3e79f6ed9d2ce9
BLAKE2b-256 cf8123991b22f99982fea38f5959f0742c57d8386632b2e3cb36584b46518428

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 132ff4212a1da6f062d157910bfdf0d61f7cf2b098d42ee756e5982ebf368515
MD5 8d16cb55e4d10678f856c078acfc984e
BLAKE2b-256 015d19866a9ba2d2a5d293cc730ea406c1c3591d1c31f9edacdecfce6c551026

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: h2mm_c-2.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 997.1 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for h2mm_c-2.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 845e4135c18fd155fadf5d7431a0b72bab382bff6be6a6c2bd999dd86a88d2e3
MD5 1161d110bffa9488eafd6c8c0bb3a9cc
BLAKE2b-256 8af1566f804e0b79a935744ee45567e1d0c0cb4d4ca84429c3f4a9f23cc92271

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 044cf5eb468d28040fd5a5f47578e8883a4737ced6e14853f8b4da73cf519c73
MD5 b808058726605874a4b0aaa9c2745038
BLAKE2b-256 7ebbc5816299a511252e1bed94c949b089c8fcf311e67a641f34d9d86cb66b26

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 37b942c077697e67ab15e469f0bd2333cbe5cdff7c6f4c0e99c644d1e8acde9a
MD5 74f6a16499117d1fbf4284581e83eaed
BLAKE2b-256 1108771950180add245fd8a9992f0d4e0b4c3c54b30f25d9aa3d060d1b36b053

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 99726d2dccfe3f404dbc4ac1a255da1b85510248719e6e0ebc708e0682f338f1
MD5 1b8d1ceb22cf07e9ddf101b8a72f326f
BLAKE2b-256 05b5c1fce9894dd5df1716ad185d2e5f581cb6298275f31670f9811f99e2f96d

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 732bff785dd36236bfd9d26c4f56426d1feda1b0e8fc38f06ad23b41363dc5ec
MD5 da730be3702b6ff2bb67a34ae2ee2529
BLAKE2b-256 b8dd5bbf305784f5f5b71cb5d74c9e3b40ca67da27fcc93235e16d136e8c85c7

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: h2mm_c-2.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 998.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for h2mm_c-2.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9f62e0015b4871d4c8cda2f3a6df5475fed856591f1608f96ed3b89089966a4a
MD5 e57d3be0516fd65916b0243b71212bb5
BLAKE2b-256 f23a408ee120effa7814691e9102bc7a77c9bfb1e945495b1f41e37250745b29

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b18c6a6c7c292e264fe087f784d5115df6bf62305c03980ac394f09a70b2f3f8
MD5 b25521192820d8f99e6d8856fa8213c4
BLAKE2b-256 83cf8ca4ae177b59a85592326ade235b9071c9c6ce93773470cb1dbf926e2981

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 87b224ea5235087924e0c67547e133f9a853bd32e8620613e7fac112c3f4b1f5
MD5 9d2cf3fadb3c2ff39215d49f512884d6
BLAKE2b-256 d17ca499ab293c0d9dcc010730c9464dc367b76a5e393c1880b76769a8953e62

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8437c0793743ce7094e7b90409daadfa18f1fae8b729373508a91d4426d8f8fe
MD5 78637537e58ab538aeb65ef68c9f0e0f
BLAKE2b-256 0740c2f236844a0e75f5edd4660a0ae43c4cac95a5d3e3105e9a374f629ef17d

See more details on using hashes here.

File details

Details for the file h2mm_c-2.3.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for h2mm_c-2.3.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ddc5cc84d6eeba0945f4c08933e15dafeb2d699a5163802a4f9541483de7d5a3
MD5 e4e8a7eb549a6bb7dfe916f73f045647
BLAKE2b-256 2e54784792f1aa3e458891b11e6af82b1c5d5084818d6db83fb25caf3c8e29ec

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.3.0 This release

41 files

2.2.1

41 files

2.1.2

46 files

2.1.1

46 files

2.0.6

46 files

2.0.5

45 files

1.0.5

18 files

1.0.4

19 files

1.0.3

15 files

1.0.2

16 files

1.0.1

16 files

0.9.1

20 files

0.8.3

21 files

0.8.2

19 files

0.8.1

24 files

0.8

24 files

0.0.9

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page