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.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8bb43a4d00c2584c26c152b054377b042b794aafd5ddde43f128215fc664cd3 |
|
MD5 | 8afdb93deadaa983ea8eee943d6e39c6 |
|
BLAKE2b-256 | 1c17de8f696b2e0c18080584ca74c333cd63f7c51d413f780f451228a59e91c8 |
Hashes for posym-0.5.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16e3110da4a41aa10a7bbfb711d669e1d641947b8810ecde98177a64444b9c02 |
|
MD5 | f185be73f2daf7bc0648d9b8b6a03dbb |
|
BLAKE2b-256 | daacc375f78cba4855b784c9c084aec0234b69e48f263ced3f75e94604e917e7 |
Hashes for posym-0.5.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 699a83d41512629271e8946f9d1e3cf6d83f1c4abbfcf3a5cec398a41e78c80b |
|
MD5 | 7f7d6570a968a818b2c1be06da3faed3 |
|
BLAKE2b-256 | 5f918bc74567e632575b22b86087618f9bf96c47cf4fbeb4a63a1c465821321c |
Hashes for posym-0.5.1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2781a69978f2659f77e91a275e4b81f15b20ded53c8454f4e22c78df155368c8 |
|
MD5 | bc9fa6b762af040f24e7e8e6dca3e6c8 |
|
BLAKE2b-256 | 7ea2daa7f0e3131133a8e0d0b9e0db1a4d222a7a5e64069c7d556ca6b824e789 |
Hashes for posym-0.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41694540f484a279323ee2f4ac7b2817496167e094f380e792530d0652d6f564 |
|
MD5 | 3c70a67cf62d116b1549283aeac49a75 |
|
BLAKE2b-256 | fcd533345a7237d51142dab2b3f7043cda389a9b7d640aece205b3d5a946ec2f |
Hashes for posym-0.5.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b5ddb39468ba6ef10d0d749b299ca9678f86ef10db7358f3ce8de44d953b208 |
|
MD5 | 2445c08f1ef2efe946aae948f74165e2 |
|
BLAKE2b-256 | 74ff9c99dad395b07bf69b83c7831482f292eae7d779b6c66dc367fe3aab802a |
Hashes for posym-0.5.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1026a71a2994f58e3fe1271c37b3685e86a93bab4e5848c6afedecd9cd505664 |
|
MD5 | 30773e07de69fd7df41db6a142566ca7 |
|
BLAKE2b-256 | d87fb4a90d2bf2ee0d1b31d55826e76c05448e017994ae8822fe141f9a4e8bcb |
Hashes for posym-0.5.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c32606be47afcc902bd68f9c7efd66769233b643915125a51e81772751bb2e0e |
|
MD5 | e9020333ec32215326d740c9d30a844f |
|
BLAKE2b-256 | a2a2f7e36c7a76ce6f6d65eec50db986da925dff4ae0722095db90939dd0e249 |
Hashes for posym-0.5.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaca31ef04c79a4e07132f8635027330b21663a7099caa1bb945e04b1b334b48 |
|
MD5 | 3187ee70402a0232d5d489c3664dcd6b |
|
BLAKE2b-256 | 31fdb1009c8e95fe80ed34d487ceabd868845caa3ca35c82256b57546e04901e |
Hashes for posym-0.5.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe21e58fe54abce7796ab2d1ec8b9ae092d5feccb0d409e0df711c21fc775125 |
|
MD5 | 1c1e40a0bc7d5ef32e49f7a810b2ce74 |
|
BLAKE2b-256 | 10ecdd8e4ab1ee8018fc36c1ca6c9266e57787630ecace3ed340ee7e5ab4dfcd |
Hashes for posym-0.5.1-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fe9d14cf707294fa5f2324dd991c0324602b22fb60e4ece315ccb4fbfc38940 |
|
MD5 | 09a2d8fba16713bc705082424fd224c8 |
|
BLAKE2b-256 | 46d675841e905109112469964567058377abc0cbd0c7942808160c7e0ccd04d7 |
Hashes for posym-0.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9aa86fb9a4ea055c73fc1209040d68dc27a14ece819d2eef130d1c95c167c115 |
|
MD5 | 5f76856708e2830f807bdfad82bd4432 |
|
BLAKE2b-256 | 9fd06892e4d0cdcb4381334683289796ad4edd96b4a90640707868cc98a8748f |
Hashes for posym-0.5.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5284776a4b78f7861b30ce82a041f1c85c8d2d8aa719568e04605adb89f6cdfd |
|
MD5 | e8c930b4afcd2322ea6cbe6da6eb623a |
|
BLAKE2b-256 | ef7f716d4b8b8cf784cb0fce497b0dd6f247ef6d072c4809974a70e241f3171b |
Hashes for posym-0.5.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 806fdf64a6c2590447d474839f37272008f9a00dd3d161f909222b0268bfe59c |
|
MD5 | 8a00cc43345464ad6133e5a4679317c5 |
|
BLAKE2b-256 | 060e30be77994d816073dfb3402a9e92c2f73f58afb622957ac07f406854c3c3 |
Hashes for posym-0.5.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e5bbdd7acd2d9b5f41d9d7db68fac984227c2256a8652b30256f9ea02449893 |
|
MD5 | a45c93d76f46f1b5436f0077afdf36d3 |
|
BLAKE2b-256 | 9249cb2ec69ef0f0c41a9bd3d3ca7e58007c1c4bbf0b897feacacd7dc69178ca |
Hashes for posym-0.5.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 750ed3d8ae425ec1ca6ac771313a8c95c31b246e5623fc5d3bd35ddac8ffaaa7 |
|
MD5 | 980f31a1c8aee6acbed46349b760d008 |
|
BLAKE2b-256 | be4b9fb0f5071bb994145035b1844b1e49a07f46b300a3b43023885fffe0f2ec |
Hashes for posym-0.5.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2896c44b98d8363d8c2efc22eb6504259e60e17504f13254e4e7c4e918e1ccb0 |
|
MD5 | 6eca4ee3d37571152a7bc4b3b4b2e596 |
|
BLAKE2b-256 | 1fc1b6fabf8fbd2c85655b9ec5b6711427364e54325297a0586363bb81f992ca |
Hashes for posym-0.5.1-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 652eadb3c004d71a393efe843d1818bc5ef03b23622b3e005386d41892baa88c |
|
MD5 | 79b7be9b31594e5b549d91dff914e650 |
|
BLAKE2b-256 | a05340bee5b7cb562b8ee9613fbf62df884a16aba189616ca7c302b12168b9bc |
Hashes for posym-0.5.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 923407efd6f7acfaa3c28b8c646eccab3262f9534a47ebce08bb9f032922ff36 |
|
MD5 | 9a50edaabd3c3d5099e5c6e6002cda60 |
|
BLAKE2b-256 | 86aaceea82f7f034aab330306e5053a9ba6d65d9abd0e1b4cb93e7bef0514ef4 |
Hashes for posym-0.5.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca226d1df2c0de68be2d7ac01fe3e8186c7dfc8c990d3e432de69b0ff30f5cc5 |
|
MD5 | 1bcab974c4a9602a817e54db99cf5377 |
|
BLAKE2b-256 | 21ba3e8cd4f2c1a2c1106efdb1e9015956aaefa3a5ad516610889f6002095f47 |
Hashes for posym-0.5.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a592c61b605bfea18ef6ada2d1edad3d6ddd18474bc9b31cb28952851ac5b767 |
|
MD5 | 480bce82563d3289b3ca7142320616cf |
|
BLAKE2b-256 | 07984e39c351056d6f2a6af37ee500d69e00afd2a1b6c20fa299809a19db99e6 |
Hashes for posym-0.5.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 732d987a960e582f81df5c9637601e276e378125f06adf19737ac698a82d08ba |
|
MD5 | d4f65c212b7decb1e9baec05fb1eab3a |
|
BLAKE2b-256 | 9085a82ae72c536130b734786457e1a81ac9ee83b7a490280c9ae2f5cf51fc97 |
Hashes for posym-0.5.1-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ed6995f5579604906e89b75c0cc309e92d9e93e27670bc3bbb4e0cf7c085dec |
|
MD5 | 5b117cfc564bdd99a2e1b590e2d4fe8c |
|
BLAKE2b-256 | 2c7d364ece16a7bc350909af8eb8af2cb325ef89970907590859776d95d434eb |
Hashes for posym-0.5.1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93f027e53de40a4460fddd4e572199c69e698679aa1b80be19bc5d72c7bc58aa |
|
MD5 | 812aa3c5049fb15dc91242078b215cb6 |
|
BLAKE2b-256 | eb7a74278c868330ed54c5ca1a12611c967c28c9ee5f79a5e7252d358086f9b1 |
Hashes for posym-0.5.1-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34fc95a281cefb4e15da194ac59eafa909e6fb4cb573514bda0a223e71f0af86 |
|
MD5 | aa01eecc082c20c269df5e12c469cc3f |
|
BLAKE2b-256 | ff1b4fb84d0c0a3cae720d58999771b4f2a127d411d1bf60e0495de0f6943fca |
Hashes for posym-0.5.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08968380f37bf35a808d53f00dffda91b5a9e44e5bacec4f25e17628849dfa97 |
|
MD5 | 472d8d006d22cf445084fa681ff395df |
|
BLAKE2b-256 | 25f3374f8ff2ae98767108d228272f930a67424bc7c8e4ac4bf2ca3a2d995eb2 |
Hashes for posym-0.5.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4460f02f118e0b89db849aecdb32db8a9221b47f64a7215cfba84fd785928baa |
|
MD5 | ce1a83eefc1028adbf11bd650da6c876 |
|
BLAKE2b-256 | ddd950b137a9f42c874d362089b6a55be2803efec03134a117daaf1888f7d8dd |
Hashes for posym-0.5.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65952fcccffdd514b9e26258257ea2437825755eaa13c63e3e36734b07d7dc4a |
|
MD5 | f7a73c67a59522e6ecef04c31da1f54f |
|
BLAKE2b-256 | a58ca9ae7fd2082704f15a0c990bb89e649d14504cd3c7b24da4b6afbac0718c |
Hashes for posym-0.5.1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20f1c2ed3eaef3e7dc981eb62b339953585d8be09ab74e39ccbbb653a066f771 |
|
MD5 | b9b4c9d001d3596ee783f0814e18a143 |
|
BLAKE2b-256 | c8b905905abca04e43226136a8232afe087bb340e20afcbffecc8c6733298939 |
Hashes for posym-0.5.1-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dc6ec309d7d2b3659e8c68bedd9834c5208653b460dbf5e06aa31635f56a255 |
|
MD5 | 13ec25d20827e343b73f73da0935b4d6 |
|
BLAKE2b-256 | 3ef19a9d9eb23d0a3bab6a78b35715063ef01da19b41ddd1c8f1d86e5a01160a |
Hashes for posym-0.5.1-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d26e12d32a3c96d167555c967d81a85c678baab114b637be184bf693a6e2ec6 |
|
MD5 | cc317347bd6864c04a9ef5a8b716609d |
|
BLAKE2b-256 | 7f68d0f4b050c9ac2d5ae7107148e88657fd9f470f1b9901d50b826226b162c7 |
Hashes for posym-0.5.1-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4056c29fb198cb796c69f65f3eb10bc785b8b56db4892b53e2734b8b07aa1c4 |
|
MD5 | f6bae3ed35fecd5cce81384eddc270a9 |
|
BLAKE2b-256 | 9e04a823d7e7d47e5e5fc0c901c4dfbffe7bb1abe9531577c62c788708c69041 |
Hashes for posym-0.5.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fd65f397b99908eef09d37184c32e68f699983d6cffe48e88175c4a6d7b4d7c |
|
MD5 | 71e12adaaf20a64cd9fd033e3ec1cbb1 |
|
BLAKE2b-256 | 0bd07f51a5b9f92931fb8fe875fb9125eaf7824633ea12639a81abe6392a3e1c |
Hashes for posym-0.5.1-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0705d60df8e331424d012b947015966ead00ddedfb6255a80893795c94f94135 |
|
MD5 | 67ab96cfac5ad1b39dc286ecf3f87885 |
|
BLAKE2b-256 | 28473e3e1b9ce79473f5179d24e13285222ccd0cba7fbebc8f4e8560ca77417c |
Hashes for posym-0.5.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9a9f639657172d3c1402fd4a6828e9bd2c4b32a5c220004bc412bd06fba369b |
|
MD5 | 671bc8d48ce58e09dbb0ee19acf66a0d |
|
BLAKE2b-256 | 42dd7fcc5d901196b5622a4b16429cfbe62b5426fa823e11b71461015fa88578 |