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.1.tar.gz (52.4 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.1-cp311-cp311-win_amd64.whl (71.0 kB view details)

Uploaded CPython 3.11Windows x86-64

posym-1.3.1-cp311-cp311-win32.whl (66.7 kB view details)

Uploaded CPython 3.11Windows x86

posym-1.3.1-cp311-cp311-musllinux_1_1_x86_64.whl (122.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

posym-1.3.1-cp311-cp311-musllinux_1_1_i686.whl (116.0 kB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ i686

posym-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (179.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

posym-1.3.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (178.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

posym-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl (69.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

posym-1.3.1-cp311-cp311-macosx_10_9_universal2.whl (90.8 kB view details)

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

posym-1.3.1-cp310-cp310-win_amd64.whl (71.0 kB view details)

Uploaded CPython 3.10Windows x86-64

posym-1.3.1-cp310-cp310-win32.whl (66.7 kB view details)

Uploaded CPython 3.10Windows x86

posym-1.3.1-cp310-cp310-musllinux_1_1_x86_64.whl (120.1 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

posym-1.3.1-cp310-cp310-musllinux_1_1_i686.whl (114.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ i686

posym-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (179.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

posym-1.3.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (178.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

posym-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl (69.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

posym-1.3.1-cp310-cp310-macosx_10_9_universal2.whl (90.8 kB view details)

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

posym-1.3.1-cp39-cp39-win_amd64.whl (71.0 kB view details)

Uploaded CPython 3.9Windows x86-64

posym-1.3.1-cp39-cp39-win32.whl (66.7 kB view details)

Uploaded CPython 3.9Windows x86

posym-1.3.1-cp39-cp39-musllinux_1_1_x86_64.whl (119.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

posym-1.3.1-cp39-cp39-musllinux_1_1_i686.whl (113.6 kB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ i686

posym-1.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (178.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

posym-1.3.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (177.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

posym-1.3.1-cp39-cp39-macosx_10_9_x86_64.whl (69.5 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

posym-1.3.1-cp39-cp39-macosx_10_9_universal2.whl (90.8 kB view details)

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

posym-1.3.1-cp38-cp38-win_amd64.whl (70.8 kB view details)

Uploaded CPython 3.8Windows x86-64

posym-1.3.1-cp38-cp38-win32.whl (66.5 kB view details)

Uploaded CPython 3.8Windows x86

posym-1.3.1-cp38-cp38-musllinux_1_1_x86_64.whl (123.3 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

posym-1.3.1-cp38-cp38-musllinux_1_1_i686.whl (117.3 kB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ i686

posym-1.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (182.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

posym-1.3.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (182.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

posym-1.3.1-cp38-cp38-macosx_11_0_arm64.whl (67.7 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: posym-1.3.1.tar.gz
  • Upload date:
  • Size: 52.4 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.1.tar.gz
Algorithm Hash digest
SHA256 821105860914c85f42878041a739af069fe442feb1ca6ddc5327664933d13e96
MD5 dea8bc2335cca73596e72bb4cac92b72
BLAKE2b-256 9064feeddec88cf4c16c3e646af2e46d3e5dbd44751fdc60c33648f4af90c74c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 71.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.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0a856e97b9ccd7bc21c09c13da780a113089f69f7bff27cbf9299e09dc815016
MD5 8d7e9eef98ea6cb3647f036dfdf5f382
BLAKE2b-256 855672b72e147d32d888b7aefa513d80202c5a87be3d54216ed9d3b65b4713f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 66.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.3.1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 d68f1f6de9a7bbd7848f1da8c8bcb088cf1e01dcd6f5ce176554371d58f23479
MD5 b6c8ae4232690f970ba17f92b410670c
BLAKE2b-256 77edfadd7d4d7b78f516878552cc2401724f31f9844bef4ecdfe45e0e76158dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b5a4ccf3e623c109d548b2d1c72ffff51ae235b38836b8c2ef4f776bd9c1eff3
MD5 715623b058bb11c1bb6822d646b1e8f1
BLAKE2b-256 c6bff3b26dca7b2256287ee3c0fa54bdd13c49bf77a971f933602961db0950f3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 be7d1e222651724d049027281045d94c42408a13907e1885e7d6113185952a8e
MD5 528894180c26ab8ef004c0ef646d3fb9
BLAKE2b-256 189b0124553a934df0023c95731a0a24cec6ac4400ceb2439d0b10e910514c2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 42a3459a07ae1d8c00c5c2a1f4d876fe5cc85ae83f017a1bf1668f0a620830a8
MD5 9728faafff21433c0af9e69922ff0ff1
BLAKE2b-256 333d3a1e07588f267e347e84c17b589ae182f8a36507708952bdd7e80b0811e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f115b622bcfab9239da8bd1a5374f6da92507eb9f8fa0fe3a60c34f81d2aa27b
MD5 11f3dc8c9c8fdededdb72fede1efd637
BLAKE2b-256 9c242fd5bcb173b6e58313e7f9b6315c571e36520a9926ac742c7033c3226a00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6c215fd344001ffa076f0f17b1178d24c8e7e770ebd792dbdd19c3be6f1c3f4e
MD5 80e203325c1521b69fda1459daa7487c
BLAKE2b-256 1b7f1c4adb8bd20cd985c0f0a185fb2d281868e479c7479cbf29022703b3aff1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c4882126fc5c80aa8329d72ae497562a50f868ec9e2db2f24a988b69aac61903
MD5 5256e8c1dd22853ccf1c96d37db89bb8
BLAKE2b-256 38cc954773f614e1b9496feb7329bf8795695e54beea9a59cf537db8aedc4eb6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 71.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.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 08cec4567027070480eaa2321187650b12ef43174f6b291449bfd7d2d9ce0d5e
MD5 750a4fd2ccc5ba78b64d47d84eec88c9
BLAKE2b-256 3c5592af6d3a1412fbdd682e4def3e0aabea41b1a8704bf65272a3aff22f0c19

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 66.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.3.1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 3c6c0bb7c178328180eddf6cc38919a4b78507dedbe565a2380b6fb954656131
MD5 faea50ff8d98436aad154715ec3cf446
BLAKE2b-256 b395b0cbca61b95d0c0471b0635df2c74054fdce49cca9b110ee648ff02ae83a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 4a01d5c63d91defddc58dda6796bcdc5b4c024d7457bf25bdc7ebb5d916cf494
MD5 b6e212fb80b9ca0b70eaed83672133f4
BLAKE2b-256 3cbeb725ba40c84a24240292bb428a5aad48c25a7b13168424b8de00374bb3d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp310-cp310-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 e5d74d1efb06feecbae3e695ed8f6c48c155105f577936fe9b05ae26a24095e6
MD5 879fee9a1a1e83cabf1ea7ac3108649d
BLAKE2b-256 828ac2132844dca73b6b09c89074d40d09c4fe7c8aaa2fc738f53c31cfff9d26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 de222b7c31f1568dff3b4eb4c99cf7020433cf506939a8a635ee0c600129fb4f
MD5 17c62e0d781664eada089926841adf4d
BLAKE2b-256 7fb999382d0d5207f6f2d5c815e0f4fbf08613a11f36515d425954c17c6eadb8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3dc978b9d17b1e5424846cbc49c00322078bcaaff034dd10cdb936d87bb6e7a7
MD5 c201306ff6fe13baaff5d065d4e1bc2f
BLAKE2b-256 d70e1b668bf6744e1dd9bdbd84ede61a886cc3ee89498581da2bd279a12d7865

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 53830dac709b28f92b34ac7bc5991abb21195388fcdc433a8e36db55d537c82f
MD5 efabcfd4851bb1cd76abb147ee100164
BLAKE2b-256 c2c6967609f01f9de0e47f9a378a070c9adf2d9c1c594f4a3999ec609c798097

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 27af7fa015ab7120468216446a656450db1f0a3d27851c25383531ddf7f221a3
MD5 0dd279c31e191182adfbbdbb9f0b373c
BLAKE2b-256 084df46a2e25dca4a5dc94a6e4060b8489191152c95c5676a3af1daea9ba12d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 71.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.3.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e0f07879e335181e72e418bd8dc559bbdb040ecac317bed85125c0d97e2e8efa
MD5 15a58e0a95617628b1bf12c73d267c73
BLAKE2b-256 fb029e7ddbfabd391a159ca3ce25c51fa28b7d1e0afea22e52cbacbf56b2a289

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 66.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.3.1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 f96f9470fe201345d8bad0de32806d58faf64c0a50d01bb506f40e8e41c92ddf
MD5 3aeeb050547ebeb2ee19ab2528b3c9a8
BLAKE2b-256 6e6e0d40b53238b121e74196a903b17efe42d88f9a65cdd29769e508a8b83834

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 adaaabc363fa07ca52b7fe8e48dbb4ecc3a7060bf1196fba41bca0da9673e38f
MD5 7864d032375aa664e0c7aa16235946b0
BLAKE2b-256 0d66c46bdd18ff780c5bdaf8cd639ba3877dc925da83780c31164cdb8d6b4800

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.1-cp39-cp39-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 113.6 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.1-cp39-cp39-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 fad5ecd252987913ad09a1ca329e08fc2b253ebb2597a7147e994dd0d44205c7
MD5 f85b835104fabd10edef1bdf197910d3
BLAKE2b-256 a969bfbeb699661b0f931a14a433206167a0ed214997fc9cddae2c16517776d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8560c56cacc628c65c3f8c799a9a0e8579acf70fe4625df126f289692c3bbd7b
MD5 72bd868e41acca4b8416940e71a96c45
BLAKE2b-256 4e086891b97814fd698bf9d2f0d401d9a860aa0079980458466203fa8174ba98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 64c075628d1763bbc866fac3e4bd27d898c22aa93950e92252cc3c85437ccc66
MD5 1c79e0b56ab6424aaed81bc629e3605a
BLAKE2b-256 b52bc1ddc52899577e2246342a17aff6881de239e91e2676c6e25c0c73eb7e30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8c8a179cf2c24e7c9f66f06b7719a6e3d21728741a90c1f4d20c030d83aafe83
MD5 32b877f634a043c58f238fe72cb5b555
BLAKE2b-256 73e986ebde632ba4267d73c90cb33634d61b6fe437b066f99b403311e9ae590e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.1-cp39-cp39-macosx_10_9_universal2.whl
  • Upload date:
  • Size: 90.8 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.1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 0c31d5ab8b4224bf549b3d56c504acc9f5e25b6d11f824c8b8f8bc3224ebdb2c
MD5 8fb765573ee88716306da1c2ee2f6184
BLAKE2b-256 c98ee79ab1577fe3c746032034207b45f0a519b8b8c9bfb436e41105d3656dac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 70.8 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.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 bb620825360e321359e746dc25e87a927d76f98a45de26c1e964cb9a2b9bbc85
MD5 121388f91c2930ad89e5b99c4c7b8fcc
BLAKE2b-256 147190db970c02f23024396015bfc6fcd1797ce3ce7881e753cdc5fb4e2a4968

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 66.5 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.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 7597965546fbe661229655aa687a7585574bb36153670d4cc7a13fcaa38be0eb
MD5 91622fb32ddecc92f2bd4c7424b12fa6
BLAKE2b-256 1540324532f1fe92f01bbf2cb06e13f371811ca1910ec895481d84be1fc5b654

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 8a3ecee4e174a510ea56d40aaa3b14b90cd9d2e63a46e9122c92f1cae38b830f
MD5 2058ffc04edb2202639cc0bdcda5fb3a
BLAKE2b-256 76c10c7f9e15c8caaa8c9fed1b7cc8f9bd70f083cd0a5310da5817f758fb41cf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: posym-1.3.1-cp38-cp38-musllinux_1_1_i686.whl
  • Upload date:
  • Size: 117.3 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.1-cp38-cp38-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 0cee115d618824edc39edd6354f9b3ad3aaa94634c8d8f1622b3089af753d0de
MD5 ac3557b66c42b7b5f3e848ee522a6fbd
BLAKE2b-256 c6a759cfa6e1a8a10327f8934a114b369f2e09ff25ffca387acc258e7685e13b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bb4c72c9569fb4fa5462f65aa8dc7090ad2b77af6086fcff54fad4066c7a468e
MD5 c39539d0b75776b17a4881a82d289e99
BLAKE2b-256 7223cf98418956d470300415ec5b55cda43ae1ca703fdf0544a578efe3cd0fc2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 19897bc22159848a8c2df9b6218cfbe047feb322076164bcb138ea041172617c
MD5 b8c244d12b857a5bf3affe78ee231204
BLAKE2b-256 f6fd04be737294472f4f04298e4dd0fa186487e088570cbee1752d1892405690

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for posym-1.3.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3de03174f2e6587210dc3357c453618b801aaf19cedc2a5d16c824211ef38d90
MD5 a8ba0175ac35b455f3d87f1cd9b7442c
BLAKE2b-256 04881dc94758c5bd4fecc52d77761a79b15243dbd5e66eacd8ddffb84151386b

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