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.3.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a571775df6d0807615c12114af22256d3061b2d423237f2b118ac63b7eb14999 |
|
MD5 | f5603a745ef51191eb7695796de283c8 |
|
BLAKE2b-256 | cc3c80e5bca02ebfc33be70a7c6d8fad9348de5177e665cd1084928399b7e1e6 |
Hashes for posym-0.3.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5620c39eddd539c03fd48434f2be80a37076ed505f0f1a2cf566d4654e0a9ba4 |
|
MD5 | 361ec66412a5c3e88acfd973ea3f6206 |
|
BLAKE2b-256 | 6313169418d4c2ead8a82281b6629411018d2991fff84f08ef2d5156521d7c60 |
Hashes for posym-0.3.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | caebbdcce6a6d8239d57e0f6c6bb6993893e1af2d6230872518a0e9ba4bfaacb |
|
MD5 | f80a8c0d37d578e3ef80a04aaf138873 |
|
BLAKE2b-256 | 78c5dce4826f28f5e9ae4b39449073c01c1956a7f31430d0d850edd049c04a5a |
Hashes for posym-0.3.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6532d949964fd8a0289d343041ed80eb06e17a0d5c3d721cd24ff041f613e427 |
|
MD5 | dd83e897243e4283b1ab9fec394e5f49 |
|
BLAKE2b-256 | 5ac77415ead9d47d0e3c74ea5b538c89ad437aeeaee36f4a0f78be2062813b94 |
Hashes for posym-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dc657e057f834809ff92077a8772d6bf484b1b46b33c1623470578ec5e511ea |
|
MD5 | c09cdf7e1cf3b418c681d849a1fff3bf |
|
BLAKE2b-256 | f41419a663cbf828d2e4e53442ce0c04e7b587bc8e7e962bc83cee095f5f9411 |
Hashes for posym-0.3.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87c31a76e8e66a4c86e87021e84a0af47e1f74965d41d2d39c1e610b33536138 |
|
MD5 | c5a6c113565d55c9f70ddc23d1efec04 |
|
BLAKE2b-256 | fe5ecc0b6fc01bb83c057a2b5c31819fa3a9aff4a84784043d7387c639b576a0 |
Hashes for posym-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0d3ac241fc30bad3e162e813f630b293b0a3950ca22ae18aa58953fd4077224 |
|
MD5 | ee859fa4b96f22b6ff62a034e5d7b79d |
|
BLAKE2b-256 | 03fbf30c67d2abc3f50b350b4f79a1a6424678066684358a2846f8a2cf290895 |
Hashes for posym-0.3.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1bff72420f52b6fa08bc56034213d2f81f04ea8ecf42ea644ddeac40bdc6bcd |
|
MD5 | d584b6987d85733101197e617b8d59ca |
|
BLAKE2b-256 | 29516b6b9249e2361d21199d53f2e48d0e6107ab4a0b061173a6501638767603 |
Hashes for posym-0.3.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87914a26f469c10fe7e8e5f21a9e7a0deb544fd4355ccf017244298f8d3aa578 |
|
MD5 | 41b1535cb41702f82497e991facb84b7 |
|
BLAKE2b-256 | cb44a2ef6640f34e313c13312f18c836764dcd87b5f65b6c2bd1ade06b4bc1f5 |
Hashes for posym-0.3.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb7b83a09c4e40f9ce811ec4112cf98fd49cb6b63b99aa66efbb903894894be2 |
|
MD5 | 74bc7aca689f60f1da0c6fe81869b9c6 |
|
BLAKE2b-256 | 6c39302e5bdd8c64cbd306c75a8159657ee6ed3d6beb1d8ae4d82b6492263872 |
Hashes for posym-0.3.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4862ccaeeaf099bbe6fbe136d9249f4c549ff550534b8c0d411a2b2cb7b97032 |
|
MD5 | c93007698be35f1cc073ea12b41e06da |
|
BLAKE2b-256 | 552c69bbf215a5628d0eb403189c26f59f1b8995e38f24858d3389eb49e5ea32 |
Hashes for posym-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ef9e6dd2bade47401ff7770b8a081ad6c7a903a928ac731058ffba3c58d3e13 |
|
MD5 | 03d05a3e7f70d7517dfb2aac296fc2cb |
|
BLAKE2b-256 | b8a6bfb9d72ffdadbc42b6548437ef45b0162acf5ee134067d701eeeb38762dd |
Hashes for posym-0.3.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecd1411dcf98572d758855131251bd9670c67678e89fb99f7d350b497c420d39 |
|
MD5 | 368446889e0a08083a7937d1f48e7fb3 |
|
BLAKE2b-256 | 6ebb88b253e552ff9973fb99e40bc1708448f15b43de9e9585bee7518b4d499c |
Hashes for posym-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad5d85ce0322c6da21155358e3f9e024d0138d6e6ecd32a816f3476f4b1dd8d8 |
|
MD5 | 00db55a0440bf77be420b6ac422c6592 |
|
BLAKE2b-256 | d5306b377a885198183ab99074543d7fdb3b9b8ebac0d974a9db36855ec68110 |
Hashes for posym-0.3.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a7c43af429ad2f5b1af61e385f3266f63c1b4a4daaed7c23cf24d717e3d79c3 |
|
MD5 | 4621d76f1588c0b6eb60daeed1523601 |
|
BLAKE2b-256 | dc3da31d591c007e6bdc910303393ca77530bbf1cac1af1d00ee919a1c6ce35c |
Hashes for posym-0.3.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 970ab4519fe8a15ea0ea15e997c459846cb71050d454a9f8e420f049d5fca0f6 |
|
MD5 | f157894bed62930bdf348282290f5e6f |
|
BLAKE2b-256 | 007d7db1fb521ff4154185b80242a81241f14f1be99cd4c3c357ebff2a34954f |
Hashes for posym-0.3.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83b8404f3764e38c256ef130cd4e30a5f2539e0f969af86734c23f9dc7d7fe8f |
|
MD5 | 5f05fddc73db654b1ea5858c6235f807 |
|
BLAKE2b-256 | 8bf2a0479baae274088d5b744a05f62c36225ba84a94fbffc350e79707ca2eb1 |
Hashes for posym-0.3.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 427201d9a46ab888e016d17f09acc1910b957e0f380929f42f5e3e7e5521d0bd |
|
MD5 | 9a857f60d44ce2750a45ce3ce17f46de |
|
BLAKE2b-256 | ca876437558cf068e0024a0bf2e5ec4a00007af14ebce66d8bcc5b1d9f3b435a |
Hashes for posym-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20ec795771abacf16503b522b26bf90d91b1bdaa9e18913ce5ec648298dfc3bd |
|
MD5 | dbe3aef3f70ca68f3dbfbacaa0f89442 |
|
BLAKE2b-256 | 39aa9de7bf397df044d9da7ad68dc233ab11f85c56fe0a1b52e08676349873de |
Hashes for posym-0.3.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30e80d42baf285b247743d241159ac1a9f8f1988c8c1ba73133a31239f5c8fc5 |
|
MD5 | d0a4d4888292a248704a6dbb58d8fa28 |
|
BLAKE2b-256 | bf88bbda50bc6eafa0bde05a8727774ab13c67b64a64654de7d4d27b42a1d201 |
Hashes for posym-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df5a111a1ac016cf0d7a6e062dddcc116d215c09dc96c552ea13de46456ef16a |
|
MD5 | 1bec8db65e66d36c81a5c86ad0ce4482 |
|
BLAKE2b-256 | bc9b1370a03385a12a59a31fd01c0b159dbaefee19b704fe2f4f90ac6a5c730a |
Hashes for posym-0.3.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b85c768c75f6c708670276bde8219ce07692f71b8aaf1cc9a21dc2b3322b7915 |
|
MD5 | 9aed82b4423c1f603762900ff6650d33 |
|
BLAKE2b-256 | 5811698c346a1a79da9b9d939cf63b2672bd1e0e476c0ada3c7496104e5a7f64 |
Hashes for posym-0.3.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10057b0d2c0909a327a7bf5bd31a7b73db7451c3b0385d56763fd14145ee1fdf |
|
MD5 | b1ae9c386df4b721e95e0c58db6fa835 |
|
BLAKE2b-256 | aa3c6b6c6cff64b1dad06120994d9954617008ec43b08a4e3c20713cb37b6c74 |
Hashes for posym-0.3.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cffa2507aa9d30652c59d7a26a45e15f9e209aa3be1a4f10c08d1e7841aa5b7f |
|
MD5 | 4f7d763e609b2c0f141658fd5dd8110e |
|
BLAKE2b-256 | 2675269f79659756c8e5f3f68ea7747664ed76a7e932dc96c94b3981eef7080e |
Hashes for posym-0.3.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be43c150042afc20d8fc7c5cb4364d9583fcef2278a55866ec5f08afff13453f |
|
MD5 | 5a7c69f7a2fb7a277964971a1ed0676b |
|
BLAKE2b-256 | cac2119da7ac151b0406c1907884cb496177e279a1febed39736e3351d7a27e8 |
Hashes for posym-0.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 205061341751fe11a6bc624709290c736f939e4a6c30d1d56b31a5db5665d348 |
|
MD5 | 4b1835462061ea7fd8c4e09ec4e7f0e6 |
|
BLAKE2b-256 | cac79c199c3c4251f9d4451d0482d0ff8b7edd60143f3921a373124a8421c7ad |
Hashes for posym-0.3.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd247e696215b366eebb062432cfe3b3d805bfb3f98c65ca2275af935123b34c |
|
MD5 | 1f40944ca3938b6c67af637b3d7cf4bc |
|
BLAKE2b-256 | 65e4ca41aebabec275f6799ebe5649a7ee509ed188c061f50f328bad5dbce5ea |
Hashes for posym-0.3.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddec8af6506ba0128f6035473f55fcdd68d20cac283766103111fbd1ce8e64a4 |
|
MD5 | f55f15b70f968ef923a19ec4682b3a80 |
|
BLAKE2b-256 | 75fcc296178c7f1f3239f44f50d650f0c27f6cf1a58f8e9e2a6c88df52758c18 |
Hashes for posym-0.3.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b157c85b3e9388cead7716588bb07dae0af44b8d4c95a3261d34a2f38ce1d39c |
|
MD5 | d89b6243df321baacaf29aa0806237a1 |
|
BLAKE2b-256 | 35cd909efe7bf8b8f5961921fff6e96f1e43e7bff42f9774e24e85913a8cd73c |
Hashes for posym-0.3.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad72a65cf6920d8fcd0a00092537788b1b4dd11b23c983150c91af783534afa5 |
|
MD5 | 9d8cb6f5ce6c9c10160f550360845bb0 |
|
BLAKE2b-256 | a4b96505e4f4a0a42ac1dae021a0eeb0af4e5626507e584e1c6f145ef5a0e2fb |
Hashes for posym-0.3.0-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cabfef30cded872b825aa9a82e4f79c6982726a1beb9e9cc35e13b0b4e3c507 |
|
MD5 | e75c68193668d8e2181f2118946c9137 |
|
BLAKE2b-256 | bd01aa279a14679ab31e8d7852980b93b2da6f80dc716acb32f7285ba3bf4882 |
Hashes for posym-0.3.0-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fef6b94216813a0b75b476a3cd87c9e39bb682a5027d252ff60a1c7cd581e73b |
|
MD5 | 5ff70bc8ea4fbcdddce51b8dd7ae9918 |
|
BLAKE2b-256 | 0a35eea3b8cbb57dfe276ecc34af3529a09687155ff13b58ceda330ed1452582 |
Hashes for posym-0.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f32ff381572e5510bb6e4abeef14337266e393cc45ceae741914b9c6869ae7b |
|
MD5 | 6168172ef7f674b7e41e3ccbac283bfc |
|
BLAKE2b-256 | 27f88d1b24bc0d42c549531582e7efb2fcd7d4ccff6ef973e49f6dca403db89f |
Hashes for posym-0.3.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9d207dcb73eaa1e0b3e78a972a0a6d1a7939e07c27100aa08e4313ab872dd30 |
|
MD5 | a375da074fd97045ca302097448ac275 |
|
BLAKE2b-256 | 31913fbb0a37c90522f0ef7f06083b14cf92ba907776f15d6b4b41bce6d3eeac |
Hashes for posym-0.3.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb0014db874abb2bf275ecdafc7d93e7b1e82e748e862c732d0ffd87377323f7 |
|
MD5 | 03df4034698eca48ca402226991f3875 |
|
BLAKE2b-256 | 1cfe940cff277a6c5a5cdd35dee6cd88c7a21109630d3d3f32b2d8b5fd540b3b |