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.4.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0e6657c7e94d8071b05bd565d2a53023ca94e9529b33e605be9ab12b1bae5e7 |
|
MD5 | 2514b50e141e4be3d57af70300cdea63 |
|
BLAKE2b-256 | 4599dd974938bd3c3136af57be4005c74a956d333bff978360aa117e8afbb02b |
Hashes for posym-0.4.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d33c9c559e012897e78a45d8589c47747de580f7574edb809454d98538c1e4c2 |
|
MD5 | d085e04fde1f7e082c44fb3a72be3151 |
|
BLAKE2b-256 | b28293790ae6b6d9ebbd45cc1df967a3796012b101985c2fc12333abc374eac2 |
Hashes for posym-0.4.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9115b6eba3ec8212676139a54750d407378fcc4d7028b889b87c76cdad19e5a3 |
|
MD5 | 6fef3d7d5a900b257e4c0278f3182228 |
|
BLAKE2b-256 | 6bd7b7775af2a79a5a8586bc234e3de214a21adb883a03b85d872ba4e85f44cb |
Hashes for posym-0.4.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | defe94242e29ad4456cda2d99f8a4ef6b4a864514fa6a303c6802969f960ef0f |
|
MD5 | 7838d1556f2b799f93c9d7659e7a6474 |
|
BLAKE2b-256 | 019e8747e4d8c84597de8261dc1db5e4bd41ddc0e54eb94bf72de2bfbe355c62 |
Hashes for posym-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ceb58c25c1106c842bedf23443477f84a58f319823e7c289cfc0770134c39d75 |
|
MD5 | 636412410fff1d50a6b30e88760282f4 |
|
BLAKE2b-256 | 42d0006f009af1f2fa5f10e5db5bff89c567fc1cdcd037604fcf0bb6cfce29fe |
Hashes for posym-0.4.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f6a1848336af927c8810b9bc0510ca5b56073b36deef611233aff0d1f353f0f |
|
MD5 | ccccc7b003298ba86026ff0ad7e5b13c |
|
BLAKE2b-256 | 79c4edc41958af7aa3925420c553006cf69f9c78b5d535c8c0e027a4d03820e8 |
Hashes for posym-0.4.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2067019cb12999c37c85d43fcc6c6b3f8f2043ff0aac8ec1008da00086077b54 |
|
MD5 | 482a8fa28c09636d77b5d147c6a5220d |
|
BLAKE2b-256 | e9c929dc2ec615934ff3e5febc114c9cf95186780666f34ad4440164cc87efca |
Hashes for posym-0.4.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92c79c0d43d6243e8986e1a2928e261cf77b498047dc45efc0ccc82ca0a0e04a |
|
MD5 | 966865f09b1b539ec7439b658733726a |
|
BLAKE2b-256 | 3e1c53b34e03617e95302b73af8b0d9dd5b4fc76636cd653c0537fff0cb8e727 |
Hashes for posym-0.4.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d38f4fc239bd57dcf5a3c7eda6044ed078490ce9a0a2602a412223cbef5f57c8 |
|
MD5 | 845b7e1a49ff7e86886d13bc9144fdcb |
|
BLAKE2b-256 | 7ab1858dd5e19e3b5ca2bd4308d38ffed5d3d8014608a149cedfde2ffbb08d42 |
Hashes for posym-0.4.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fb11d2a34c91bbc81fb8204f1e01d57416a2f0ded4a76541b05ae5302b52d4e |
|
MD5 | 49fdb5333ea31e1e3244fde91a8cf1f1 |
|
BLAKE2b-256 | 74491615c3bab9c3038dd96d81206f86cc88528de53d5eeb965360652118515b |
Hashes for posym-0.4.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 916a7568ebdde72979f488dd26afa88e30a48cd4d0e9f0ba788b549d3e9095c1 |
|
MD5 | a87cc0530ac467f08e99eb7dbfae3610 |
|
BLAKE2b-256 | ec70564bd102d8536b0c70f6ea4353f1d86f93ccbdf87f18ed0e7a8745924d86 |
Hashes for posym-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8142c585b7031e75ada3a181e672faafcc5ef8ee33a69305e494232b032f4835 |
|
MD5 | a57e0320160f90162ad57664eab327b7 |
|
BLAKE2b-256 | 62c9268b9b53be4fe9feaed4454030997bfbe67e0f6cce431a0ec402ba710939 |
Hashes for posym-0.4.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | daeb5f20ba38bad49e7d44cfceb82c8aefdb5b2469d556205cc7e7cb08eb82ca |
|
MD5 | 8f7755e1a35c3ebe0269a255b75c73fc |
|
BLAKE2b-256 | 3d1465d94be7f066d3bc05050b0a81490a1d0b5bb94b25df221df28150d1bff8 |
Hashes for posym-0.4.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c819f3f5efa670a034bf6245fca1f20575cb88b1f0d75ed8930dfc0863be7527 |
|
MD5 | 4e37d6868308c37d4ce2aa03994484bb |
|
BLAKE2b-256 | e94f0fcdeb45f539f4edaa7d4efd7fc61ec62cf4aa97d93d595737dd0097eb05 |
Hashes for posym-0.4.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87f67bfa3459a428c9d473e233316e8511c9aaf1209402ffda96c87a92b88343 |
|
MD5 | e56add45af71995cc9d703d3d558c3aa |
|
BLAKE2b-256 | f46bd5606b3d756a5c264d7a8c132e65580fa8a8d3809ef2ef655f077e13656b |
Hashes for posym-0.4.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02edda74d16259acf8b92bfa2cc51e3c9e9f82e4cae691bc494670e80aae845b |
|
MD5 | 30ead8451b15764fb52649c7307fe37b |
|
BLAKE2b-256 | 4962a68ee52eede33dcf70e39bc9bfb49e99ee52b943adf031b720f41927ae9e |
Hashes for posym-0.4.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa642d20b5449923f1ea70e03eec4a0d06ea40a618b9945c2e396d9d565bb653 |
|
MD5 | b4611d91f78bcc89365fd204ef59b634 |
|
BLAKE2b-256 | 1b788bddbd10ccbe2c5ac035660486137d6a72fb3b8136aa1575358507d017ca |
Hashes for posym-0.4.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa43f6129a7bda81b1526c2ffc1b8b28d92ce12b2013c008d292e2dfcf837ce4 |
|
MD5 | 31cc8870c3b36a21aad2403f03dc2218 |
|
BLAKE2b-256 | a5bcea61fd2ca609cdd694668989f5cc621e68579ad436bf4659c44683478dbd |
Hashes for posym-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 308bdb32a20c166c43ef90d4217a4a3aca31509c04a706e02ae60feabb6393ca |
|
MD5 | fecae3d70d08c54f4cff85388763cbdb |
|
BLAKE2b-256 | 1942c27622feba212a98e090c377e077dfa6497880b9c946f35e25a333625124 |
Hashes for posym-0.4.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a0e37b83415dbb451608bae69660b5308c946ef348cff04f58b566ffd18754d |
|
MD5 | a9e153ce5ef15d97ce02468f55d63fd1 |
|
BLAKE2b-256 | c824d2253052520637eb0c94307c5decd6faf421e03e6025a71470ab8e877902 |
Hashes for posym-0.4.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e82be08a5b06cde76be50d97fafd1999747fd856841c34cbb57b55b466d10759 |
|
MD5 | b9d3f66e0f133ca77ed1a23da638694e |
|
BLAKE2b-256 | 983f8fa40b46ab9956634807c3d379c7a3429a32282fe5d2ad6e70d57efc15c1 |
Hashes for posym-0.4.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7088c88a9382b695be58613abd067f1344319730479d749417d0b3bdb8e8de46 |
|
MD5 | 6365bb418d14400d502c1959c0e2f192 |
|
BLAKE2b-256 | 19a8131cb77d9815bdb6b8a9b0cf1c24dc5ecf4622edc573c952fbd286215dbb |
Hashes for posym-0.4.0-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de2e161e2dc258e104c32560223d417aaac58bb0085df6eb7a57a64c8a8dd0ce |
|
MD5 | 0d006903b23d5ac0414861454f45674d |
|
BLAKE2b-256 | 8c3be02e9c29a76937ba7bc0c0dd6ddaa2b33ae9447818822872a3e3805d782a |
Hashes for posym-0.4.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cba503d6ab047a4c65cb89b45ca9210f3c484bd8522e4a8a6cf1a9b115f2355 |
|
MD5 | 84ead6ce888acc6ce387660c194df235 |
|
BLAKE2b-256 | 90e4b14a4a273ac79b2d50e2133228c3fd1eaa7e26e0883817671ae1af09e598 |
Hashes for posym-0.4.0-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec4197645776f3b76681d21b3b205392ad626604ab75627d0701c15665d6da00 |
|
MD5 | 332b79ba01fa434791900c52356888ac |
|
BLAKE2b-256 | 67d0c41b295069f5b269acbb7b77bd0f05a92a79c2f8c34921fcc2b9cec4ba33 |
Hashes for posym-0.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef548a45ddb996eda30487030d35a6a593df37a57a857ad7ff8406615dfa612a |
|
MD5 | b0da891b27374e5a9062869df40b88ae |
|
BLAKE2b-256 | 567969c67a52b242267bab100f9fd070340d76d397c11a7c8b1d82c839ee37a6 |
Hashes for posym-0.4.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b375e91453f6d43a954e3333d4e8cf9dc1455925f6aeb038eba891d8f459859 |
|
MD5 | 39dd646c881ac0f149d93837eba1bc5e |
|
BLAKE2b-256 | 1e811b5f9a356a17e044740eabd0b117f24df5a2577a694f1cf9889d43370bf1 |
Hashes for posym-0.4.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3392ac38b0f1db9d8e556c5326a2262c3a9a8659b031a8dcc946a5a1d5c73736 |
|
MD5 | 982d8e6156bcc0f4bbd676cd8935df53 |
|
BLAKE2b-256 | beabe81db2c27ca773ae1f947c2ab5784696e883befa863a2b8554182766af33 |
Hashes for posym-0.4.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7228a8c23460ea2fddb977ee69c2cc63ccd29e426edf143f5391b0e73a7e771c |
|
MD5 | 9b3e39aa45921ae2e356e04101bbda4d |
|
BLAKE2b-256 | b773d22ca9a50131b8dc8a1601306b1886a559b6fac2d8fd87f66e47aadb536d |
Hashes for posym-0.4.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cc688b4f550a3157ad1b80896038888a0f49e6e90e7d7583b01a383d84cb8a0 |
|
MD5 | f443bf3a14e4e3182c2be4a02ef5bddb |
|
BLAKE2b-256 | e15171e6ed7958e5851380490cd3c3ae6975877256805edaf8a7f3577b317588 |
Hashes for posym-0.4.0-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 642c4e092c3b803e4ed7bfd415b9c9bc6fdf8b601a2cfa87825fab1874aa2bd2 |
|
MD5 | cc0de5c841b5b5face7e460c989198c8 |
|
BLAKE2b-256 | 207714e5a9bd6fd5cef73f0d584cc1d0cfb4c39e7a2df6a6afedff550b26f1ae |
Hashes for posym-0.4.0-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef952ab5d8dd8629bc59cfcc7f96ab89bd7e78755ec9c4f6d77eba3ac6443e83 |
|
MD5 | 54c6368e1259f107e26ea9c904b50ba0 |
|
BLAKE2b-256 | fb6b9e671284def9c2958f46615a87e1c5c600e95083f9d4544b8493e821a14f |
Hashes for posym-0.4.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a98d60a87f1b8bdc0d22f1662e0b91fb656341aec82a61b8548d2cca0dd3472 |
|
MD5 | 180d60de227e06806d0a54a2aa6f9378 |
|
BLAKE2b-256 | af8307004e3ce419dc78c1452aa6de6e7b22aac4f77f6fc52a732013bf798b24 |
Hashes for posym-0.4.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d98471bfc1be12518af492c2e4ce86719a6f207a9997b0489aecba6fef7cf0b0 |
|
MD5 | 20429dfd0c0c179f6b1bf9202169d8cf |
|
BLAKE2b-256 | 37edecb4a02e81179814af17456cfa009b971e53c180654d5acc01b392a49284 |
Hashes for posym-0.4.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa4e8aca4883c98d09005212eb4c6d0a8eba174d1dbf67dd5103dc133c4e7bf4 |
|
MD5 | 28eb6384efd26096075afd23fcb57918 |
|
BLAKE2b-256 | d96c7799dde587b862b1d63275579d8f374a435e1601fac226bff7179abe7241 |