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.2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10e635ef43d2d66ce21ad7bcf2e34d701013ab9e2102fdf059a7bc8a5b61429f |
|
MD5 | 641adac344c6d6a8713fa33d5b782784 |
|
BLAKE2b-256 | 338aade1ba86149b315f541cf4f5ceef978aca6181254eef34986ffc47767672 |
Hashes for posym-0.5.2-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b06d1694911db538c807ff5f0e79f8a64346d40e33ec9c81fea6758d5b12dc50 |
|
MD5 | dfd504aa902158d943e4cf5340eb1325 |
|
BLAKE2b-256 | 4da3c51261f7e06943fb04e06427c83daa7427942a4f821a61448b8f667c9581 |
Hashes for posym-0.5.2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d3aa3327a61640cb22396bc024851e85d0f79b9107115742483f7177dc0a1fc |
|
MD5 | eba3ae7948f8216aed44e116b3d9222a |
|
BLAKE2b-256 | 85574c6db10cdf96201b6d71f7a0333127faf5f61bc35013461faa2f44c2c3da |
Hashes for posym-0.5.2-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5153ad4a3351120f5f2d33bf3dd1d8c28591478a0d63209999915a6d4bc76fe |
|
MD5 | 7059b96504d902beace11d832d078cbc |
|
BLAKE2b-256 | 81b38427f26176ce4529f1f7c7f90f31f1484e7a62b42964e1e81089d030080c |
Hashes for posym-0.5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6885a64557d52934da5d417f8e739d99b720b495ae0af299b9529e806904702b |
|
MD5 | 75b6e8ece910e641ab5f2d48f7dff164 |
|
BLAKE2b-256 | fd85057ef4fbc3f9863c31d3b12b634bf2a27817b3d683853a8392b89f64c71c |
Hashes for posym-0.5.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 802a0b107f1e43841d8fe12ae70902f6359095b141c88f08f42cca5960b20fdc |
|
MD5 | 7a451063a1a101d5a7ab072494faf451 |
|
BLAKE2b-256 | 4020d8ea55a01be44661f606951487e945bf4f9323ada63b34f49903f2a5902b |
Hashes for posym-0.5.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96c9a7f8da2e0db7edff1f613608214f96408817aba749f1dd99f52e5683d6a9 |
|
MD5 | 750c9f794e1ac1491483a6d2d5743bdb |
|
BLAKE2b-256 | 6b9531d75a558d32236f30277b229b33411e5ba5ba0b9f7134fe2af563d977dc |
Hashes for posym-0.5.2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d22a7e8880c235e8b1cdd7fbde4c147558365465e79b3dffb68d8f1e162a466 |
|
MD5 | 190926db822aa5044586af2dafd18484 |
|
BLAKE2b-256 | dc57295f41834255984112da6f8f3d21f15af3acd26c11f5d0ba181765854dbf |
Hashes for posym-0.5.2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1cd388285fc5fa6ed4cc262a301fd5fec61a87bd3a425dbfb438e4420293c2d |
|
MD5 | 266b0c93184f16495570c3c2493b9f18 |
|
BLAKE2b-256 | 7c7ac74e685f211e3462eed25e70391ab02c5220a5a156d1b1db3326660f32a4 |
Hashes for posym-0.5.2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2934c56ddfb6a330ff98c189b11469de4bb7f7e3383af659b0eb9da8a65490e |
|
MD5 | 9437fde798452028eede44c0e318f8ee |
|
BLAKE2b-256 | 1f0349bdda1369d40959dbd93d0d44eb27da99c36d1a98833cfa3e8e55281508 |
Hashes for posym-0.5.2-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8dfa14043eca6352bb99be191195665abe6771b56861c41f590d6f27dcc8297 |
|
MD5 | 45ecc9c1a78d628e98ef58b17134e771 |
|
BLAKE2b-256 | 57d7cd319febec0a43ad6cc9e9575a4022fc6c9d9bd1017a5376e1df1c4675ec |
Hashes for posym-0.5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f76ab9fd228cd55f2fc44e16010e99e73dfad6fdb186fedc69bfb45ae35de5d5 |
|
MD5 | 7ef3fde7d12fd1073cebda2fb6596c48 |
|
BLAKE2b-256 | 5e106d7cd5ba70d849d76c074c2fa7effc4803905b7cf7e4c8404bac2fa524fa |
Hashes for posym-0.5.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d3ee47e54b036053339f95b433c8ae68abf6a683be25a089ef4069060062a03 |
|
MD5 | 458ae2803ebd99d35c430babf7f9ef4d |
|
BLAKE2b-256 | 811f04b42e5412bc3c29e2d2c03932699984730cb07137d18123dde2636dfa5b |
Hashes for posym-0.5.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 730159adabb15d36c912ff166d3e996bfe49b86471a5feb946004bd105fded6e |
|
MD5 | c7644f61b90d37447cd6fa6ff0a27d72 |
|
BLAKE2b-256 | df6082bf7135c53834731f740ab57d138007bddb37a935c070bdbc36e62cb593 |
Hashes for posym-0.5.2-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68eb2f13f662b1d3315004805a79ad991af6e4123970debedca58b73f7652c64 |
|
MD5 | 39673a07ab00664f2c05293cea26d5f8 |
|
BLAKE2b-256 | be9db42cf129d9e15320168f8c648bea9c4b5bca1622d0fac1afae0346965435 |
Hashes for posym-0.5.2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 437a995939b4b4c6d9eead3a71193d3cd53a6563ed8908503d1dbee17f6c8b94 |
|
MD5 | a89b772e725ed2dace2ccb1be6736d97 |
|
BLAKE2b-256 | ca012bb7fc06af85b541ff0dc53b401f01fcc6f0e584aaa46992cff21b54fe2b |
Hashes for posym-0.5.2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac4664fab1ab5321936e1883a7f6b2d05d32f098e60a4620c0933b600e640c6c |
|
MD5 | c6b46da77a234264b87444d2123cdb17 |
|
BLAKE2b-256 | 0fe5957192d4c2a033a5e28f25b2ad0b87bb3f50fc058b77de9962e1a87f3edd |
Hashes for posym-0.5.2-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24960ced94e3217daa822969592f97652e13e003b7fca01e43113cd33ccfb7a0 |
|
MD5 | 6f4d35e06fc419f64643e383e308158d |
|
BLAKE2b-256 | 50ade2347656da589efbc42302c6a878e6729e3b0ac067ac01368eff32de688c |
Hashes for posym-0.5.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1acceee2d6f526dc82d57f0afabda28b2ab5f01e81174691b29add0724fc7693 |
|
MD5 | 95d556dcf77a4d73d7fddd918772ae69 |
|
BLAKE2b-256 | ff521ff5f3dac714ccc657519ebdcb5f450702d2c838fc6c94a0873bd45e7b2e |
Hashes for posym-0.5.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 722e47e8f9919a3ee1a67bd984946c5e446f699369088a2c71d84594eef9dedf |
|
MD5 | c5c8be67957fc271ea799ba79efbb998 |
|
BLAKE2b-256 | 8bac0e7e9e83a4ce73625e5d50e5349e6cecd3e7458fce89a01ceee6e6a77df0 |
Hashes for posym-0.5.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3db32e6c00c41b653e3ea4b8ca10c83a954b0ad2ca99c08e2f6481e20636405 |
|
MD5 | a1a10e1de5f003cb7b294a6618ed53c9 |
|
BLAKE2b-256 | 4ca3ca6d68174ea20e24b3f52b7df7da474fc93efddc1e897831f3932b17f87a |
Hashes for posym-0.5.2-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb41585296f9b9c083ac1fca0451b3e4f8e1af06700abba7e9333a470f2726d2 |
|
MD5 | 4ff75483660762a59062f2760e7e4d0a |
|
BLAKE2b-256 | 36ca53faf420926028133243a79b73cfa5392b38b911c3ec8b86b84e60bd60d5 |
Hashes for posym-0.5.2-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f770ef74e6ba6bd4d47f424042c8e766986f6540a3b0232e7d164c2de9fe3efc |
|
MD5 | 4738b09d47e3a7d83e64350e3ba2cb43 |
|
BLAKE2b-256 | dc40e2219d2946ba6d0d1d323e9edb0ab659ec16d5daacb533039103da058ddf |
Hashes for posym-0.5.2-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3da969c87d911c369dee90beab7acf1683d46e64c8b771545b1bb46e60750026 |
|
MD5 | 04b3704090fb0d426a70968210d9f01b |
|
BLAKE2b-256 | c7916829538abfa6361b2f5fc5d865bbf10be0a9a7f4de96537c61e49b9590d0 |
Hashes for posym-0.5.2-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cc12af649fadd7951c8347f0c53d8a27f1364d0165b07a2c765683bdceda757 |
|
MD5 | c591d61b393617bd36d552c95709301a |
|
BLAKE2b-256 | 43565c6df57237d334ce73b90da0119078b6613e1fcad0e75c7898c077f4475d |
Hashes for posym-0.5.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bba3f22a4ee5691161ee5b812fdb9b7f1f2a87cbef187faf21a388c7f162f3c1 |
|
MD5 | 29b43bbdcabbfbd5b06700dad5716bc3 |
|
BLAKE2b-256 | f1a06eb91fb36b875dec5e726eaf50dda12abf152f4cc76a8990844f1295123c |
Hashes for posym-0.5.2-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c4c4d52a1587bbdc944d7c351342445417ddd0c1b524d75deee6c0ca93b6a14 |
|
MD5 | d3ca6d844022c3af5e1a527ccbfe00a6 |
|
BLAKE2b-256 | d8df9a549f153a21cbb761497e7e029732a2dc154e1ea83fee70f20338ff5795 |
Hashes for posym-0.5.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77f0c9bbf53ab0e75d8fabcc288e3989af668c3bb2532067fb8c4ddf76c85ee4 |
|
MD5 | 0e0993cdd2d0ec0fe347afe82550e981 |
|
BLAKE2b-256 | c65df1d85ed84d998cfc9e1aab63d005a9644d5192817b37a4e6c7e2b66d0804 |
Hashes for posym-0.5.2-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ef11afa1d74437e01246d645475aa6e43bb70220fa5007a260e4cee9e5b94c4 |
|
MD5 | 29b77309585fdab29ebb6b915c0c44ec |
|
BLAKE2b-256 | 44ea09ad3616edba988b9ab37e47cc32265e109c4e902f98be139725ad4651a9 |
Hashes for posym-0.5.2-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bfad1060dbc0c3858f4ead32ca881c71f0c2b898673ee0329b9b4ac4651d9e6 |
|
MD5 | 5cea4123014fdbfe174654bf135f7cfa |
|
BLAKE2b-256 | 7aa9f1bc1658e03fe481d2bb06f873d8065a7afe69d08aa2830c07db21e06e84 |
Hashes for posym-0.5.2-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd6aacd8bece799edfe3e9f275c27f3aa050ad3a3d892359956d05a94dd0afee |
|
MD5 | 32f5c9520d61bcc96d0733bc410efea7 |
|
BLAKE2b-256 | 29cf83a8d367c33efe540d4705e55d76c428915839c84eb0ac8cc0ab0349e1ed |
Hashes for posym-0.5.2-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02ebecd159d51da3088632839e3f823839b44e16d86cb76894427d03c1e88bd8 |
|
MD5 | 7ea9f46ff8f8f3c4842388b09a9dd2a6 |
|
BLAKE2b-256 | a8ae60b90bd3f4076204cf68bd06113cf3c2bb5897d4cfec963f37e87713c591 |
Hashes for posym-0.5.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa9d0008446d812e76236bd03987e97faece38ba56de4e826791f7dc5e20b3bb |
|
MD5 | 48b44db481e1f7621cc03931d7a945b9 |
|
BLAKE2b-256 | ec4e01c986cabce16b915dadbfbd852049ac7604067114065c30054f8b59caef |
Hashes for posym-0.5.2-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dca363bb3ab04129cd1ffe740f1c468871d6e9bac849813f2f683511be97321 |
|
MD5 | 1d5660848d9d420cf6ba5c483cbe1360 |
|
BLAKE2b-256 | 48eee53f3c1781fca5948372594735430d6b12b3d29a5985aec1b76237bc10aa |
Hashes for posym-0.5.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c06fdf71bf9a037c32fc6ac5ff285032b3db8e6ca2b4b6b55ef1bc75c60c4c38 |
|
MD5 | c2da127a2813c762b0097361ea86a521 |
|
BLAKE2b-256 | d362da87b3e44a642f32c15d21d82e2811d2cf3d477597a52e09882615808449 |