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

Supported Point Groups

'Cs', 'Ci', 'C{n}', 'C{n}v', 'C{n}h', 'D{n}', 'D{n}h', 'D{n}d', 'I', 'Ih', 'O', 'Oh', 'S{n}', 'T', 'Td', 'Th'

where '{n}' is any integer representing a number of rotations, e.g., 'C2v'.

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.3.0.tar.gz (52.3 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.3.0-cp311-cp311-win_amd64.whl (70.8 kB view details)

Uploaded CPython 3.11Windows x86-64

posym-1.3.0-cp311-cp311-win32.whl (66.6 kB view details)

Uploaded CPython 3.11Windows x86

posym-1.3.0-cp311-cp311-musllinux_1_1_x86_64.whl (121.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

posym-1.3.0-cp311-cp311-musllinux_1_1_i686.whl (115.7 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ i686

posym-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (178.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

posym-1.3.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (178.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

posym-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl (69.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

posym-1.3.0-cp311-cp311-macosx_10_9_universal2.whl (90.5 kB view details)

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

posym-1.3.0-cp310-cp310-win_amd64.whl (70.9 kB view details)

Uploaded CPython 3.10Windows x86-64

posym-1.3.0-cp310-cp310-win32.whl (66.6 kB view details)

Uploaded CPython 3.10Windows x86

posym-1.3.0-cp310-cp310-musllinux_1_1_x86_64.whl (119.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

posym-1.3.0-cp310-cp310-musllinux_1_1_i686.whl (113.7 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

posym-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (178.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

posym-1.3.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (178.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

posym-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl (69.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

posym-1.3.0-cp310-cp310-macosx_10_9_universal2.whl (90.5 kB view details)

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

posym-1.3.0-cp39-cp39-win_amd64.whl (70.8 kB view details)

Uploaded CPython 3.9Windows x86-64

posym-1.3.0-cp39-cp39-win32.whl (66.6 kB view details)

Uploaded CPython 3.9Windows x86

posym-1.3.0-cp39-cp39-musllinux_1_1_x86_64.whl (119.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

posym-1.3.0-cp39-cp39-musllinux_1_1_i686.whl (113.3 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

posym-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (178.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

posym-1.3.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (177.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

posym-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl (69.3 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

posym-1.3.0-cp39-cp39-macosx_10_9_universal2.whl (90.5 kB view details)

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

posym-1.3.0-cp38-cp38-win_amd64.whl (70.7 kB view details)

Uploaded CPython 3.8Windows x86-64

posym-1.3.0-cp38-cp38-win32.whl (66.4 kB view details)

Uploaded CPython 3.8Windows x86

posym-1.3.0-cp38-cp38-musllinux_1_1_x86_64.whl (122.9 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

posym-1.3.0-cp38-cp38-musllinux_1_1_i686.whl (116.9 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

posym-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (182.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

posym-1.3.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (181.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

posym-1.3.0-cp38-cp38-macosx_11_0_arm64.whl (67.5 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for posym-1.3.0.tar.gz
Algorithm Hash digest
SHA256 4b258477f8abf63d4a0898b1629c112a2372cb44aafd0489d78aaf1cc466f9ee
MD5 e2d2debbc2a5543e484165dc647b4c2f
BLAKE2b-256 593c64ab370889f5fb2c2d25f08b08cb3779f0208e43ebc011eec07c186a30c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 70.8 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.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a7152957c114c487f8042a26d597d088763aa1f396dd3c0d1314c9ca727354e7
MD5 614bff17e6758a3cb5ae3c8564e61ea3
BLAKE2b-256 4f964c90fa9a458dd01c6227fefaa82d1c80e688f17cc33eb1ee9e482024467f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 66.6 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.3.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 8140b578cc3e17b9275f4adfa57d9f1a64dbc117a21d21950d23b50265c8a8be
MD5 a2dc9f3b8a17d26c601ec8890e05e4b6
BLAKE2b-256 e8def60f1b19af86490aca04f8e53a7ec5aff2801d8ed78610cd85e04c9a5d26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 46ba383192fa8d694c6a4f03046f462b4b6a7197fe4d173f2beb79b4de5396c5
MD5 586d5cc6f309ddbe3efe8722206ec37f
BLAKE2b-256 6642822a1ac3b7ff253ce78b3fa977fddc98efe28d791f21f8aaf1a14d8b01c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 082119cde0626af9b13a043c6b656aab0658352569f42653507738c2ab33a09f
MD5 ac6ef52a087e31a6977f311e7ed42c22
BLAKE2b-256 3d32554d1996df5d772b975af0578c02a4059f059bf944e200263346d2ef3c0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 914fd5e922d56aa45ffc181f497edb3032ddad9c50eb5011bbb04143d10719fb
MD5 6fe55a52f2e64cd36bead76f8fcdc636
BLAKE2b-256 24dad2aaee605e9392a48c922b248ebd5d42bca5b574b6a43264f2707c3db9b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d7f0fdf1c752b81ff0368bc65e8ce4eb48f848f5a3a33972245564f46328039f
MD5 fd894efacea2594b813b524d3a1f8ab5
BLAKE2b-256 d9454da38332655787e541b1e69f70c360a9feb472d29a8b51a345ebb8831db4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8eb3241e17087fcaaaef8b9babde1765699c98b4b605c38730aa99e6bbf17d86
MD5 7a421e1b290aa68826ff8a7b1c07cd31
BLAKE2b-256 700dc68f3c30d2861212391acf4cedffd9c5089e899dce057df64ef6090e8499

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 763751d80348f0bb13e62a155277c7887d673dfd3adf66e5a6b753648b4d72b0
MD5 a576d8790f673267bc35dfbebf8564de
BLAKE2b-256 366a3db284b831577dd79c9d04aa4f89e10eaddebf121a964b2c77b7aaa56ee0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 70.9 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.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1add31979ac19fea5a8832a71c30f1b0917cb2a95a8c7a70cc46ecb47f520579
MD5 60e10f6577c98ad83d5fad17184022e6
BLAKE2b-256 7642de5ef6c09d1469c73ecca5b19c060d0036578944a97b83a938efd375094f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 66.6 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.3.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 5fd5b00a88998fa4ccf0bc8249788992f377b2f0a5bd7d08e3979b5e98c5f217
MD5 d408e38c52ef446ddc8a2ba995d0e5cb
BLAKE2b-256 accafef8e0ce0339ef47749d96845230d193257af88aba02232813c138742888

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d6f5e922e4f35bbd3da95ea96499855e0b2d08ba5ecbfa8a80a8d030695f38e8
MD5 8f35089c9fdbb63081fb240451bbaae3
BLAKE2b-256 802cc6058eb11380601cd7d6e83843b644f5944b9d95877358290cf7071221da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 0c22c5b0ddc7c5e7a0d8f03dac8e4ef66ec982e01fe4d5584a910d56333c7407
MD5 33c60351c4f7a13b82b56cb13b7469eb
BLAKE2b-256 b541c18e9cc152be0d543eef954c104961a09ba3a47af1fe5230520e95db18f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 12e6a3fe67c792c0b0f4437f01c9e0166539874f78c5282bf62eea777c28c86e
MD5 9bb39e3ed9b88f7beedee09dc2adb0da
BLAKE2b-256 0b008d4553ce4073264f59dea6fa731fd0cc01fb5240c270be2274fe32bc0127

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8fbff42f5890df1e81abfe9a432b29f976dea47dfe83d945853c2c019b23953b
MD5 bf81e85b5bbb86576d5f409fb61feddd
BLAKE2b-256 c3b44546e3b7fbdc01954ce2216f7d13863759250caefa54011d3436626ac1c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2b55320c510d57d87af23d2cffdb2f1be736cf98703a037a8d8c0cd0b147f6b6
MD5 8a1a0c8b7fc4618bc709301a8796a21b
BLAKE2b-256 90af5fbd7b1276ae968eaae2388da07660f9e4f8353b628b5382c128cdab0d06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 cb7579d9ed41126865d37923737e34621370dc53725ee7f7f538f5a8600209dd
MD5 7cf625af014447e92bb59484679d997d
BLAKE2b-256 3d5d1b51f69e57219e891a0a6fac52a203678e372d692d505d70b1ed9c0e767b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 70.8 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.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7821a5293a657591c26dd3cf06c11d26293401c25a87f8512a8a95628d54668f
MD5 86ef85762f7b4cc22b1357f2e75ea84d
BLAKE2b-256 055a9e753d48fa6481311d2b0702a9d022266b64dbaca697294cc33d672b4744

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 66.6 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.3.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 6e6a73d4b340dccf22e6779467851255ef73aa9448c44d14c7f6ee5ed1cc9a8e
MD5 dfb9610a17f553b62c8be9722e3a9b76
BLAKE2b-256 1a3185ae7173b17f7b2c7a12d9b6fc443076fbabbaa6de8634aa2967f8ac5d55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 393fdaa0e6d46216fc895d95fcaa1e2f8c1b0f7d1bb438b8c2fec64ab8ca4370
MD5 75df4a91407a9101c7de9b55424f46dc
BLAKE2b-256 73d88b669ecc2b321fc64ed4dc421adef3ad0141fc269810c0bf04fff2ac7f3c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.0-cp39-cp39-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 113.3 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.3.0-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 7c26f999fe77412e39dbb262d1b0aa65b42b2c8621a4682acd5fe2da40b3dd7c
MD5 ce5322e200003c48050b415ea2af27eb
BLAKE2b-256 38c0d4412786ccebeaaaf17cc1743c6e026156ceb02fce2362f38d9ab833c247

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4467d1f480eff39f1d22ce813bf354759f11e22a6faea82cb1ba60eeaa5fd9e4
MD5 f03204f107e09969849cb1af939a048f
BLAKE2b-256 43da21d99d2652268b7c2fea9249c64c91f17b6d20ad6ef651a68b6d3b420556

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5333803e3b513e2e65638a3f9c9c436d11406f7f6d967a07d6fbb3fb7a5e6181
MD5 261888c21c621e5054c6697fd40666ab
BLAKE2b-256 f730e550d19d9ddb8819959e5fc9010479f435ceebf1e3c5d37c84141bef9065

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2816156e01b961545f1735424df73c2e3254241aeccf5fb51ea025d917e0cf2e
MD5 86a0d5e1d6c24e3e28704c9dcf7ca107
BLAKE2b-256 3cd33fb4a31fdc6bb6d9fd71899a52dbfc16127dd7482d6355db0ce4a759b42e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.0-cp39-cp39-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 90.5 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.3.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 bf1086942185ec12cf2d15eb816a9ef18f48ef0cdfaeabe573e7e3eeb9b451a3
MD5 d3b047f79744c99d769e507592c10280
BLAKE2b-256 ae7e593a74ac86feb225df834b2d2aa7c01288d27e996700dd68ecaa61226b5f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 70.7 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.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2fd92202956e1090187865e9e9f1282f8f17cc699c443d9901ca88427b60c12b
MD5 70c18b4c88cce74fd3fcfa3c41e71ba2
BLAKE2b-256 c4af4eec242cdad5521a5476d115bd713f65d9c91a5573b6f1485fe60dca426c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 66.4 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.3.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 cf10c0986f8c94fa283aaa3ef5508dacf43584f644f21555520fd2840728df12
MD5 c30eb71bbdc0fc4479351a752cb2d7c4
BLAKE2b-256 031ef1c5e461f1895d4a38ac0d7963dcaa38ce79fd03f85f033f929b4a911343

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 00cacfd914441345e6bda0c06bfcf5ee6d0632a21ef6e400e35c4c10e52ee3ae
MD5 b9b3aecba4f15ce2b8ca1d204097d1e6
BLAKE2b-256 258dfd8e94d663047f0416ab2a0114543d42e11644ebec2f7db05573d43f4426

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.0-cp38-cp38-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 116.9 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.3.0-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 04d6f73173237a457e78ea11e74236b1e34d5e06c4da4f76101856cc85b7e528
MD5 c86786f0885b196a53422d63f2ddfd50
BLAKE2b-256 2dd9d769ceaa74d5cb7749833b574962ec124a34167ccf5d4ecab31f5fff6fbf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2824d0dd17b983b131a02c020104a21310225453b2b9dfa37d54ea11c8efebaa
MD5 7b90d605bfcb954959dec90cad69d96e
BLAKE2b-256 36f7a5cb1cfb40e5727b3e789b2e6bae7787ccedbd06451357ff1bb751f15567

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 5f630963517bbc1de37b5f9eb988a23c8d0a8135f9f33805348785d34b1f77dc
MD5 830951840a4c9b18b130edd8c03d0f88
BLAKE2b-256 f61af578c6578061e899e128cb155b6b9188502f599037947f8509578b9b2d10

See more details on using hashes here.

File details

Details for the file posym-1.3.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for posym-1.3.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dfef15e1810d02ac5b6813a390338f3286287d786bd91aa6aa2f0cffe91c84f2
MD5 39e8f97673d35ac3693ecc2054fc1c85
BLAKE2b-256 d360f88d6377131c1978caea6f4be745f692b48625c1e36d0bb157c1aa743e74

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