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.
Online manual: https://posym.readthedocs.io/
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
SymmetryObjectmain 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
Donostia International Physics Center (DIPC)
Donostia, Euskadi (Spain)
Metadata
Release files for posym 1.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| posym-1.3.2.tar.gz | 56.3 kB | Details |
Built distributions (wheels)
Total release size: 3.7 MB
Release files / posym-1.3.2.tar.gz
| Download URL | posym-1.3.2.tar.gz |
|---|---|
| Size | 56.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7adad0f2775a791da9185628a86cc2b57c02e0c671e8d9bace50b56912fbabf5
|
|
BLAKE2b-256 checksum How to use checksums |
0f02373a1999faca71f269b2c5092cf8d2e9bec197417d46770f3694d7a9d6b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp311-cp311-win_amd64.whl
| Download URL | posym-1.3.2-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 75.7 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8befe82ce75b0d0f3e1137f827d0601b851613fdf4e1f9cda9dc45cfe3312a93
|
|
BLAKE2b-256 checksum How to use checksums |
d830ddefa05f8df5bc5a85eff2ad3fff6032ad77afa39c1a99d1028e212a7ebb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp311-cp311-win32.whl
| Download URL | posym-1.3.2-cp311-cp311-win32.whl |
|---|---|
| Size | 71.4 kB |
| Tags | CPython 3.11 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
5f8d02687649fb534a58550b5bd6a3274ab3ceb976e613fb1bcf75d681cd86d1
|
|
BLAKE2b-256 checksum How to use checksums |
1eed043ee122834e4baa0f71f6ce7fc4449c7398ea2dc8661f786063da628967
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp311-cp311-musllinux_1_1_x86_64.whl
| Download URL | posym-1.3.2-cp311-cp311-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 126.7 kB |
| Tags | CPython 3.11 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
ab330bad6470cb43072d5ef2dbc0d3e4bf49ed0e0ce434a511c19a3f3e4e4c0e
|
|
BLAKE2b-256 checksum How to use checksums |
07929724fa21d0fd229c1c74b981c11756d2750a7aa66af5d2ac17d368170c56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp311-cp311-musllinux_1_1_i686.whl
| Download URL | posym-1.3.2-cp311-cp311-musllinux_1_1_i686.whl |
|---|---|
| Size | 120.7 kB |
| Tags | CPython 3.11 Linux musl 1.1+ x86-32 |
|
SHA-256 checksum How to use checksums |
763928e0cc6d81808d2f998e2b9ea1dd611dab5e35201b48479ba2d585577c7a
|
|
BLAKE2b-256 checksum How to use checksums |
1aca02a1e47918d84aa77bc0c54d30dce2ace56377d51015af395b218b60642f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | posym-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 183.9 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
9610c53a8c1ff41391df18011391e44919fcc74f2c3e8ef652bec37833e937a0
|
|
BLAKE2b-256 checksum How to use checksums |
3b458c418986b73c428c6f9861bdc6520b388ef00f078110d98c2caff408a1fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | posym-1.3.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 183.2 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
ef29f9e085a5ab398e7c5400b0e3983ff9e717d38aa525826c32d47bc22c1add
|
|
BLAKE2b-256 checksum How to use checksums |
a39fcd591b20d2fea05da594e09f67cd64aa932395020ec3a945f43215197d8d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | posym-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 74.2 kB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
d549a084fd619c1c0d3475d9919aded67f983b3bc5a173aa15e9e4a408af8470
|
|
BLAKE2b-256 checksum How to use checksums |
6cff43641d86039c7ac53b260b1cf82bff01c37c99a3c9d64a34027c670b3ec4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp311-cp311-macosx_10_9_universal2.whl
| Download URL | posym-1.3.2-cp311-cp311-macosx_10_9_universal2.whl |
|---|---|
| Size | 95.5 kB |
| Tags | CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
3a08a8698c6472166c7b983a7ad7a5f02b79bb645e4155602fb16ce7a8f58231
|
|
BLAKE2b-256 checksum How to use checksums |
537061e5a8b4959f0c43f00a7fa31c0eb9f1d00ec5ccf1539f28b5f46beb378a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp310-cp310-win_amd64.whl
| Download URL | posym-1.3.2-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 75.7 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d98eed7fe6ded902e7dbbe2915255f9ef57baf61278d8863351336f39d6e5dcc
|
|
BLAKE2b-256 checksum How to use checksums |
70f360de1985ce456e6aa391a9c56534d650e29e1df559df709b817dfe3c1bfd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp310-cp310-win32.whl
| Download URL | posym-1.3.2-cp310-cp310-win32.whl |
|---|---|
| Size | 71.4 kB |
| Tags | CPython 3.10 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
98ea4839dbbc2383a96a98684143d38e72a2f92a017becccec1284c5d694ecaa
|
|
BLAKE2b-256 checksum How to use checksums |
98cabc08b4196a743f91ead021d2f6d2cbebf0a880b72b0cac830a845a36fb06
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp310-cp310-musllinux_1_1_x86_64.whl
| Download URL | posym-1.3.2-cp310-cp310-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 124.7 kB |
| Tags | CPython 3.10 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
be508f6774cb4735db3c034f3bc40f982ae4d2bb1086515415eea69534164389
|
|
BLAKE2b-256 checksum How to use checksums |
91df745c7bc515c874bc6c8f16801ad6f3c64e7318f354f222decde416e989f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp310-cp310-musllinux_1_1_i686.whl
| Download URL | posym-1.3.2-cp310-cp310-musllinux_1_1_i686.whl |
|---|---|
| Size | 118.7 kB |
| Tags | CPython 3.10 Linux musl 1.1+ x86-32 |
|
SHA-256 checksum How to use checksums |
808d4a823c4240a332baa7121a2222bc108b5f0dd3aabf9ddbee7a4e525c28ab
|
|
BLAKE2b-256 checksum How to use checksums |
2ad460a60ddbcde980102a3298339f65a949b95013b64897a852c236b8646641
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | posym-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 183.7 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
819c051270481efd5391bc55b240a133ce902fcde1ef69b774fe479a1cedc449
|
|
BLAKE2b-256 checksum How to use checksums |
f5c0444813034f9cda281d2c23b5d10126bcdd33fc37427cf8e107d3db61511a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | posym-1.3.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 183.0 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
5dc7d099b9ab05c5208e16abae8bf1ce8fa98a8ac1ea55eb533072432c16cf84
|
|
BLAKE2b-256 checksum How to use checksums |
1ca741f9ad6fc66f65d104a88ec0b9cbf010c3cfc32a2300ea951171762e268a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | posym-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 74.2 kB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
db6f1171bf3c683e78ffae142139502311e023a0fbc168105f9b097c7708338f
|
|
BLAKE2b-256 checksum How to use checksums |
4da263a576532d30bf59f8045042baf4d2b1395f9e0b779e3f14d586b1d4b7b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp310-cp310-macosx_10_9_universal2.whl
| Download URL | posym-1.3.2-cp310-cp310-macosx_10_9_universal2.whl |
|---|---|
| Size | 95.5 kB |
| Tags | CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
8c22530ce7abb8f695f062d365a23edc96c63ef86ecbfdff2d7052090ea4d0c0
|
|
BLAKE2b-256 checksum How to use checksums |
acb357c52adeaed98a34267131f39bf45626fe3709cd77f8fbd20fb27fbcace4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp39-cp39-win_amd64.whl
| Download URL | posym-1.3.2-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 75.7 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a0b76f62f19873ba3d797f5fbd260a87bcd9a9fce42aec967c4d381e06f41a9c
|
|
BLAKE2b-256 checksum How to use checksums |
eeb68684039aa5087631ac6d160ce9894b145bf8e6b6f6a0fea7c3781e39583a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp39-cp39-win32.whl
| Download URL | posym-1.3.2-cp39-cp39-win32.whl |
|---|---|
| Size | 71.4 kB |
| Tags | CPython 3.9 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
3d94afec373230c26eb13d892e3295cb46d2b797b8d33b3d3c25ab6545e5f103
|
|
BLAKE2b-256 checksum How to use checksums |
1249f22afbcc0700dc5ce42edbf7f4b11475d78b946b67b15d023825ad767533
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp39-cp39-musllinux_1_1_x86_64.whl
| Download URL | posym-1.3.2-cp39-cp39-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 124.2 kB |
| Tags | CPython 3.9 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
07e28bfc76a41e0a1e240568f5b18bad82986cac37b2f34c1919178cc8bebb15
|
|
BLAKE2b-256 checksum How to use checksums |
900c364a61e7ae88a2b03feaf2811c043c7149cbf3a044a7f9d53da9ef6ccebe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp39-cp39-musllinux_1_1_i686.whl
| Download URL | posym-1.3.2-cp39-cp39-musllinux_1_1_i686.whl |
|---|---|
| Size | 118.2 kB |
| Tags | CPython 3.9 Linux musl 1.1+ x86-32 |
|
SHA-256 checksum How to use checksums |
e65d50c23f75b7e13fb839b7267adef05b51050e7821ae5ecc6e7d686efc089d
|
|
BLAKE2b-256 checksum How to use checksums |
35036dcda81b04bcd913caf9057cdd0113672eb2925b6615035d7a12b9032622
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | posym-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 183.3 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
1ee4f78c13efe6489407c6344e59a4e95ad628a74eb5158ba624addc7fc5144f
|
|
BLAKE2b-256 checksum How to use checksums |
0e3be380044d8057b2c9f3f2bc127684f3269bd79f7c87276a569eaae6fc07ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | posym-1.3.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 182.6 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
e88db8a81ca34e20d089c68c3973e660b36ee06826ae2b12de6ac3affd5468c3
|
|
BLAKE2b-256 checksum How to use checksums |
db23d387b93dbedade3d62a028ade9a36a39d148a620bff16e7fc40009f99284
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl
| Download URL | posym-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl |
|---|---|
| Size | 74.2 kB |
| Tags | CPython 3.9 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
dc689c564a156503e4b635701d821d75e7fdc0f5fe1bf7964c856f7442fa4392
|
|
BLAKE2b-256 checksum How to use checksums |
bf8128d1cd15935f267091583054b4167dec7d959f330d9b38241665d7208d20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp39-cp39-macosx_10_9_universal2.whl
| Download URL | posym-1.3.2-cp39-cp39-macosx_10_9_universal2.whl |
|---|---|
| Size | 95.5 kB |
| Tags | CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
958a3be1c1bd3bc6c1d28aa69f770b9522a5df69734a60634acb7893b1ced982
|
|
BLAKE2b-256 checksum How to use checksums |
37463373fdd5101d1f763e7c97580e41c858c4c19b97d2cc2dfb66d97b6dc2ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp38-cp38-win_amd64.whl
| Download URL | posym-1.3.2-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 75.5 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
507aed86fc85ac6eeae018a706cd9778f6a313947bdc0fe5f78a7ac7f63402f0
|
|
BLAKE2b-256 checksum How to use checksums |
151ff4dfccd17f804838133aff0de594c238711a3326be01a3f49bb1f0d0c521
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp38-cp38-win32.whl
| Download URL | posym-1.3.2-cp38-cp38-win32.whl |
|---|---|
| Size | 71.2 kB |
| Tags | CPython 3.8 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
59bea1c63cd96f6805cd42ec45eff6dfb1c3e25b2b040fc9398b7859345fb662
|
|
BLAKE2b-256 checksum How to use checksums |
02cb8074480370865e0ad35a62c76c2ad6698d5d0170bfc7eb809f25079b8867
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp38-cp38-musllinux_1_1_x86_64.whl
| Download URL | posym-1.3.2-cp38-cp38-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 128.0 kB |
| Tags | CPython 3.8 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
c6deaa21050a58d01d03509d00b4334c2afc948d71ba87d4f5240d615c2daaff
|
|
BLAKE2b-256 checksum How to use checksums |
0647beb99fe1d8308bacca29013c1305fc50914937845d0bcbfb0e546ac57a57
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp38-cp38-musllinux_1_1_i686.whl
| Download URL | posym-1.3.2-cp38-cp38-musllinux_1_1_i686.whl |
|---|---|
| Size | 122.0 kB |
| Tags | CPython 3.8 Linux musl 1.1+ x86-32 |
|
SHA-256 checksum How to use checksums |
44d8d8d829f0feacf4a443d7bc18c0a8c3b031d3fe50ec12d3a200c6480fc8be
|
|
BLAKE2b-256 checksum How to use checksums |
1664d744894cdf5aadd230de03c663c0b59f9e81765cc2a1263c9fad01dcbd14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | posym-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 187.5 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
d6d10d905ce43edb854bdaa6402c4528994cb2e6e84508b8bcc74a0ca74d653a
|
|
BLAKE2b-256 checksum How to use checksums |
9a8e54a5f36b181895bc83f5c5789f595d069816f1c693bf072be70b74065afc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
| Download URL | posym-1.3.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl |
|---|---|
| Size | 186.9 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-32 |
|
SHA-256 checksum How to use checksums |
1cb3eb9f39104fddb0f8a77fc5aeb70ba355dbf6c3e536a2a68af8c803d05282
|
|
BLAKE2b-256 checksum How to use checksums |
63a1585a37958fa5e757ca8e9912dd24c8e7909d2005f1c84447bc436c7e08de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / posym-1.3.2-cp38-cp38-macosx_11_0_arm64.whl
| Download URL | posym-1.3.2-cp38-cp38-macosx_11_0_arm64.whl |
|---|---|
| Size | 72.3 kB |
| Tags | CPython 3.8 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
12fbd64c90d0b00e03ce1c678e220cc0a9246195c27dc350634fa3ebc8634feb
|
|
BLAKE2b-256 checksum How to use checksums |
50eaac4fe1eecaee2f3b74adb215b8b1dd2de3ca63f65f0d17be7c1a110d127c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|