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
Bibliography
This software is based on the theory described in the following works:
Pinsky M, Dryzun C, Casanova D, Alemany P, Avnir D, J Comput Chem. 29:2712-21 (2008) [link]
Pinsky M, Casanova D, Alemany P, Alvarez S, Avnir D, Dryzun C, Kizner Z, Sterkin A. J Comput Chem. 29:190-7 (2008) [link]
Casanova D, Alemany P. Phys Chem Chem Phys. 12(47):15523–9 (2010) [link]
Casanova D, Alemany P, Falceto A, Carreras A, Alvarez S. J Comput Chem 34(15):1321–31 (2013) [link]
A. Carreras, E. Bernuz, X. Marugan, M. Llunell, P. Alemany, Chem. Eur. J. 25, 673 – 691 (2019) [link]
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.5-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2d24d6685538a03e1e9da9ed085877a0cd4c5ec00ac45cfc4fccd6b33c6a98e |
|
MD5 | 14b1efcc15145f4a747d21d941b54ab1 |
|
BLAKE2b-256 | 866502b5969f57b50a9805b017a4a58a18c23029748f5335a8cd18f907a6d5cf |
Hashes for posym-0.5.5-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51d27d31763c370622893f9ebe0ebeaf90d88c069a4750c77d7df7950281afb0 |
|
MD5 | 3dd3d5e5b474bc7ac3a741b287280fca |
|
BLAKE2b-256 | 75b80d2d3b76a6fa954d389686542306794b2049bd7410f7e4b6db84f26ca7df |
Hashes for posym-0.5.5-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2f17bd3b6f171d81227b747f200830ce3882df4e3c4d1647d3058ecab57fe5d |
|
MD5 | b1b6514b117dd185ee835149686da3fa |
|
BLAKE2b-256 | 24bba75a2db44ba442e44813b57ecd5956240fe6542b587b1bb8323e964e6a67 |
Hashes for posym-0.5.5-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67ad32cb5744ba1d8a836533995695135d9cf5085ecc4669e9d5503268bc3352 |
|
MD5 | e60cea45c1e8ac35cbd06e8305d0fd47 |
|
BLAKE2b-256 | 2048059bb3125c2151f57e6a8e8825a1b5b22df3ad4fdb769561d3dafb4bc89c |
Hashes for posym-0.5.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e16549a0e361151adbf2169354402b72d8538f0c2d16ba1982479872f3bbabef |
|
MD5 | 4b2eff33055ff0222bb3193dacb01a3a |
|
BLAKE2b-256 | bb7340b97167d0e9578db68974181283f27534a8465f8a1167bfa27ded0bec83 |
Hashes for posym-0.5.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 025dae0e1f1966b92b85fd706e45a69f176847cd431b5cd828a5911050e46324 |
|
MD5 | 20357e363f242aa35bf9bb4d45c12338 |
|
BLAKE2b-256 | 675cb0e1264bd97587b113945b36b8715474b6013ebf4b29f2f3169a07990c73 |
Hashes for posym-0.5.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35393f5e0e4de6b5bbf5e32f3b3fb453c8850b2c8709f455dba2cbe9213431de |
|
MD5 | 7b64b42a2614181a0937a5a1e16690dc |
|
BLAKE2b-256 | 97e183239660bd0ef9cd290f2e5eaa68cf538e4e1fd98e2184dd1914c99f59bb |
Hashes for posym-0.5.5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 874c07e5f5860746c23c286667d8cbbf65ddf4429a3769277cbad2095fe4646f |
|
MD5 | bd338408b5b420ae6e296843671b45b0 |
|
BLAKE2b-256 | be10d71e7c64a71db3648de4d82bac188604e29e7b30917b41681c2b2f2501b0 |
Hashes for posym-0.5.5-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff035b980e4a278a39ea56a87e09536f0e10d5cabee42aa3087e70792b0700e4 |
|
MD5 | 2624bca115d6c0d8801f6a3fe49789c7 |
|
BLAKE2b-256 | f6a3816e109428ab101e14ab53a9f0ff99fa0b918e41deef0748fc4e5c5b6c17 |
Hashes for posym-0.5.5-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3af252bf3ae721d65c3557967649dd63d36162fa538774ee31049dbeec7e6a5c |
|
MD5 | c4c2e7d878187caf08ee47b7b73f2694 |
|
BLAKE2b-256 | 8bda1f097b7c184dc1c97db0678e10f3dd41d40f787e4f6d039a838f671556d0 |
Hashes for posym-0.5.5-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 730b3b55a5991606b18beffc0d086f18be4dc61f3059e14f1e262ecd0a580896 |
|
MD5 | 9dc443ca39500676db188e44b4fe4fc7 |
|
BLAKE2b-256 | a9a283a9bec394aab7c7ffe60728f4cff79d48ae57dfa1ecb229584daf8b7fdf |
Hashes for posym-0.5.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c142f8daa088184cfe78ff1781956ae63c73543cf21054b79ddbc8cb0a4604d |
|
MD5 | b01b599f1503a104695c102bfa321f30 |
|
BLAKE2b-256 | eadd13ef60687e986ae70ee5be96e0cd861e59b19dc1ce5f1dee33e6398edfdc |
Hashes for posym-0.5.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9edbbff1d9006d13d6f0c30bfb20de6bb05fa6d30262550c73febcd9140c9380 |
|
MD5 | 84c858da89a0e5e69002e93d385cd3b0 |
|
BLAKE2b-256 | e4bc5f0590298014fed64f3b567a6f635b05265739ea2863ecf5721be0b0d8af |
Hashes for posym-0.5.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 961745bd6f7c07eac68a32313656c2e407c9f15b31c395f1d22ab66dd72c0698 |
|
MD5 | 1aa75de0b0bf06d9b262df1fa9b19c47 |
|
BLAKE2b-256 | 3d58eb37a716067fa2382e2b17eb9c5bdf42b6b0941a139ff19cfaee971e9944 |
Hashes for posym-0.5.5-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3cca84228db4b64cb0f716590bc6f4cb21d8444ea0f9636cf6ac62e560cea83 |
|
MD5 | b7e0a5e043880c91f67df64dfde8d617 |
|
BLAKE2b-256 | 7c86ee45c85e898af1e71d96252df1691d89e601d58b5386bd4c700e6f8cad2e |
Hashes for posym-0.5.5-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2aab578141d3019404e43cc3d18a4a6a2dcdfb4c3a397c64445b0f9be1a8aaf8 |
|
MD5 | c967cb7424e80f50aeadbf91159f6e0d |
|
BLAKE2b-256 | 1ff9de8638628523550bb4147febc983fa2162e1975417a9eca129039e611e2e |
Hashes for posym-0.5.5-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 766760cd1fdea373c9f147aef7e466ee07b44765317b2c1462c7ff7cd08e4e21 |
|
MD5 | 940a7f70d3a0bf3722ffe191e586f257 |
|
BLAKE2b-256 | acf8872c3bfcff76b7d0953533869605d8998086f770f8e2452851f86524ea28 |
Hashes for posym-0.5.5-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebea67c4c033aea7f2be07507391bfa2ee2d9f06f4d2f730bbb0f2c8259f9f1e |
|
MD5 | 5d83cd42704b5cd52d1805836754a82b |
|
BLAKE2b-256 | b88930f225ecb15292aacbfb1225d02ae27dc1cb0c1471c56811509d775518be |
Hashes for posym-0.5.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c08f9e2ff2d4d8bda7d92561775d8669ac1f18518ff8998539dae290a2a4838a |
|
MD5 | 5c34d53efa34ed2749ea3175cbc0bd56 |
|
BLAKE2b-256 | 2d7d453572af0c5232e34b0bfd23ac572fe78fd814946e4bccb0758083bd1eb0 |
Hashes for posym-0.5.5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14ca80aff531b5cb2b9a70793542ba06f40fa1c46b1cecc502bb24b7f0e75e02 |
|
MD5 | 967dfe5caa0d71e6ce6622da32e53701 |
|
BLAKE2b-256 | ee21f90c4bcb7a72eb72d3144b78f0d84386b4f6830daa82a1a7610a0d7d3b98 |
Hashes for posym-0.5.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8818e75e8816bb276cdb97daba9a92dffb73f365ff102358fe61df0140e6952e |
|
MD5 | 7bc18e376a200600719d2393010aa3f5 |
|
BLAKE2b-256 | fc25815c4c6fd056f03b116e64808f796e7c6cbdbb8bd911e57cc6ec0a378380 |
Hashes for posym-0.5.5-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed19a0c676d0f353f85ead79e0da30edddbaaabd6459479c920423735d251dac |
|
MD5 | ce392e731f00eaabd726130458232d5c |
|
BLAKE2b-256 | 61db4a8e1f42ab623d13abf85beb2820b58d0b25106403c526ca80327e76c0a9 |
Hashes for posym-0.5.5-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a61b5652d22a71d611f955b9ed27b5b2c6e400ef5a3e5d6aedbe0812072f2aa |
|
MD5 | 5a53bb41235c86940579f4de640e04d2 |
|
BLAKE2b-256 | 2a963f709c49945dd139434f5da2c4a2f27742ed9a31ae670da5a33463a3bca2 |
Hashes for posym-0.5.5-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5bf2642e35983842b564687ba34a8756f038e5aa8050fdaaf97c99aa5ab2d78 |
|
MD5 | 0d57838446d2daa2d1116d94ddce662d |
|
BLAKE2b-256 | 880a8860677148b8f4afcdc06b49617746cd2ef1148d388caf5346a83e755c9a |
Hashes for posym-0.5.5-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05453bd87185ec9a96e3693712427b3097171e51bc4bd1e9cac1df2d263233ab |
|
MD5 | 4789d89cf2bbadb26dc4bb678a14f443 |
|
BLAKE2b-256 | e7602210d557e216613d3740987e6ee61dc66daed9058e60acb7cc3e8b37c6bf |
Hashes for posym-0.5.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb3ec6e0ffdcb874106eaaf2f404c153f232d985d63cbab530e3c41809a2d886 |
|
MD5 | 28c11ae10d09232952fa07f1b5359726 |
|
BLAKE2b-256 | 5923f81fb5518f9c4bd57573e7816e9c6739975d1fb24fa6683474205eee5c07 |
Hashes for posym-0.5.5-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27ca55e0b794e5bb3d2c1d826b40f6d4eefc376c270d646e8ba7f42c58a6d637 |
|
MD5 | 8f547861e30930f7899837693285cc83 |
|
BLAKE2b-256 | c9a61eaad0d7769765743cee831903df55dc4a58603b068ea83805e2d6764cc8 |
Hashes for posym-0.5.5-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b520a15b3e9e209d0188dfe8be328a718f7fa4107fb8765d47ad8c3f69ad5411 |
|
MD5 | 7c775c6d48d2609da15aca2985a699b9 |
|
BLAKE2b-256 | 0fdfaef9daca687fc9b504f7e0100ff25c7e6b9ef70ace34f2d32e9bcfdc08c0 |
Hashes for posym-0.5.5-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 923bc8be5664ee21b640f698e9c1ccfdff907598b56d6251db4ca947fd57e175 |
|
MD5 | fb0f999701323b093b3340063e5140f3 |
|
BLAKE2b-256 | c6f846de3233b329e5654598ff5251e0223b93d78ac6ba4b9b2427f41bc83d27 |
Hashes for posym-0.5.5-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6e59acd1830b513e4391c9f6671324b791247c9c0306b63124fdb89747b1c4b |
|
MD5 | 5eba44ee23af139ff91767bf9305d339 |
|
BLAKE2b-256 | a700b60ef5b3931770b011ca7325d72f55396383393862d2347f1ca0edcd4a11 |
Hashes for posym-0.5.5-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f94bc0ce61afc0be8a72fd1e76d84c79275391569f2c1808fb7628ee97c9abd5 |
|
MD5 | 585fba4d2740849cd66dd78d514935e4 |
|
BLAKE2b-256 | 5ecea5a4c8276711af698f23234f56b1e14d7a420da3262bb9ac72b6bada0070 |
Hashes for posym-0.5.5-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b789c3c2911bdb29184a3279d3945af509d2542d7f280d348239dc20313acf6 |
|
MD5 | e5c7a1086683c251a526cf094bbd2557 |
|
BLAKE2b-256 | 14e339a5d856dea989c58a084c5fe68a0da515c76d978aa754a4befdd483d952 |
Hashes for posym-0.5.5-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f228f2000f8084a45aed42a16efdd5f512b827627e8283590665d0434593286 |
|
MD5 | 90b9ea48a7bb0bcf1f8c11455556489f |
|
BLAKE2b-256 | f416cede95ef523f55f2a96053065115f312e55890432e26b87470cef2893187 |
Hashes for posym-0.5.5-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5af371619ee57e0ff4e716d4bdb55a990b7ac8c5708fd9d577d8e85df1fc65c |
|
MD5 | 722a1df465e11ad831a45442cfbeb6cd |
|
BLAKE2b-256 | 25b532a215cee70ce2038957e6c0a80aec4ba3ef039689dc75ae31e565892439 |
Hashes for posym-0.5.5-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63f5006764b8cf53f675c116b3691cab94cf534fa6e5d079a3bf2df0a2b1cef9 |
|
MD5 | 1c6c1ff5db0c75c1168e753978855722 |
|
BLAKE2b-256 | 771513f532f4176ab30362e1e206291c55db37fea622fa7c516829097651b08b |