posym module
Project description
PoSym
A point symmetry analysis tool written in python designed for theoretical chemistry. This tool makes use of continuous symmetry measures (CSM) to provide a robust implementation to compute the symmetry of chemistry objects such as normal modes, wave function and electronic density.
Features
- Use as simple calculator for irreducible representations supporting direct sum and product
- Continuous symmetry measures (CSM) expressed in the basis or irreducible representation
- 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 PySCF (https://pyscf.org) and PyQchem (http://www.github.com/abelcarreras/pyqchem)
- Designed to be easily extendable to other objects by subclassing the
SymmetryObject
main class
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, SymmetryObject
pg = PointGroup(group='Td')
print(pg)
a1 = SymmetryObject(group='Td', rep='A1')
a2 = SymmetryObject(group='Td', rep='A2')
e = SymmetryObject(group='Td', rep='E')
t1 = SymmetryObject(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 SymmetryNormalModes
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 = SymmetryNormalModes(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)
Determine the symmetry of a molecular geometry
Continuous symmetry measure (CSM) is obtained using measure
method.
from posym import SymmetryMolecule
coordinates = [[0.0000000000, 0.0000000000, 0.0000000000],
[0.5541000000, 0.7996000000, 0.4965000000],
[0.6833000000, -0.8134000000, -0.2536000000],
[-0.7782000000, -0.3735000000, 0.6692000000],
[-0.4593000000, 0.3874000000, -0.9121000000]]
symbols = ['C', 'H', 'H', 'H', 'H']
sym_geom = SymmetryMolecule(group='Td', coordinates=coordinates, symbols=symbols)
print('Symmetry measure Td : ', sym_geom.measure)
sym_geom = SymmetryMolecule(group='C3v', coordinates=coordinates, symbols=symbols)
print('Symmetry measure C3v : ', sym_geom.measure)
sym_geom = SymmetryMolecule(group='C4v', coordinates=coordinates, symbols=symbols)
print('Symmetry measure C4v : ', sym_geom.measure)
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 BasisFunction
type objects
from posym import SymmetryGaussianLinear
sym_o1 = SymmetryGaussianLinear('c2v', o1)
sym_o2 = SymmetryGaussianLinear('c2v', o2)
sym_o3 = SymmetryGaussianLinear('c2v', o3)
sym_o4 = SymmetryGaussianLinear('c2v', o4)
sym_o5 = SymmetryGaussianLinear('c2v', o5)
sym_o6 = SymmetryGaussianLinear('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)
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 SymmetrySingleDeterminant
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 = SymmetrySingleDeterminant('Td',
alpha_orbitals=[orbital1, orbital2, orbital5],
beta_orbitals=[orbital1, orbital2, orbital4],
center=[0, 0, 0])
print('Configuration 1: ', wf_sym) # T1 + T2
wf_sym = SymmetrySingleDeterminant('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 SymmetryMultiDeterminant
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 = SymmetryMultiDeterminant('Td',
orbitals=[orbital1, orbital2, orbital3, orbital4, orbital5],
configurations=configurations,
center=[0, 0, 0])
print('State 1: ', wf_sym) # T1
Compatible with pySCF
Usage of helper functions to interface with pySCF
from posym import SymmetryGaussianLinear
from posym.tools import get_basis_set_pyscf, build_orbital
from pyscf import gto, scf
import numpy as np
r = 1 # O-H distance
alpha = np.deg2rad(104.5) # H-O-H angle
mol_pyscf = gto.M(atom=[['O', [0, 0, 0]],
['H', [-r, 0, 0]],
['H', [r*np.cos(np.pi - alpha), r*np.sin(np.pi - alpha), 0]]],
basis='3-21g',
charge=0,
spin=0)
# run pySCF calculation
pyscf_scf = scf.RHF(mol_pyscf)
pyscf_scf = pyscf_scf.run()
# get electronic structure data
mo_coefficients = pyscf_scf.mo_coeff.T
overlap_matrix = pyscf_scf.get_ovlp(mol_pyscf)
basis_set = get_basis_set_pyscf(mol_pyscf)
# compute symmetry of Molecular orbitals
print('\nMO symmetry')
for i, orbital_vect in enumerate(mo_coefficients):
orb = build_orbital(basis_set, orbital_vect)
sym_orb = SymmetryGaussianLinear('c2v', orb)
print('orbital {}: {}'.format(i, sym_orb))
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 SymmetryGaussianLinear
# 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 = SymmetryGaussianLinear('c2v', orbital)
print('Symmetry O{}: '.format(i + 1), sym_orbital)
Try an interactive example in Google Colab
Bibliography
This software is based on the theory described in the following works:
Pinsky M, Dryzun C, Casanova D, Alemany P, Avnir D, J Comput Chem. 29:2712-21 (2008) [link]
Pinsky M, Casanova D, Alemany P, Alvarez S, Avnir D, Dryzun C, Kizner Z, Sterkin A. J Comput Chem. 29:190-7 (2008) [link]
Casanova D, Alemany P. Phys Chem Chem Phys. 12(47):15523–9 (2010) [link]
Casanova D, Alemany P, Falceto A, Carreras A, Alvarez S. J Comput Chem 34(15):1321–31 (2013) [link]
A. Carreras, E. Bernuz, X. Marugan, M. Llunell, P. Alemany, Chem. Eur. J. 25, 673 – 691 (2019) [link]
Contact info
Abel Carreras
abelcarreras83@gmail.com
Multiverse Computing SL
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
File details
Details for the file posym-1.2.2.tar.gz
.
File metadata
- Download URL: posym-1.2.2.tar.gz
- Upload date:
- Size: 49.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99094fd76e9a0a90eed81a582b8b52601c30e74fd20e45654fee5a46c4a6b6d1 |
|
MD5 | fe872936b5a0e26a8286a5369faa40cc |
|
BLAKE2b-256 | afadec094ac550398a0a20dd0d3ea34f2ce3b9c9eafe898976fb2bbe1448208e |
File details
Details for the file posym-1.2.2-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: posym-1.2.2-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 67.8 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fda0c28494319576d4548f1a8bf3e2976ca2ab49c45af6e8219e31d37fcab76 |
|
MD5 | cf566072fc12d01e428177b87688d7cf |
|
BLAKE2b-256 | 6b3807c74d761e47e7a6986ecf728fbb9636329e8ab19724828849012e27aa3c |
File details
Details for the file posym-1.2.2-cp311-cp311-win32.whl
.
File metadata
- Download URL: posym-1.2.2-cp311-cp311-win32.whl
- Upload date:
- Size: 63.3 kB
- Tags: CPython 3.11, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf9e57bd675df2b3904259871f56a9a27afa0ccfc845d9690f4023dfe00bb79f |
|
MD5 | d063cb4d56e8140b4d7536104d224d76 |
|
BLAKE2b-256 | 9b41abbca0092bce230c6054f589701e60d3b23140e4a1db387b6070d0e57237 |
File details
Details for the file posym-1.2.2-cp311-cp311-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: posym-1.2.2-cp311-cp311-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 119.2 kB
- Tags: CPython 3.11, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | efe33f40f26c930e79978a373a23720b7b935666c1c564556f98c5d0c54e2fe5 |
|
MD5 | 2e4bbe8588788e8073a7a0efe5e67ce5 |
|
BLAKE2b-256 | ecb29e15e7e3c944f505ae1ad0a84494445f59101c778bb265ddab125cdc2a99 |
File details
Details for the file posym-1.2.2-cp311-cp311-musllinux_1_1_i686.whl
.
File metadata
- Download URL: posym-1.2.2-cp311-cp311-musllinux_1_1_i686.whl
- Upload date:
- Size: 113.2 kB
- Tags: CPython 3.11, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e70855ea2f8fb21993120344208a67f275061eee8a78780c281da0990f3445b1 |
|
MD5 | b8993a033650fcfc90dd4162edc0f983 |
|
BLAKE2b-256 | 7541ffa9e73a098da741fee5152a90bd9b17dc42c8ade790f314835142c4f5b3 |
File details
Details for the file posym-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: posym-1.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 176.4 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39a3225b06cbbc94ac1d06f843c269c5b26bb569fd2067433e9985df5e0a7387 |
|
MD5 | 74897081bc109077ee00ade9e86138aa |
|
BLAKE2b-256 | bbc2ba019cf42cb9417178483d0e823f828a7f13bc438dafa63c591df4803025 |
File details
Details for the file posym-1.2.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: posym-1.2.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 175.7 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d4a9770496d07ba653c2186016c77803fbdc921e0538965b021c2d1f32daf94 |
|
MD5 | 036bc7b68948ddc8709a7a3023f470a9 |
|
BLAKE2b-256 | 87e1238c3c2abcdc9cbb960b54a27b7667bffd08a0b81aaaa57479f44b1c9880 |
File details
Details for the file posym-1.2.2-cp311-cp311-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: posym-1.2.2-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 67.3 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 171b9ccbd050566972ea6a555534cfa2110c6bd423113a60fe3a2effb92a4896 |
|
MD5 | 5a968396ae0dd835806c90548a1662a1 |
|
BLAKE2b-256 | f7e17d4d26ca7231d55989fdf22a6fc61fbe1a0f7d28b8aee10b8b1747876e0f |
File details
Details for the file posym-1.2.2-cp311-cp311-macosx_10_9_universal2.whl
.
File metadata
- Download URL: posym-1.2.2-cp311-cp311-macosx_10_9_universal2.whl
- Upload date:
- Size: 88.6 kB
- Tags: CPython 3.11, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43f81080ea9ac342e831132bd1ffa89d604cd355c61a41f26f11708561dd593d |
|
MD5 | 0f970c4414b560dc72fc57fc9e50e33c |
|
BLAKE2b-256 | fe2319b301891ebb6245d5f5d68d8db074fc718012f465afdf9e2a1b0436b55f |
File details
Details for the file posym-1.2.2-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: posym-1.2.2-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 67.4 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe7047f3fa1ff4026262c588c58e0ce633f4d1f857eb1851bfd9efa60f07911b |
|
MD5 | a31858994df45de1c2e6a4dceb9b290d |
|
BLAKE2b-256 | 5f9ea72a9131ba1fd7ce91a6ce1ec0c9e5d2ce670690464ad695aa10018d7c14 |
File details
Details for the file posym-1.2.2-cp310-cp310-win32.whl
.
File metadata
- Download URL: posym-1.2.2-cp310-cp310-win32.whl
- Upload date:
- Size: 62.9 kB
- Tags: CPython 3.10, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9eb3bc5e85dd9264abb8d58c5a9c8c6937b9cef1390ca04336611c9203ccad9 |
|
MD5 | 4140f986dc8ecf53fcb9941ba4a5631e |
|
BLAKE2b-256 | 623db7d9e4c595148cb9d678b4314b6da83007659b7dab96f042f6ab16fd0dba |
File details
Details for the file posym-1.2.2-cp310-cp310-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: posym-1.2.2-cp310-cp310-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 119.2 kB
- Tags: CPython 3.10, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f32ea1f5e8f72917c6e3214989b3ec197523867e3f6ff070310fbe1ae7e9267a |
|
MD5 | b63e6e54ebe902c1d082de57571cac6b |
|
BLAKE2b-256 | 70548fcd1a371c107a5f1a3a8abc69649350cc37bd89483eac92a142db0bd3c2 |
File details
Details for the file posym-1.2.2-cp310-cp310-musllinux_1_1_i686.whl
.
File metadata
- Download URL: posym-1.2.2-cp310-cp310-musllinux_1_1_i686.whl
- Upload date:
- Size: 113.2 kB
- Tags: CPython 3.10, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3b646a4438ed50dd882d5c79f08f99cad126b8608659444595581a907aa13f9 |
|
MD5 | 9793d326c2027511be655128df67c489 |
|
BLAKE2b-256 | f6cd2a5f11198729c6fc330d28d580bb2f2dcdc54ff9ef4f2b808d64b6daf3d0 |
File details
Details for the file posym-1.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: posym-1.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 179.2 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 493fdb00c4668748e804fea4c450aa3e8b39fc6fd631fa5d3877b443de7de1e4 |
|
MD5 | 150252dac36ed5fcf9468d646d9a2ca9 |
|
BLAKE2b-256 | b09aed0ad309cbc6444d64cdf3552d7eb2585d874ea528971493e7c5f901e654 |
File details
Details for the file posym-1.2.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: posym-1.2.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 178.5 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | feaadf2d8c802cc09c5ddebe9ad6a93b13d71a2b0cc77433dbed57634d6cdddf |
|
MD5 | 79f279d526cc02a2435736e5138a0f3a |
|
BLAKE2b-256 | 1a4f00f5a4b2d81df8a2484e986e3c086c36e6eecb5fc04801a81a8c12ef53ff |
File details
Details for the file posym-1.2.2-cp310-cp310-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: posym-1.2.2-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 66.8 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6fb0f126d5ea749758c803cd0856a6fb30bf0849286b6a1642fb06671fd1e29 |
|
MD5 | e27275137074e66c9c7a022e5feab1da |
|
BLAKE2b-256 | 832793a370403f74678a43fa8f5bced480fd7a12154bfcca911dec740c3bb272 |
File details
Details for the file posym-1.2.2-cp310-cp310-macosx_10_9_universal2.whl
.
File metadata
- Download URL: posym-1.2.2-cp310-cp310-macosx_10_9_universal2.whl
- Upload date:
- Size: 87.7 kB
- Tags: CPython 3.10, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c01ab99621f842c3fe84c83845cc655db1b85c317119fff91f359604e6ad05fa |
|
MD5 | c75a5e448839c334ea33d7718c9c1a82 |
|
BLAKE2b-256 | b26d0940c4082d2c61bc9b32cd02a0008b12a0203d628752d186590ae866ca27 |
File details
Details for the file posym-1.2.2-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: posym-1.2.2-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 67.4 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ce5e9a5f659387eecf9ca66da2e6ddb63e0f27601eb7bd639ce923d2d0962c6 |
|
MD5 | a17533e6df9d2e1c51d9ee9f472fd252 |
|
BLAKE2b-256 | fbfeca4e88e4ce299d9d0ea5c69e574cef0b29980c0960e4fcf0bf95ccaf03ef |
File details
Details for the file posym-1.2.2-cp39-cp39-win32.whl
.
File metadata
- Download URL: posym-1.2.2-cp39-cp39-win32.whl
- Upload date:
- Size: 62.9 kB
- Tags: CPython 3.9, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70cbe7e7804facaac84f7fcb6007374611caca58553b1507adcdd775d1d56f55 |
|
MD5 | 39b788297fdcb7b604fcbf759bcb3318 |
|
BLAKE2b-256 | 6beb2f9362768a2a17d00765d126c0c57a84fba9768ed76bfaa8e77aaed0e841 |
File details
Details for the file posym-1.2.2-cp39-cp39-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: posym-1.2.2-cp39-cp39-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 118.7 kB
- Tags: CPython 3.9, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 752d2b111cf8ee3117113e7130ba040b771880d3f05d223046b29d8a9329bd8f |
|
MD5 | efff7d2c6b8a42e6b08da45da8050309 |
|
BLAKE2b-256 | 95c3912114aaa3513e8948b15756576a1828f8e9c22b886ed1ada076f0709f22 |
File details
Details for the file posym-1.2.2-cp39-cp39-musllinux_1_1_i686.whl
.
File metadata
- Download URL: posym-1.2.2-cp39-cp39-musllinux_1_1_i686.whl
- Upload date:
- Size: 112.7 kB
- Tags: CPython 3.9, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f049f0307f21ff7fb6a7ebc1f09be9cdf87058b9fdf5ea57eedd1834a892b85 |
|
MD5 | ef74b89ddd634e7eb2c1e8e798b39015 |
|
BLAKE2b-256 | 465c153b157a5e02a0eec36b1de562e6c7d503b9a074b5ba72cfec1d601bec7b |
File details
Details for the file posym-1.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: posym-1.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 178.8 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01d94641a62e64e4d5723ba38be0828a574dcf6dc477f885940474f5ebfce3a2 |
|
MD5 | e61dcffe8c82d41f4c829a2fc627f744 |
|
BLAKE2b-256 | 339a10fb75e7cbee1a87d1c834c2a9e2978893bd31162ad5076f6b010f7c0cf1 |
File details
Details for the file posym-1.2.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: posym-1.2.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 178.2 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fee57145e99ea9a32b5403844cb6fac551b93dc560a876411915d6f410e88c66 |
|
MD5 | 64048e1227df6a9498fb22652947eeb4 |
|
BLAKE2b-256 | fda437539f0a04a600ebf8a1968bfcf85e6f30edec799fe3133c5bd37df8d3fa |
File details
Details for the file posym-1.2.2-cp39-cp39-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: posym-1.2.2-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 66.8 kB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a70b9d142194d02a708d5e9abaa12cb9106b566be6b950bc9a6cc94ff75cea9 |
|
MD5 | 866e06d8640e57d2f9f4df13d514c91f |
|
BLAKE2b-256 | d2dd6123ce28c9269deca8d3f2f66d503f8df59c3d85b54d5e29642ffef9268e |
File details
Details for the file posym-1.2.2-cp39-cp39-macosx_10_9_universal2.whl
.
File metadata
- Download URL: posym-1.2.2-cp39-cp39-macosx_10_9_universal2.whl
- Upload date:
- Size: 87.6 kB
- Tags: CPython 3.9, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98484eceb717fb7208e497b2b9c52907c953d2f1556eb10a3d2c3e2405d71b64 |
|
MD5 | fb0aa0a6e150faa0de81bc788034d6a1 |
|
BLAKE2b-256 | 2d8dd23e3a3e52d5a52fcd27ebb165069d074661d8df1a1286ee16c807c4c26e |
File details
Details for the file posym-1.2.2-cp38-cp38-win_amd64.whl
.
File metadata
- Download URL: posym-1.2.2-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 67.4 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4de909da5c0e7b6afb672d0f7300df98ddc4b7587af10086de8e61f4d3d401b9 |
|
MD5 | 0430463eb9cb68ef37405acef2af35dd |
|
BLAKE2b-256 | 9371dd87e65bbecc86a6ef6bfe925f01fcc7be987a48031adc850e30c9e6151d |
File details
Details for the file posym-1.2.2-cp38-cp38-win32.whl
.
File metadata
- Download URL: posym-1.2.2-cp38-cp38-win32.whl
- Upload date:
- Size: 62.9 kB
- Tags: CPython 3.8, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 200827e889c6826c8a9a46c0054e12adc2f8bddad12a787b1b7763e80cfe2481 |
|
MD5 | 9ae72a13e113af56805a2845146d2531 |
|
BLAKE2b-256 | 860b896868057b9f45e30bb886bec7a8646dd79dd3d8e61bd1163c2cb506f6c7 |
File details
Details for the file posym-1.2.2-cp38-cp38-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: posym-1.2.2-cp38-cp38-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 120.4 kB
- Tags: CPython 3.8, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | add2dcb47d9ceea08cd149d45c3163a7171efe4e0dc3a64a2525ffc7aa5cff0d |
|
MD5 | 3cde80dd1d1b36ada327a1083a240d42 |
|
BLAKE2b-256 | 604d2e64eae4b1259a365942096d98cac6fa426f75f0711f7a0b1d6f2239c7f6 |
File details
Details for the file posym-1.2.2-cp38-cp38-musllinux_1_1_i686.whl
.
File metadata
- Download URL: posym-1.2.2-cp38-cp38-musllinux_1_1_i686.whl
- Upload date:
- Size: 114.3 kB
- Tags: CPython 3.8, musllinux: musl 1.1+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07ccc8509be47790d21f10bb6d3b76b5e7daa4854b91d101cb105f02926a4e14 |
|
MD5 | ca9a09faa15ea9e959423dfec3a3f685 |
|
BLAKE2b-256 | c43439ce52638aaba901eb515056e38bb23506818b956f84524a8b9b3b99be61 |
File details
Details for the file posym-1.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: posym-1.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 180.0 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8687e683557ab852688bca6e477e3b1383e0e8115dcd98e9737a968fb3e2a0d6 |
|
MD5 | 2b91796563400dc15e1e33741a92c181 |
|
BLAKE2b-256 | 47f45313f1881404d024301a01ab632acee54b2ba0b50c1b1e4e12dbcf8e899c |
File details
Details for the file posym-1.2.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: posym-1.2.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 179.3 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16ad4008837e3978abd274cf073bfcf334c281ff08ce063981f50c78f71a4fa8 |
|
MD5 | 5043b82d112ed6dcfa4b1ca803d3bb4c |
|
BLAKE2b-256 | 1cd446c32494d7045211c86553212d2fdf03e0f382d5fde20570ab5a53dda0ca |
File details
Details for the file posym-1.2.2-cp38-cp38-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: posym-1.2.2-cp38-cp38-macosx_10_9_x86_64.whl
- Upload date:
- Size: 66.8 kB
- Tags: CPython 3.8, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b37fe6fe8b3002f36a3bbfbfbf430bb3deaa475f0fa6a86a271daf444949adff |
|
MD5 | a2ecf3b980ceff210f7bb0d928e8523c |
|
BLAKE2b-256 | 48e499ca7c3e868fc7cdf049f440239e56eaeefe61bfa1d54a3f176fe2505519 |