Skip to main content

posym module

Project description

Open In Colab PyPI version Test and Deploy DOI

Logo 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-configurational 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

posym-1.2.5.tar.gz (51.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

posym-1.2.5-cp311-cp311-win_amd64.whl (70.0 kB view details)

Uploaded CPython 3.11Windows x86-64

posym-1.2.5-cp311-cp311-win32.whl (65.7 kB view details)

Uploaded CPython 3.11Windows x86

posym-1.2.5-cp311-cp311-musllinux_1_1_x86_64.whl (120.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

posym-1.2.5-cp311-cp311-musllinux_1_1_i686.whl (114.6 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ i686

posym-1.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (177.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

posym-1.2.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (177.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

posym-1.2.5-cp311-cp311-macosx_10_9_x86_64.whl (68.6 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

posym-1.2.5-cp311-cp311-macosx_10_9_universal2.whl (89.9 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

posym-1.2.5-cp310-cp310-win_amd64.whl (70.0 kB view details)

Uploaded CPython 3.10Windows x86-64

posym-1.2.5-cp310-cp310-win32.whl (65.7 kB view details)

Uploaded CPython 3.10Windows x86

posym-1.2.5-cp310-cp310-musllinux_1_1_x86_64.whl (118.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

posym-1.2.5-cp310-cp310-musllinux_1_1_i686.whl (112.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

posym-1.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (177.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

posym-1.2.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (176.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

posym-1.2.5-cp310-cp310-macosx_10_9_x86_64.whl (68.6 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

posym-1.2.5-cp310-cp310-macosx_10_9_universal2.whl (89.9 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

posym-1.2.5-cp39-cp39-win_amd64.whl (70.0 kB view details)

Uploaded CPython 3.9Windows x86-64

posym-1.2.5-cp39-cp39-win32.whl (65.7 kB view details)

Uploaded CPython 3.9Windows x86

posym-1.2.5-cp39-cp39-musllinux_1_1_x86_64.whl (118.2 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

posym-1.2.5-cp39-cp39-musllinux_1_1_i686.whl (112.2 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

posym-1.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (177.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

posym-1.2.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (176.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

posym-1.2.5-cp39-cp39-macosx_10_9_x86_64.whl (68.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

posym-1.2.5-cp39-cp39-macosx_10_9_universal2.whl (89.9 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

posym-1.2.5-cp38-cp38-win_amd64.whl (69.9 kB view details)

Uploaded CPython 3.8Windows x86-64

posym-1.2.5-cp38-cp38-win32.whl (65.6 kB view details)

Uploaded CPython 3.8Windows x86

posym-1.2.5-cp38-cp38-musllinux_1_1_x86_64.whl (122.1 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

posym-1.2.5-cp38-cp38-musllinux_1_1_i686.whl (116.0 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

posym-1.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (181.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

posym-1.2.5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (180.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

posym-1.2.5-cp38-cp38-macosx_10_9_x86_64.whl (68.4 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file posym-1.2.5.tar.gz.

File metadata

  • Download URL: posym-1.2.5.tar.gz
  • Upload date:
  • Size: 51.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for posym-1.2.5.tar.gz
Algorithm Hash digest
SHA256 14e5361a370eb8edbb9659362c2417fea9d496f75624238717b69b68cd22f5b1
MD5 b677e6f8bbd7d7ee8fa4ccd2c83f27f1
BLAKE2b-256 262214dca03b4ec9ab309e1d5fcbec2fef7048c0e8b699c81dd893346f966a53

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: posym-1.2.5-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 70.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for posym-1.2.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ca4bb22694e7a4fcb0c2c6fcc5117ea601a5c9bfd267f7970629665ad418fb31
MD5 6b953359d42dbce4c96a3fcc323d23ce
BLAKE2b-256 95d8cc81b7bc4324a102a196441af986ff5d5d933c18f3ebbfb2314512b028b0

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp311-cp311-win32.whl.

File metadata

  • Download URL: posym-1.2.5-cp311-cp311-win32.whl
  • Upload date:
  • Size: 65.7 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for posym-1.2.5-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 5e13903d786b150c86f29c674cb545a8755fef53a1251d6a6aec650b08e467fd
MD5 231279cf14478b246ff74a3b537ccf21
BLAKE2b-256 65cb9c1183bdf58fa1638b58849c337be10cfacd2813504c47346158792e03f1

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ccbebc8804fb1a59a63739b8ab59f7ac8b3bafeedb756f52bcaf52ab2892bd33
MD5 486544f2bd2c598cc2422baee80563df
BLAKE2b-256 a86a2fc1cd139a517d52989e97622735c0bf3845b3ae9af55b4f372ad57d9ee2

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 8e888c508b22ec89b5e998ec84c0d930a909d5011c805f8f8a697ed411b7dcbe
MD5 16caf9d87ea9adffe06ef208e7f269db
BLAKE2b-256 01365073471d0993a9019686e4e6a76c0b75dde31ed9832738befb6830310e40

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ae89cac2bff30b60c19b000be9f5f59516e5738e45fc100344680372786c1b11
MD5 fb61af309f2d817a3d8e5ffa7d58c883
BLAKE2b-256 b0778d370fea85ac00a4a0fe66389947eee795bb4edfe296dbf78d3f5ae27df0

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6b5653dbb6f7e274052a12d200bd3d5906d30dc60043bf66c0862dab70adae90
MD5 50c99ea7461ce668f431825f97130e1f
BLAKE2b-256 068abcb1da7ef4866e88f91bbe815a80e3dd84b59bee8c2b5d2776dd0649d0fa

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d8edd18c8d6b878ceda80029b3ba3bca16112e265c38453a5670c5f425c9121b
MD5 65bb17995acd2b40a2b6da2a94f058d2
BLAKE2b-256 3d77d4d2c05f7faa7aa5571c005478832fb9f2c77a9e32fda28caf6d238fe989

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0b5df9cdb0147e5fe3d7df453df4e056563d93f413ff143b6e1faf9470600b88
MD5 5061c7b684139ea5b643f3c786ebcc01
BLAKE2b-256 7577e5ef72468bea21eadce6e10ce88525f328545e74cf64720680de3cdedb9a

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: posym-1.2.5-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 70.0 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for posym-1.2.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ca86be0c0dc178444cf5a107802fd2ab047545b109796f7a67737588282bdce1
MD5 561e42cf48ba1600752d6d5f2f6e3a32
BLAKE2b-256 64015d194713314db007c4923a39bd116f884ef76ed131c6c8528b35b6ec9613

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp310-cp310-win32.whl.

File metadata

  • Download URL: posym-1.2.5-cp310-cp310-win32.whl
  • Upload date:
  • Size: 65.7 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for posym-1.2.5-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 08adc26d38478548586904269b4f3c5d7e4ae572adfca88f2c539ce8d0414688
MD5 3af61781b92eadb8221da1024b8ab5c5
BLAKE2b-256 93044ddbeaf95d2225b37de9770a86975fa963701a55d6de87854e3f86e493a3

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8312940c269787eaa9c270fd6e6fac04a55f5587ef63d3bc17a908642b4ea64e
MD5 2ea81753b233daedbb7d678743da1456
BLAKE2b-256 7a1f09630f2144ad2799ea6d002eb3741dc567b37e75ab6ef7cde595617b8dd3

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp310-cp310-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 2022a4e3b2cb4e48cf976188ce8b4d87af5895456b2926a0e17a54851db4a692
MD5 df4de71f3dcc8eff7247253367eaf535
BLAKE2b-256 2568a077a76e5af944a6d3826b2d089ac8e3f209ebc681fc85dc64c48234fb94

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1babca7645ad66e8b10fe1c28828073f9feb5d3e989f16ee7ae3acda9c5f4aed
MD5 d8ef2225604f81d9d39fdb62ab3eeb6d
BLAKE2b-256 5f2375cbd5bc5204e29c4a7bc898998655ba2e71db42c6c742735b61c21b6729

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 336880dd7a8418f3b5c95709deb59459e00a2eaef3625db42618dca4e368cd7b
MD5 945aa860310baf270da7e99dd4702e93
BLAKE2b-256 232eaf0fb5252711ae93a48693c17b677ba5cfdf9c46db8361f190e58c657d6a

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e904420cfcb1087fd8e8a3f55f63a13b05f28c3b508e7e5bc5fc4ab44f2d7c1f
MD5 5a20a7cfd8216fc091a7369c37909975
BLAKE2b-256 a67aaecaf0259e0db1224bbe16acbcea48643d33793a8bed1e7f3552b55d8863

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e208c98f5ceea47d7af8aaa5d8ddc0ee51c0e8f6a93c1bbdfc717c50a3ea5257
MD5 f719c447374de857460dbd685a017198
BLAKE2b-256 f5d98a8aafd14b0854a8c9b09b0d4534acf40e9bea1fdb904d2070d263030999

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: posym-1.2.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 70.0 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for posym-1.2.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3e417bc726150d82521776c738bb822a69f9e1981d900084fc6965e7cd540c39
MD5 81d75ac4195cc9fdcbe73758ee62eec5
BLAKE2b-256 6908b384836f59c46427deebbefd9a7f67b5391b5cb5349df54a723a3651442c

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp39-cp39-win32.whl.

File metadata

  • Download URL: posym-1.2.5-cp39-cp39-win32.whl
  • Upload date:
  • Size: 65.7 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for posym-1.2.5-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 71aa1c44fff74789f9c54c17e8741c8af838d481d47ee2c97bcbb616ba1804b7
MD5 8313028f015184993763ea7a1fd6f334
BLAKE2b-256 b4ff463b64a61e88458275c33420b21a1f9caa439a3ee7305161256195e7b7c7

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 752e1e68a7f081a3fdcd35bf584379b624416d5c33fe21c244776463851cfe59
MD5 d0fbd3a7861779e64f08c5be627a2e64
BLAKE2b-256 bd0ace702084507ebdf24fcdb28e7216e03ce0e0a1be625b3b45e8bfe452547f

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp39-cp39-musllinux_1_1_i686.whl.

File metadata

  • Download URL: posym-1.2.5-cp39-cp39-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 112.2 kB
  • Tags: CPython 3.9, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for posym-1.2.5-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 2ebe0c005dcb2e56310548bf211081b69ebb5ecc1adbea88a809a5992a0e1f20
MD5 ab19eb32f213ad3808b4a164ef778fe7
BLAKE2b-256 e0da2b9fd36bf271eeda30c758e282eb8e968d25204b5e4ed2bdf89e84664496

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e54e0aaa09b045d688a61200cc0acd497dd6bff24f73717bf1287dd6aca3e47
MD5 1538b64a5b0409b9877df255dcd5172d
BLAKE2b-256 9ca55f2cbdda358326adbe359db7a3b1cdc2851ece2f52b6d69c53b6c32b4684

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f7444f9b0b8024e2a49d6d552beb331bb853786e718f0620cd70ff1842d0d3aa
MD5 e5dba33cf04b4d8e437ace01f354b435
BLAKE2b-256 c6b7fb633392fc844e1995e2725b97b9d310103fbb5222ae78c7c4a5e1979da7

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 59460cf528b0058d7514dd9daf1d4c87d6871c59c4c70f5164aa483e50fb16e7
MD5 e3df1adc029847b6fb9b22bd8800911e
BLAKE2b-256 9032613bca74c00c8a1d4ff8a9508c6dc8ecd9c2676c4afa88ea08f9e06eb251

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

  • Download URL: posym-1.2.5-cp39-cp39-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 89.9 kB
  • Tags: CPython 3.9, macOS 10.9+ universal2 (ARM64, x86-64)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for posym-1.2.5-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 5769e81e4f040fcfe754d70d133cbdd25181ee7b67ab26e508a4e99a24300db4
MD5 d45d5adee64fe0528800ca7ecee27c9c
BLAKE2b-256 925609678f64098d359eac622dc39e8a3c9e27e41a70f3a817c9204bdf0c9db2

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: posym-1.2.5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 69.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for posym-1.2.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 cd4b51ced73dff0960f282e3e6595c4080fd0506d6ab504f4284bdcd462a8be9
MD5 3c493e30b2f02fb1051dcf46c7f34839
BLAKE2b-256 598dec0e17c4d0709895cb6eb43b21cfc5cbf388b5428508a4dac34593c7378f

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp38-cp38-win32.whl.

File metadata

  • Download URL: posym-1.2.5-cp38-cp38-win32.whl
  • Upload date:
  • Size: 65.6 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for posym-1.2.5-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 5107373828eddc74f0a3c4ec91afe6a8d28de397f08e35a534eff88373d43dd6
MD5 736d78adb427fab03555de2dba462e74
BLAKE2b-256 156bdd05c123c4bafcd8bc925b59628000c90cf67753772603673a5ccc173eb4

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d0a23758b0c430430d5f4c089b758d7682e667864f59ab4f5d881fa78170bb93
MD5 d64a2054fb4a4c41a243d6fe961136cc
BLAKE2b-256 238b4f699eea90266919c2f201325a018887ffd7be29ed087aaf8aaf43f782a7

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp38-cp38-musllinux_1_1_i686.whl.

File metadata

  • Download URL: posym-1.2.5-cp38-cp38-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 116.0 kB
  • Tags: CPython 3.8, musllinux: musl 1.1+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for posym-1.2.5-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 cd66164910eb883094c495beb24e4754e771311105923a4e05302564a0f5f7c5
MD5 d8b338212fb2c06f278dd54e3630c757
BLAKE2b-256 1fc7dcb3b92c1cd2eca84c341cfcecdaf936b8e2e5289402d13e6edb68bfb987

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aaf2ccd1c4be96ba5c408f96da320e3dbb125ccb7d4103d88eeb9f0b4a799e77
MD5 46d0134412dcea5746558bb762316d09
BLAKE2b-256 8581a09c7bfaa3223f9f54ba00bfce6d1048d7dbfeee4a61cddd06e042ec29e9

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a111b64f1ba80d46ad8310409b931b2ed2eee128d5d78e37d480c69937f41938
MD5 4a5cf13ad8fa342b2602059f900c63fb
BLAKE2b-256 1cd555fd255b483d54d78f8d43048b44b5211cafc0db5ad424a67b37c0d59ad5

See more details on using hashes here.

File details

Details for the file posym-1.2.5-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for posym-1.2.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8a46955f1f086e8f2b50b497f3300c5c63515cd31d3883f64817bc9317d6bae0
MD5 9190b34dbc240e1477cf6d21e10e0a2c
BLAKE2b-256 6f571bfd644afd916e3f23c4ca345339cd94a698adea09fd12a39f3726d1fdbd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page