posym module
Project description
PoSym
A point symmetry analysis tool written in python designed for theoretical chemistry.
This tool makes use of continuous symmetry ideas to provide a robust implementation
to compute the symmetry of different objects. This library is designed to be easily
extendable to other objects by subclassing the SymmetryBase
class.
Features
- Use as simple calculator for irreducible representations supporting direct sum and product
- Continuous symmetry measures (CSM) expressed in the basis or irreducible representation
- Determine symmetry of:
- normal modes
- functions defined in gaussian basis (molecular orbitals, electronic densities, operators)
- wave functions defined as a slater determinant
- wave functions defined as linear combination of slater determinants (Multi-reference/CI)
- Autogenerated high precision symmetry tables
- Compatibility with PyQchem (http://www.github.com/abelcarreras/pyqchem)
Requisites
- numpy
- scipy
- pandas
- yaml
Use as a simple symmetry calculation
Posym allows to create basic continuous symmetry python objects that can be operated using direct sum (+) and direct product (*).
from posym import PointGroup, SymmetryBase
pg = PointGroup(group='Td')
print(pg)
a1 = SymmetryBase(group='Td', rep='A1')
a2 = SymmetryBase(group='Td', rep='A2')
e = SymmetryBase(group='Td', rep='E')
t1 = SymmetryBase(group='Td', rep='T1')
print('t1 * t1:', t1 * t1)
print('t1 * e:', t1 * e)
print('e * (e + a1):', e * (e + a1))
Determine the symmetry of normal modes
Symmetry objects can be obtained from normal modes using SymmetryModes
.
from posym import SymmetryModes
coordinates = [[ 0.00000, 0.0000000, -0.0808819],
[-1.43262, 0.0000000, -1.2823700],
[ 1.43262, 0.0000000, -1.2823700]]
symbols = ['O', 'H', 'H']
normal_modes = [[[ 0., 0., -0.075],
[-0.381, -0., 0.593],
[ 0.381, -0., 0.593]], # mode 1
[[-0. , -0., 0.044],
[-0.613, -0., -0.35 ],
[ 0.613, 0., -0.35 ]], # mode 2
[[-0.073, -0., -0. ],
[ 0.583, 0., 0.397],
[ 0.583, 0., -0.397]]] # mode 3
frequencies = [1737.01, 3988.5, 4145.43]
sym_modes_gs = SymmetryModes(group='c2v', coordinates=coordinates, modes=normal_modes, symbols=symbols)
for i in range(len(normal_modes)):
print('Mode {:2}: {:8.3f} :'.format(i + 1, frequencies[i]), sym_modes_gs.get_state_mode(i))
print('Total symmetry: ', sym_modes_gs)
Determine the symmetry of a molecular geometry
Continuous symmetry measure (CSM) is obtained using measure
method.
from posym import SymmetryMoleculeBase
coordinates = [[ 0.0000000000, 0.0000000000, 0.0000000000],
[ 0.5541000000, 0.7996000000, 0.4965000000],
[ 0.6833000000, -0.8134000000, -0.2536000000],
[-0.7782000000, -0.3735000000, 0.6692000000],
[-0.4593000000, 0.3874000000, -0.9121000000]]
symbols = ['C', 'H', 'H', 'H', 'H']
sym_geom = SymmetryMoleculeBase(group='Td', coordinates=coordinates, symbols=symbols)
print('Symmetry measure Td : ', sym_geom.measure)
sym_geom = SymmetryMoleculeBase(group='C3v', coordinates=coordinates, symbols=symbols)
print('Symmetry measure C3v : ', sym_geom.measure)
sym_geom = SymmetryMoleculeBase(group='C4v', coordinates=coordinates, symbols=symbols)
print('Symmetry measure C4v : ', sym_geom.measure)
Define basis set functions in gaussian basis
Define basis function as linear combination of gaussian that act as normal python functions
from posym.basis import PrimitiveGaussian, BasisFunction
# Oxigen atom
sa = PrimitiveGaussian(alpha=130.70932)
sb = PrimitiveGaussian(alpha=23.808861)
sc = PrimitiveGaussian(alpha=6.4436083)
s_O = BasisFunction([sa, sb, sc],
[0.154328969, 0.535328136, 0.444634536],
center=[0.0000000000, 0.000000000, -0.0808819]) # Bohr
sa = PrimitiveGaussian(alpha=5.03315132)
sb = PrimitiveGaussian(alpha=1.1695961)
sc = PrimitiveGaussian(alpha=0.3803890)
s2_O = BasisFunction([sa, sb, sc],
[-0.099967228, 0.399512825, 0.700115461],
center=[0.0000000000, 0.000000000, -0.0808819])
pxa = PrimitiveGaussian(alpha=5.0331513, l=[1, 0, 0])
pxb = PrimitiveGaussian(alpha=1.1695961, l=[1, 0, 0])
pxc = PrimitiveGaussian(alpha=0.3803890, l=[1, 0, 0])
pya = PrimitiveGaussian(alpha=5.0331513, l=[0, 1, 0])
pyb = PrimitiveGaussian(alpha=1.1695961, l=[0, 1, 0])
pyc = PrimitiveGaussian(alpha=0.3803890, l=[0, 1, 0])
pza = PrimitiveGaussian(alpha=5.0331513, l=[0, 0, 1])
pzb = PrimitiveGaussian(alpha=1.1695961, l=[0, 0, 1])
pzc = PrimitiveGaussian(alpha=0.3803890, l=[0, 0, 1])
px_O = BasisFunction([pxa, pxb, pxc],
[0.155916268, 0.6076837186, 0.3919573931],
center=[0.0000000000, 0.000000000, -0.0808819])
py_O = BasisFunction([pya, pyb, pyc],
[0.155916268, 0.6076837186, 0.3919573931],
center=[0.0000000000, 0.000000000, -0.0808819])
pz_O = BasisFunction([pza, pzb, pzc],
[0.155916268, 0.6076837186, 0.3919573931],
center=[0.0000000000, 0.000000000, -0.0808819])
# Hydrogen atoms
sa = PrimitiveGaussian(alpha=3.42525091)
sb = PrimitiveGaussian(alpha=0.62391373)
sc = PrimitiveGaussian(alpha=0.1688554)
s_H = BasisFunction([sa, sb, sc],
[0.154328971, 0.535328142, 0.444634542],
center=[-1.43262, 0.000000000, -1.28237])
s2_H = BasisFunction([sa, sb, sc],
[0.154328971, 0.535328142, 0.444634542],
center=[1.43262, 0.000000000, -1.28237])
basis_set = [s_O, s2_O, px_O, py_O, pz_O, s_H, s2_H]
# Operate with basis functions in analytic form
px_O2 = px_O * px_O
print('integral from -inf to inf:', px_O2.integrate)
# plot functions
from matplotlib import pyplot as plt
import numpy as np
xrange = np.linspace(-5, 5, 100)
plt.plot(xrange, [s_O(x, 0, 0) for x in xrange] , label='s_O')
plt.plot(xrange, [px_O(x, 0, 0) for x in xrange] , label='px_O')
plt.legend()
Create molecular orbitals from basis set
Define molecular orbitals straightforwardly from molecular orbitals coefficients using usual operators
# Orbital 1
o1 = s_O * 0.994216442 + s2_O * 0.025846814 + px_O * 0.0 + py_O * 0.0 + pz_O * -0.004164076 + s_H * -0.005583712 + s2_H * -0.005583712
# Orbital 2
o2 = s_O * 0.23376666 + s2_O * -0.844456594 + px_O * 0.0 + py_O * 0.0 + pz_O * 0.122829781 + s_H * -0.155593214 + s2_H * -0.155593214
# Orbital 3
o3 = s_O * 0.0 + s2_O * 0.0 + px_O * 0.612692349 + py_O * 0.0 + pz_O * 0.0 + s_H * -0.44922168 + s2_H * 0.449221684
# Orbital 4
o4 = s_O * -0.104033343 + s2_O * 0.538153649 + px_O * 0.0 + py_O * 0.0 + pz_O * 0.755880259 + s_H * -0.295107107 + s2_H * -0.2951071074
# Orbital 5
o5 = s_O * 0.0 + s2_O * 0.0 + px_O * 0.0 + py_O * -1.0 + pz_O * 0.0 + s_H * 0.0 + s2_H * 0.0
# Orbital 6
o6 = s_O * -0.125818566 + s2_O * 0.820120983 + px_O * 0.0 + py_O * 0.0 + pz_O * -0.763538862 + s_H * -0.769155124 + s2_H * -0.769155124
# Check orthogonality
print('<o1|o1>: ', (o1*o1).integrate)
print('<o2|o2>: ', (o2*o2).integrate)
print('<o1|o2>: ', (o1*o2).integrate)
Analyze symmetry of molecular orbitals
Get symmetry of molecular orbitals defined as PrimitiveGaussian/BasisFunction
type objects
from posym import SymmetryFunction
sym_o1 = SymmetryFunction('c2v', o1)
sym_o2 = SymmetryFunction('c2v', o2)
sym_o3 = SymmetryFunction('c2v', o3)
sym_o4 = SymmetryFunction('c2v', o4)
sym_o5 = SymmetryFunction('c2v', o5)
sym_o6 = SymmetryFunction('c2v', o6)
print('Symmetry O1: ', sym_o1)
print('Symmetry O2: ', sym_o2)
print('Symmetry O3: ', sym_o3)
print('Symmetry O4: ', sym_o4)
print('Symmetry O5: ', sym_o5)
print('Symmetry O6: ', sym_o6)
# Operate molecular orbitals symmetries to get the symmetry of non-degenerate wave functions
# restricted close shell
sym_wf_gs = sym_o1*sym_o1 * sym_o2*sym_o2 * sym_o3*sym_o3 * sym_o4*sym_o4 * sym_o5*sym_o5
print('Symmetry WF (ground state): ', sym_wf_gs)
# restricted open shell
sym_wf_excited_1 = sym_o1*sym_o1 * sym_o2*sym_o2 * sym_o3*sym_o3 * sym_o4*sym_o4 * sym_o5*sym_o6
print('Symmetry WF (excited state 1): ', sym_wf_excited_1)
# restricted close shell
sym_wf_excited_2 = sym_o1*sym_o1 * sym_o2*sym_o2 * sym_o3*sym_o3 * sym_o4*sym_o4 * sym_o6*sym_o6
print('Symmetry WF (excited state 2): ', sym_wf_excited_2)
Combine with PyQchem to create useful automations
PyQchem (https://github.com/abelcarreras/PyQchem) is a Python interface for Q-Chem (https://www.q-chem.com). PyQchem can be used to obtain wave functions and normal modes as Python objects that can be directly used in Posym.
from pyqchem import get_output_from_qchem, QchemInput, Structure
from pyqchem.parsers.basic import basic_parser_qchem
from posym import SymmetryFunction
# convenient functions to connect pyqchem - posym
from posym.tools import get_basis_set, build_orbital
# define molecules
butadiene = Structure(coordinates=[[ -1.07076839, -2.13175980, 0.03234382],
[ -0.53741536, -3.05918866, 0.04995793],
[ -2.14073783, -2.12969357, 0.04016267],
[ -0.39112115, -0.95974916, 0.00012984],
[ 0.67884827, -0.96181542, -0.00769025],
[ -1.15875076, 0.37505495, -0.02522296],
[ -0.62213437, 1.30041753, -0.05065831],
[ -2.51391203, 0.37767199, -0.01531698],
[ -3.04726506, 1.30510083, -0.03293196],
[ -3.05052841, -0.54769055, 0.01011971]],
symbols=['C', 'H', 'H', 'C', 'H', 'C', 'H', 'C', 'H', 'H'])
# create qchem input
qc_input = QchemInput(butadiene,
jobtype='sp',
exchange='hf',
basis='sto-3g',
)
# calculate and parse qchem output
data, ee = get_output_from_qchem(qc_input,
read_fchk=True,
processors=4,
parser=basic_parser_qchem)
# extract required information from Q-Chem calculation
coordinates = ee['structure'].get_coordinates()
mo_coefficients = ee['coefficients']['alpha']
basis = ee['basis']
# print results
print('Molecular orbitals (alpha) symmetry')
basis_set = get_basis_set(coordinates, basis)
for i, orbital_coeff in enumerate(mo_coefficients):
orbital = build_orbital(basis_set, orbital_coeff)
sym_orbital = SymmetryFunction('c2v', orbital)
print('Symmetry O{}: '.format(i+1), sym_orbital)
Compute the symmetry of wave functions defined as a Slater determinant
Use SymmetryWaveFunction
class to determine the symmetry of a wave function
from a set of occupied molecular orbitals defined as BasisFunction
objects
from posym import SymmetryWaveFunction
from posym.tools import build_orbital
# get orbitals from basis set and MO coefficients
orbital1 = build_orbital(basis_set, coefficients['alpha'][0]) # A1
orbital2 = build_orbital(basis_set, coefficients['alpha'][1]) # A1
orbital3 = build_orbital(basis_set, coefficients['alpha'][2]) # T1
orbital4 = build_orbital(basis_set, coefficients['alpha'][3]) # T1
orbital5 = build_orbital(basis_set, coefficients['alpha'][4]) # T1
wf_sym = SymmetryWaveFunction('Td',
alpha_orbitals=[orbital1, orbital2, orbital5],
beta_orbitals=[orbital1, orbital2, orbital4],
center=[0, 0, 0])
print('Configuration 1: ', wf_sym) # T1 + T2
wf_sym = SymmetryWaveFunction('Td',
alpha_orbitals=[orbital1, orbital2, orbital3],
beta_orbitals=[orbital1, orbital2, orbital3],
center=[0, 0, 0])
print('Configuration 2: ', wf_sym) # A1 + E
Compute the symmetry of multi-reference wave functions
Use SymmetryWaveFunctionCI
class to determine the symmetry of multi-reference wave function
(defined as a liner combination of Slater determinants) from a set of
occupied molecular orbitals defined as BasisFunction
objects and a configurations dictionary.
from posym import SymmetryWaveFunctionCI
configurations = [{'amplitude': -0.03216, 'occupations': {'alpha': [1, 1, 0, 0, 1], 'beta': [1, 1, 1, 0, 0]}},
{'amplitude': 0.70637, 'occupations': {'alpha': [1, 1, 0, 1, 0], 'beta': [1, 1, 1, 0, 0]}},
{'amplitude': 0.03216, 'occupations': {'alpha': [1, 1, 1, 0, 0], 'beta': [1, 1, 0, 0, 1]}},
{'amplitude': -0.70637, 'occupations': {'alpha': [1, 1, 1, 0, 0], 'beta': [1, 1, 0, 1, 0]}}]
wf_sym = SymmetryWaveFunctionCI('Td',
orbitals=[orbital1, orbital2, orbital3, orbital4, orbital5],
configurations=configurations,
center=[0, 0, 0])
print('State 1: ', wf_sym) # T1
Try an interactive example in Google Colab
Contact info
Abel Carreras
abelcarreras83@gmail.com
Donostia International Physics Center (DIPC)
Donostia-San Sebastian (Spain)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for posym-0.5.3-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25418d72de47c56ca6b92e2fa69fb122d91980b1bf3fb1e1d8f02f2e72ecae9d |
|
MD5 | 4116dff5d98303e7e69434a4438abed7 |
|
BLAKE2b-256 | f61f5562e8218117953a3f2017486d7aef1313353df00a0a6e2cad8b35f8fc31 |
Hashes for posym-0.5.3-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21f68d7b5f7d894d1fd60e8594b6219402f5fb7bdf57b92467b3ac833f42eb32 |
|
MD5 | b2c2a23e5510db3a5cdb2728a2e3a7c5 |
|
BLAKE2b-256 | cd057cf8bf6f54e918de3ad6c8c103be55d11f313079c02f6ad5f6bd2e112ecd |
Hashes for posym-0.5.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffd2954d6ab3f1c1249e7f69840b14aa790f99cb8c2dae295cff5b0dc5f5b5c6 |
|
MD5 | 37a480fc6ae3d661c5a94ec83cf4db00 |
|
BLAKE2b-256 | d0b809e6f840aa21a05443e69988bf7ea63febb71afabea938dcb719eb3f57bb |
Hashes for posym-0.5.3-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24ca5da268fbc743cd38c705ec5f21822713655e5fe50e8cc3ec3277aefe2fa5 |
|
MD5 | ea4505d3877b9476451d0c3e51692209 |
|
BLAKE2b-256 | df8f245bd57abc2e46a759fee8be6ec2948ad257b3149b774159d4416048c40b |
Hashes for posym-0.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9d7b6c343e2523ab7ceaf76fcac247a47c9d67e4e3fba7fab96ae8c5b413a59 |
|
MD5 | e8001a572cc37b226bc524af2dfebcad |
|
BLAKE2b-256 | f7ad8034508f2809206b83500183fed251bb720dc84ca16ad0cbd4a845c32620 |
Hashes for posym-0.5.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2eddca0921be3d6a46dcd6f5d11ab135913f378db9d9c3ebb7819ea25a7d0f87 |
|
MD5 | 8f3beffd278ce19137777ca4a7ef25e3 |
|
BLAKE2b-256 | 1d98064e75ac2f0613400ff0af87adedca3ec0a05dc8528b3a49cfc04bb671cb |
Hashes for posym-0.5.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a634aa320d4eb3bd409b48601bcb9da717fe7529a269523c30e3264fbec7a727 |
|
MD5 | 6a6ce3ebdc673309855f7709aee5ea36 |
|
BLAKE2b-256 | a34e385dfb4cb9c10c854d942b4088abf2b797973f797764a435eccecdc6ee6f |
Hashes for posym-0.5.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 916ec14af97ba29d74b939fc0132d6ed6e11b856e02021c421204ca40b6c3f83 |
|
MD5 | ca5edcbca8ad234d96807f4bc76b826e |
|
BLAKE2b-256 | 1328a00bfe99c6781ebfd58a04dd840fcd71728421d2cbec6dcd191f7acca3ba |
Hashes for posym-0.5.3-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65ef57b3676ec3eedf5484cc521dc88a0a17731ae3ff52be96bdb443f43b9047 |
|
MD5 | 76e1d639efff13fa037ce196c4bf1919 |
|
BLAKE2b-256 | a67bb02ee7d72669da07f9b3f779a80edcd283db145fe75daddcebea4f683d3b |
Hashes for posym-0.5.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 733b83d59d2128bbdad2c9c5fed14a948ecda8db0f624a1b39baa0716a73b1cd |
|
MD5 | feb425be9ee10f9ba7b2dd19fd127d5c |
|
BLAKE2b-256 | 55f078d43a7625f3f3e4b2a11b4a602666e0ec2c30fd55595fbfb1191d2aed31 |
Hashes for posym-0.5.3-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7ecc6d35d9da33fc7a8a0eae9c663ac0bbce88a05c922245b696729b3ad62ce |
|
MD5 | d09668dd19538655197b33d62b1659db |
|
BLAKE2b-256 | 386e68e51f4b7ac9cadc4f37fe6c1c6c554319222386cbabe762e7de9aeee4db |
Hashes for posym-0.5.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e47d749ad6dc5a3693dcbcf57c9c27350493f22786fa891097e027206a866525 |
|
MD5 | 0fd709c9775778d28131afc7e76b1623 |
|
BLAKE2b-256 | 670b07ba3b2ef8800597c8942736026bdfceb2ad5e1493e0db1170c4fda727c4 |
Hashes for posym-0.5.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5189b0720c8302f1603dcf71bc7d49c04277ef9c959cee241e124b5056dd635d |
|
MD5 | f556da48cd5d379a16ac911f2546a3e2 |
|
BLAKE2b-256 | dbcd8c1dd31a4c9bb9f834666a8b1e31a194da36ed88a740990e9660ea66f691 |
Hashes for posym-0.5.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d135f146ad271a277c60ce34198f77a1ecae227027f9c7432e43e2c62fd0ce6 |
|
MD5 | b80975bb30d3514f27afa208e79b9d41 |
|
BLAKE2b-256 | 0d6f61ee98cda9696a25905961ef82d0a51c7b7f3e16022d64a2c46a841ca21b |
Hashes for posym-0.5.3-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3057462065ffcbb262cebc1ea93cc0a557c587dc55ae0177560fe978f1fafc7a |
|
MD5 | 3876a7f0081f31f6bad2b7b048522936 |
|
BLAKE2b-256 | 34e3497fbec5938467f465242bab67c69162870ea1843cf69af26d1218457733 |
Hashes for posym-0.5.3-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f992cce4b38eac09ad9b49119e4e76f98fa96b5b40df83f9b495412dfe20f49f |
|
MD5 | e31ecaced07a399e5e8502ce76fba24a |
|
BLAKE2b-256 | d12edec9955ac1d76585008f12d2489bb5724f5c2e554c911186d76958955448 |
Hashes for posym-0.5.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d0cd35a615fb9b71d9223e42b8ccc377e8ec8c86d887af8e71ee8d9bdde7681 |
|
MD5 | 57901bd989911e97fafdf528bdf25c6e |
|
BLAKE2b-256 | 8ac8365a56c2d6042bed0e33f1cd071e877845da166ef0abdcf13f48b35c218e |
Hashes for posym-0.5.3-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0e1acb7fa28e01f2453e3ddf547fa88d3675d332472b3400cc672b9296486ac |
|
MD5 | f8f71f71b9acc5aa47c32e566701db8a |
|
BLAKE2b-256 | d1bd10fed652b13167c4f6af43ea9af2d0c6f724e1209317ee8ee434382394a0 |
Hashes for posym-0.5.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3642d921f36b5a4be1096d665a7c0fe2a57cd2e60a3aa1242117fef92a8cbff |
|
MD5 | e7150bd6076ff3ebe6b76bfdb043b147 |
|
BLAKE2b-256 | 765cd41c23c820fa9b44267004bb77a094ef06fc3eeae3c580c313d9ec98d166 |
Hashes for posym-0.5.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa0db9f998c957e06aa1e7f667b395753c3453b70b949b9205b2053f776f1504 |
|
MD5 | 4998835e9e0c75a74a2a71dcb722a2cc |
|
BLAKE2b-256 | cfbfb64c11bdb41a73f6c1364997f7a9187ec2a7ed8463d432fc730b8637b8e1 |
Hashes for posym-0.5.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4daddd3ce0ae3b46835d28f763b9ddd0898f86befb69cc68fc2d1d9cc894a106 |
|
MD5 | d118c29061202dff5bc84adc36d51ee0 |
|
BLAKE2b-256 | b42755ed89e1ba37ab9e6d568511a1feedf7721ff1be46ce7e0546fbcc0e6e60 |
Hashes for posym-0.5.3-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da681d20a85658686f817efbc0152f067953a38ec4d713541f5173cefcaf9bd7 |
|
MD5 | e6e3ccf200b77a706d3348a2a40222b9 |
|
BLAKE2b-256 | 1ac85ffc870ae2226240d77ebdc6bb6e0cc230408dc4fc6f019be056737cfa1b |
Hashes for posym-0.5.3-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3dca395d7e7e86d77a5de2324f57d0aa82452247284565220667290893c19834 |
|
MD5 | eb14240493c541ffe2527c4f85c66196 |
|
BLAKE2b-256 | 8a401c778b17b052a27dd79a04b5d3e25cfa18b2767d96a5e1d707abb6f0ccfc |
Hashes for posym-0.5.3-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3539235e023d800b29d4299d0f993e124079de8e707423c13cd1eda61281be8 |
|
MD5 | f149fbd2104fec9438ddde9077395a26 |
|
BLAKE2b-256 | 30d19c237a341975209bcc12bea17d25bbb8ffc487e1ed6f571b8e7e7423bae1 |
Hashes for posym-0.5.3-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 787bbcbf14fe596f25ca7ce4868bcc0ebc8cf7c4068f5df384e08ee9ff59a77a |
|
MD5 | 4115b3427a919b75c0d52f35d8b2dd90 |
|
BLAKE2b-256 | cae6c913b7403a649c753bb213bef96ec7710d51348405da3e8efc83a884ccb1 |
Hashes for posym-0.5.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c13ddd07374c31cc0e8e457da121276b2ba211ae24e10e009ab2ec9fd7ca0a8b |
|
MD5 | 1eb261fbfa3db0d0ae55ef52db019ab0 |
|
BLAKE2b-256 | 7d67a3f676108ef1f07ef2c8d100f4769158e29a92b76789f7fd8c4f8f93a458 |
Hashes for posym-0.5.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4d2afcfce3524be97ee0f15f6b395beba43483165c328bec0c4679d203c2d3d |
|
MD5 | d40b624a15b8f00e9cbb29fc0b919ef9 |
|
BLAKE2b-256 | 65eb9176bc545b6d7c121ddd77b9498e1b2d791c1eaa89bbc1f2bcde850e5f72 |
Hashes for posym-0.5.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 866b2feb85ddbd92ae01ed39b52a8872b8a584358ca4cc2a5b02c8b45e77ab9f |
|
MD5 | fb36d7681ab0651f8a08e1bcaf7eb9f0 |
|
BLAKE2b-256 | 60bfacb6d0323d13599ea73cca0bfb4f18c23439279791c3a4582757f24cbe6e |
Hashes for posym-0.5.3-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fafb0b522d0d88c47c1ee8a26675e9cd18c7380ac05ddbc657c9dd318cdb26d |
|
MD5 | 103c6f321b803ba831f2c39055037676 |
|
BLAKE2b-256 | f5bc69b27d95dddb0adf7138e393c828918819533b86b22562f46a095fb621d6 |
Hashes for posym-0.5.3-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fa20ee5ce7faf7853be7bb95e7fdc05c306ae28bac581e207a9d4d47f6b7c6e |
|
MD5 | 34e8876bb7635295d7f465dc445ba914 |
|
BLAKE2b-256 | 994a48ffcacdf963247191fb091947d0e2582b113c6a3daaaaa79f14bebb08df |
Hashes for posym-0.5.3-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fd927eb5db587437e9306861c2cead90eda9c9a17fa553e027ebcd209f52a73 |
|
MD5 | ca81183d5e5e5b03852960eded311023 |
|
BLAKE2b-256 | 174d2e918d9002eac021d1dfbb8324a84c4b2fb0421ca68bf571ca1e57edd593 |
Hashes for posym-0.5.3-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5bf1d8647c7391b810d898c147357370b404f3546b307b15f7513776829bd6a |
|
MD5 | aa3a2caceca3854994571551b6abbadf |
|
BLAKE2b-256 | e7becab3223eb5fa01ad4d9fa661150da54452add087e463142aacce29bee6ca |
Hashes for posym-0.5.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30d504cdfbfa7e850ac87dd63b09420b226d9d199b64e92df390e1166a46cca1 |
|
MD5 | 535b54f5ee5c472bfd853094e73c21d2 |
|
BLAKE2b-256 | 10aa51714ab336f75d4c26b10c45b50a7544d3c0192634b12157b73c8fb548cb |
Hashes for posym-0.5.3-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ba2f3d286d2b08daf8b0958a64240b671a61d89d1251a9779af3627b28e2243 |
|
MD5 | 3c3a154f99953c28ba11277338c19ecb |
|
BLAKE2b-256 | bc814508ef2a028e6398555845adbffb85f4c308548e88b1821c7c2d887e988b |
Hashes for posym-0.5.3-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03471d99e8f8e33fc163250b7dd85c4810c54138cfc6e3552f6352a7e84c061b |
|
MD5 | 22445a963897cb022c14cb526f070dc0 |
|
BLAKE2b-256 | 8e67ba1d04975304d6552839b4f1fec56440dbf939166c9c325f805a518b7be2 |