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
- 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)
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.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe139259c61d5ec164625fbf901de21fe316f024cce4369cfb9a975bab81c48c |
|
MD5 | b6b92810c69e765c8bd7dec276a5696b |
|
BLAKE2b-256 | 8f9b37d8053215d69083c05db274a25bb13f9901a959beb722368611a2aa9a3d |
Hashes for posym-0.5.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bff399bae9fe7bd8a425e70fafff09803d4ee2a8b78cfeadfab697b296f12c9b |
|
MD5 | 01bee5a4f20132384cb2646d8f612796 |
|
BLAKE2b-256 | 9cacee5323f020092ec92214585600d47bf7c536ea09836a2cab0ae9d9c78b25 |
Hashes for posym-0.5.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b009bb62d8cfb1d2d6e30ce33af5b7fcb0812ecacfaec8ffc74492cdb2ddc415 |
|
MD5 | bfb87a65ca019259aacbfb128adfca97 |
|
BLAKE2b-256 | 9487c9a2fda409695c9f51a2fa7671f0b4be1464a5b9ee97518c182e010eb280 |
Hashes for posym-0.5.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62beef347f0e5e788c88d6dc9d7c157163b82631cdd99ef9553fbe18882108dd |
|
MD5 | 0ffc51b3db1079f84036856cdae22532 |
|
BLAKE2b-256 | f343b6c09ff7d2ef38f25eecbde857dbf8587299737fc410fdce32d2f806a617 |
Hashes for posym-0.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4e85145bf92adef016f99642f8971f6fa8b43f664ff17ff6c8dd481f32bc1da |
|
MD5 | 9b63555d528941667062fc23cb2330ba |
|
BLAKE2b-256 | e9e6342a10dc2e8ac1e5c53fdfdc4879025a304ac61b3764485dc7d25218b8ec |
Hashes for posym-0.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92d61c13119db75a5c859a588bdb2dbc18327739a1042d91ca898088b9ac668e |
|
MD5 | 1c9c83f0e4b07a22e750fa044c99dc0b |
|
BLAKE2b-256 | 516271d6a7ccaa5fe2770b9be27e26e2a8766a8bb20699d7c47d9c3fd571b08d |
Hashes for posym-0.5.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5101a419db544840561b44292ee220eed73d1141f6cf197f3607257211cffe35 |
|
MD5 | fd182aa9c6d9354839f9abb9e4498e41 |
|
BLAKE2b-256 | 028e68c571da53ef8c046755f5c836ef23eda5677dabdf68e7e2f78ae0fae3c4 |
Hashes for posym-0.5.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dd484a67b0b8706ea6c2415c5c65727f38f22587a7ac035505934397852e49d |
|
MD5 | 68e2a7b7bd8e5e5e55c9e45a923ccf47 |
|
BLAKE2b-256 | ba026e08ee57b4764acc6590c36caff423702fc49fb6a8e8669921c5d125f29c |
Hashes for posym-0.5.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 762d9f9cb1c6c0f6d6905e8e38e28e8076c998fea6f76826fd373289370d2400 |
|
MD5 | 3985eeac1fe14f5be5d58ff2404072c1 |
|
BLAKE2b-256 | 2df81d4f7b88f4f6fe399747aff5445dd334b73de1a754f19594181b1b8fb416 |
Hashes for posym-0.5.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f236f8f81dde119705ce58cb77ebec3173fc6a4abbb106855fcc714014a9650 |
|
MD5 | 8c162055794f034618fde0490420fade |
|
BLAKE2b-256 | b604d3d7e18970c3589976f7dcd537d1f5492a9b8a967876047160e93d3792a0 |
Hashes for posym-0.5.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28069f898e17dfb906cd1366a14379c0baa5a8fa5fcda7afa59d6a8f77729e8c |
|
MD5 | 0488bdd31b91d0065625c57a13b4731a |
|
BLAKE2b-256 | 3afafa55c14339c9f9322184874e9de614bcfd9ded375dd05f8f4e66926bfa68 |
Hashes for posym-0.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b89f06841c52837596c55080d08429598b27925df91f0d0cab91353f777ad131 |
|
MD5 | 84daed00b2401989f829181e68c8eef9 |
|
BLAKE2b-256 | 569aec78ccfb75373fd41478e3b19afa0812070706c93b10499ba0738c19ecb3 |
Hashes for posym-0.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d2ef82838f3162a643eeb9cd3c3c3703eaf7be912d22e8624c5a41baab30c73 |
|
MD5 | f22eddf7b79c5c94df6227fad97b0c46 |
|
BLAKE2b-256 | b6ad005e332dc669ef31d29db82b85c09cb5bedd666d2c4f0ac42fd4f717f1af |
Hashes for posym-0.5.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9291f54ec71926560bb0777dc0a8bd1f50efcc57dad14d236b3237b2cc29375 |
|
MD5 | 30683008d21334225ab5a39b0f37f763 |
|
BLAKE2b-256 | e3be3d72bb26b42a8f3ecd1f27afedfeba8b79a63c7c4fc08e2e86482d74265e |
Hashes for posym-0.5.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ad7bc7e6f2cf4215fb3d40ce0304435f36e745303f6262e2ba48c3d573381b6 |
|
MD5 | e5e21aa8acbe80c43bfb8056b9d255d2 |
|
BLAKE2b-256 | 556b8bb1c44fa5cb8ebfbdf500c70ee79ef6c70bb7991bb4deabc56d27932043 |
Hashes for posym-0.5.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edb8e089ad869ebc75c230668de6ab5b461f1eb833bf03778824af3bab92648f |
|
MD5 | f2e00eb4b425bbb69ca713080d2d0a99 |
|
BLAKE2b-256 | 5797693f564e7308716a008246c100bd71a3d673096d7a49e526378ff77a3896 |
Hashes for posym-0.5.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4dce1a16d09aa0bb16cd686dfe03e0eb3a6bd8e399146deaa729742810bb508e |
|
MD5 | 3eab0a8a6de07e7d4d0f56fd2beeb95f |
|
BLAKE2b-256 | 7c6f3c2648ba3f956b23b516ede80eb8e41f1d42b837276ff6ffb8b9b167c9c5 |
Hashes for posym-0.5.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae0656904c4f5783c5b78f3fba80815cd0a9c7a3f31441e36042ab5f26d56c20 |
|
MD5 | 4aa20acbc354ca55db64daab01ad771d |
|
BLAKE2b-256 | 2762a635bca9101404a780c00c7779162717511a6308ee307e7b91a00f66f2e9 |
Hashes for posym-0.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a658fd6bc62eb1cb06bd30b7a15613c3359d03d41d3d4342632a5dc35847824 |
|
MD5 | e4469b3c5cf932900b0f44cbf7af92d9 |
|
BLAKE2b-256 | caa55db8d4aec7766898231a60e9d4843864d333e8b0727501fb3f61640f618c |
Hashes for posym-0.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14ba729dee7b6e8d697f4832f2853998b2cb37ff2a90eed69e06076df5af9895 |
|
MD5 | 0dec8e48bae4f70c055dc63e0a34d381 |
|
BLAKE2b-256 | 611df76fb29767089101f386aaa47965c9aca19ceab3b6172c3196a68071d5cb |
Hashes for posym-0.5.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 468e2f5895600fbe238bde31781b24ee477fe43f14ecdde3555db7236ad2c0fa |
|
MD5 | 6d7443497e2087e44dd811341d2bc8de |
|
BLAKE2b-256 | b8ebea359f5ef20d7b1a369d6bd13af2309331e2c4d6f25f0ee15017f2079694 |
Hashes for posym-0.5.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dede2307e3225ba8ca3fd0ced1a0a5081c35a7acb0882a769034161714d2b705 |
|
MD5 | 09eace9217b4aa3d3984adc146942d8a |
|
BLAKE2b-256 | a3eb73a9a1dfb8116e79d53c661c96ecad4870576f1cb82b0ab7ff317789c5f3 |
Hashes for posym-0.5.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4a40257ba0d31695a6bf509219b5bbc893c6188932c6df4ea6cfd090a245824 |
|
MD5 | 7cf29552a407b03f62d434ad6cce4367 |
|
BLAKE2b-256 | 3006b224e2a3f64d0456403d59a011ff65fc8cc6396023e62b4481515a9a5b35 |
Hashes for posym-0.5.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a5c56621a28a80e3591803d0bd483add713d9676c4e806d73494464e01ca2f2 |
|
MD5 | a47c7360fa7e756d0bb4c03e527784cd |
|
BLAKE2b-256 | 0c9465bc5133eab4849e6628bfdb633179305bec29bf2246972c81cdaa862538 |
Hashes for posym-0.5.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd9f42c7453518d059e28a228cf8e473461de121e5d2c922f4191966268b7432 |
|
MD5 | f9c7a658571755459af0dc442819051a |
|
BLAKE2b-256 | f680023a5d4265731f35e1be68a5d695f35d55235ba00b9d24d0f282e1c30964 |
Hashes for posym-0.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8444990a881c7bd3ab18786ec6e35988881d89f76eb47b36292c98a63df05ff9 |
|
MD5 | 3ddf9b751db7f022fab596ae3f82d706 |
|
BLAKE2b-256 | 0f830d9dfd0959d349aaea8c0a2102589f885d4bf77c97887c7735298483cdeb |
Hashes for posym-0.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44937b92ae1a9031db5482501fcc58c09065e3c4bf3a16947ff6e44ee7b03744 |
|
MD5 | dd7e910ed056956b340925c2039cf2f6 |
|
BLAKE2b-256 | 9ca36ab6fe96094516c6cc4358d8042e844095b0d35b185c823b67963c88aa36 |
Hashes for posym-0.5.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a53404a1ebc04627697b0101dcf83a818a24585d136939d2613c49b7f77f5de3 |
|
MD5 | bb0ce8c75980ae7c1ba0a93220fa1fb3 |
|
BLAKE2b-256 | ffbd196384f098dd89c123dc503f1c6d36bcdad7b8dbdcf591b45baee44b1587 |
Hashes for posym-0.5.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cb19482d2fd33ff965b8decfb65a29bb2a6f8c9083eaf89b64ce0dc69720abf |
|
MD5 | b4f4ba92afabb13fca62611691beb247 |
|
BLAKE2b-256 | b97057c01741d4fd1316c24bea9207d47146de13340a4c8222e4cab5f57bbf44 |
Hashes for posym-0.5.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ff4cb244208a5aebb12cfe40b4e3c6fb29740b32a9b649d9f90443f5ec3716c |
|
MD5 | c809af0d2e2cef2fae79927475dd69c4 |
|
BLAKE2b-256 | 2f30688bb65448f6b45e0157c34569669d1377ed608ae5e1d51e38e14c05f932 |
Hashes for posym-0.5.0-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ff6d20e30cec39f467dd131c47c31b694b72c4b422d1469d0217d676e5e90a1 |
|
MD5 | e679b2203dcac52b51923a02df079784 |
|
BLAKE2b-256 | 1ad7ae3353189e748c87019d74ae28b0bc87f8dcdd3454102d42aeb002e1403f |
Hashes for posym-0.5.0-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbf7b30bc797a0da27086f6070d56ad36893592be21575e121f5068f29a9e2f0 |
|
MD5 | 64acdeb714a1af2073f0b0777c6cea5b |
|
BLAKE2b-256 | 56bbb92f9c7726b59ee56fc158add753074513f24d4085acc05374afa727af63 |
Hashes for posym-0.5.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78174082be7f37af80b2948390c82ffd230de937b706e52ecea68b5800679aec |
|
MD5 | e0c2d5985c7453546575f08c835a77e4 |
|
BLAKE2b-256 | 600415373da732c9390facdc513b5dd01433e5ff5b77cab297f9d2dada176e42 |
Hashes for posym-0.5.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 427ee34581ee9f107d7c098dc0a216cacbb2c1cdfe39e12b7c517e0f7950a591 |
|
MD5 | c7e272742c2a6cc2b007f3ddaa46284f |
|
BLAKE2b-256 | 977c0047e8be5ef0fce7ac129fca00d068b113792fa4625b91e2aec2595ee816 |
Hashes for posym-0.5.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 243448115190f9468a74490a69380e6511e9b37782419d1ce9bfbad7fe5fc00e |
|
MD5 | 204176ad272a02745063c43dac46096a |
|
BLAKE2b-256 | 6ed689f9cd05d4b680a5c438d38b59a87f7e215622dd00965c112d8aecba8310 |