Skip to main content

A reader of gromacs tpr file

Project description

Description

TprParser is a convenient Python module for reading and setting simulation parameters of gromacs tpr file. It does NOT rely on the GROMACS library and only pure Python environment.

This module mainly aimed to modify atom property of tpr and create a new tpr file (named new.tpr) after use any one set_ method.

The module supports many functions to get topology properties, such as atoms coordinates, velocity and force by module.get_xvf(...) function.

Many properties can be set up by this module, such as total simulation time nsteps, simulation integrator interval dt, output control parameters (nstxout, nstvout, etc.) and temperature/pressure coupling parameters.

Compatibility

System Support: Linux & Windows

GROMACS tpr version should between 3.2 to 2026, too old tpr to be read/write by this module.

TPX format TPX generation Gromacs release read/write
31 4 3.2 read-only
40 7 3.3.1, 3.3.3 read-only
58 17 4.0 - 4.0.7 read-only
73 23 4.5 - 4.5.7 read-write
83 24 4.6 - 4.6.7 read-write
100 26 5.0 - 5.0.7 read-write
103 26 5.1 - 5.1.5 read-write
110 26 2016 read-write
112 26 2018 read-write
116 26 2019 read-write
119 27 2020 read-write
122 28 2021 read-write
127 28 2022 read-write
129 28 2023 read-write
133 28 2024.0, 2024.1, 2024.2, 2024.3 read-write
134 28 2024.4, 2024.5, 2024.6 read-write
137 28 2025 read-write
138 29 2026 read-write

Installation

  • Requirements

    • Python >= 3.8

    • Numpy

  • Install

    The module is installed by pip method:

    pip install TprParser -i https://pypi.org/simple
    

    Please ALWAYS install Latest version.

    Update this module if you have installed:

    pip install TprParser --upgrade -i https://pypi.org/simple
    

Usage

Write your python program like this:

# import this module
from TprParser.TprReader import TprReader	

Get atom property

# get atom coords or velocity
reader = TprReader("your.tpr")
coords = reader.get_xvf('x')
velocity = reader.get_xvf('v')

# get atom charge or mass
charge = reader.get_mq('q')
mass = reader.get_mq('m')

# get residue or atom name or atomtype of each atom
resnames  = reader.get_name('res')
atomnames = reader.get_name('atom')
atomtypes = reader.get_name('type')

# get resids
resids = reader.get_ivector('resid')

Note: The behavior of get_ivector('resid') is different when TprParser >= 0.1.58, the resids is consistent with output of gmx editconf -o xxx.gro. If TprParser < 0.1.58, the resids is unique for global atoms, same as MDAnalysis

Get bonds/angles/dihedrals(proper and impropers) forcefield parameters

# get all bond pairs (1-based index) and it's parameters
bonds = reader.get_bonded('bonds')

# get all angles pairs (1-based index) and it's parameters
angles = reader.get_bonded('angles')

# get all proper dihedrals pairs (1-based index) and it's parameters
propers = reader.get_bonded('dihedrals')

# get all improper dihedrals pairs (1-based index) and it's parameters
impropers = reader.get_bonded('impropers')

Get non-bonded paramaters

# get pairs (1-based index) and it's parameters
pairs = reader.get_nonbonded('pairs')

# get atomtypes lj parameters for each atoms [sigma, epsion], which crossbonding to reader.get_name('type')
pairs = reader.get_nonbonded('lj')[:, 1:]

Get virtual sites parameters

NOTE: TprParser must be >= 0.1.60

# get virtual site type + atom index (1-based index) + it's parameters
vsites = reader.get_vsites()

Get mdp parameters

# integer value
nstxout = reader.get_mdp_integer('nstxout')
nsttcouple = reader.get_mdp_integer('nsttcouple')

# float value, TprParser must be >= 0.1.64
rvdw = reader.get_mdp_float('rvdw')
taup = reader.get_mdp_float('tau_p')

Modify atom property

Modify atomic coords/velocity/box

newcoords = np.array([[1,2,3], [4,5,6], [...]], dtype=np.float32) # shape= N*3
# The step will create new.tpr that used newcoords
reader.set_xvf('x', newcoords)
# set velocity or box, same as above
reader.set_xvf('v', newvelocity)

Modify atomic charges/masses

Note: TprParser must be >= 0.1.63

Atomic charges and masses are stored on a per molecule type in .tpr file compared to coordinates. So you must set it for each molecule type.

For example, if your simulation system topolgy is:

[ molecules ]
; Compound        #mols
Protein_chain_A     1
SOL                1000
Protein_chain_A     1

And each molecule type Protein_chain_A has x atoms, SOL has y atoms, you can set new charges and masses:

pro_charges = [1.0,2.0,3.0, ...]  # length= x
sol_charges = [2.0,3.0,4.0]       # length= y, such as y==3 for TIP3P
# sum the number of molecules, the order of molecule is important
# the length(newcharges)==total number of atoms in system
newcharges = pro_charges*1 + sol_charges*1000 + pro_charges*1
reader.set_mq('q', newcharges)
reader.set_mq('m', newmasses) # same as above

Tips: You can use gmx check to compare old and new tpr differences and make sure the changes are correct:

gmx check -s1 old.tpr -s2 new.tpr

Modify system pressure

Such as define a function to do this work:

def change_pressure(fname):
    reader = TprReader(fname)
    # 100 bar
    ref_p = [
        100, 0, 0,
        0, 100, 0,
        0, 0, 100
    ]
    # compressibility 4.5E-5
    compress = [
        4.5E-5, 0, 0,
        0, 4.5E-5, 0,
        0, 0, 4.5E-5
    ]
    assert len(ref_p) == 9
    assert len(compress) == 9
    # use ParrinelloRahman algorithm and Isotropic pressure coupling method
    reader.set_pressure('ParrinelloRahman', 'Isotropic', 1.0, ref_p, compress)

Also can change deform parameters for TprParser must be >= 0.1.52

# optional modify deform
deform = [
  0, 0, 0,
  0, 0, 0,
  0.01, 0, 0
]
reader.set_pressure('Berendsen', 'anisotropic', 1.0, ref_p, compress, deform)

Modify system temperature

# set Berendsen algorithm and tau_t=0.2, ref_t=400 K for one temperature coupling group
reader.set_temperature(etc='Berendsen', tau_t=[0.2], ref_t=[400])

Modify electric field parameters

NOTE: TprParser must be >= 0.1.53

# The modify must be matched to old tpr electric-field dimension
# E0, omega, t0, sigma for each dimension, use gromacs unit
newEF = [
  10, 1, 0, 0.1,  # x direction
  0,  0, 0, 0,    # y direction
  0,  0, 0, 0     # z direction
]
reader.set_xvf('ef', newEF)

Modify multiple parameters

Use SimSettings class to do this work

from TprParser.TprReader import SimSettings

with SimSettings('input.tpr', 'output.tpr') as writer:
    writer.set_dt(0.001)
    writer.set_mdp_integer('nstxout', 100)
    writer.set_mdp_float('rvdw', 1.4)
    writer.set_nsteps(2000000)

Make a gromacs top

Note: TprParser must be >= 0.1.51. The top is not a full topology, such as Restraints is missing!

from TprParser.TprMakeTop import make_top_from_tpr

make_top_from_tpr('md.tpr', 'out.top')

Read gromacs edr file

Note: TprParser must be >= 0.1.57.

from TprParser.EdrReader import EdrReader

# return a dictionary of all energies
# use gromacs unit, such as Energy -> KJ/mol, Length -> nm
energies = EdrReader('yourfile.edr').get_ene()

# available energies name
print(energies.keys())

# get vaules by available key
times = energies['Time']                # ps
temperature = energies['Temperature']   # K

Other

Please see TprReader and SimSettings module annotation

Cite

If TprParser is utilized in your work, please cite as follows in main text:

Yujie Liu, TprParser, Version xxx, https://pypi.org/project/TprParser/

TODO

  • More parameters can be modified

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

tprparser-0.1.66-cp314-cp314-win_amd64.whl (151.5 kB view details)

Uploaded CPython 3.14Windows x86-64

tprparser-0.1.66-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

tprparser-0.1.66-cp313-cp313-win_amd64.whl (147.6 kB view details)

Uploaded CPython 3.13Windows x86-64

tprparser-0.1.66-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

tprparser-0.1.66-cp312-cp312-win_amd64.whl (147.6 kB view details)

Uploaded CPython 3.12Windows x86-64

tprparser-0.1.66-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

tprparser-0.1.66-cp311-cp311-win_amd64.whl (147.5 kB view details)

Uploaded CPython 3.11Windows x86-64

tprparser-0.1.66-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

tprparser-0.1.66-cp310-cp310-win_amd64.whl (147.5 kB view details)

Uploaded CPython 3.10Windows x86-64

tprparser-0.1.66-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

tprparser-0.1.66-cp39-cp39-win_amd64.whl (147.5 kB view details)

Uploaded CPython 3.9Windows x86-64

tprparser-0.1.66-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

tprparser-0.1.66-cp38-cp38-win_amd64.whl (147.4 kB view details)

Uploaded CPython 3.8Windows x86-64

tprparser-0.1.66-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (2.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

File details

Details for the file tprparser-0.1.66-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.66-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 151.5 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tprparser-0.1.66-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d586553b2b307e7b9ddec32717bc35606b66081033ed0567c21785ae42f6ead9
MD5 f9b7c4ee990ac7f3a9b52ea566286e5f
BLAKE2b-256 4265e73824cd9dfd9e161f2e7c0feea9cb8c59400614c82371fd36eba3581b7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp314-cp314-win_amd64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tprparser-0.1.66-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.66-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 97a0b2c466d02b212475e451d8a1d35172b54809a435449beb509694f04d2549
MD5 77cf80f8546004412a3e22e6d575da5f
BLAKE2b-256 9dee2ccd9102a7d86d423bcbc85b083a4f64df215d9b2f7321264a8e5bf732e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tprparser-0.1.66-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.66-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 147.6 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tprparser-0.1.66-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5d6f2707e67a53b3fcafe3f0101f623ef435f018a9f2c0e3965b6641feb0c290
MD5 240dcb35972c93fe4209f5fc72a9af7f
BLAKE2b-256 dcbc5d6afb2872b5e524d6713a8af0c0cbf048ec6bc5fdb5037650660c8a236b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp313-cp313-win_amd64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tprparser-0.1.66-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.66-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 341a1f71eb57103e2111f8a5f72a6290e2097f288ebea67f2d3301890561adb3
MD5 6c7c1c4f3e5ac2b1a7b20185654ff37b
BLAKE2b-256 54a656905b75a8ea6d2d6798470ca1ee8d244deeac1cb01abe9396838696980a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tprparser-0.1.66-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.66-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 147.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tprparser-0.1.66-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8c6bafbb6f4a35381e7e04d44534b1c9c72684ba5ea50826744a9bc85d7e9580
MD5 eae0c3ef29a77b53fb93ce50fa1b8c69
BLAKE2b-256 04470c68cf49f544dd004dd48a58749e04122697833e97e4575b069ce8b05c3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp312-cp312-win_amd64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tprparser-0.1.66-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.66-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9b1fc989b31d197375884075143ab11bde074dc648c98bf92f3b9c0113407461
MD5 ed1b38187146dbe3f622f8186249f530
BLAKE2b-256 688f17e94fc159d27c7a91bc75b8b7ac7a7781475b1637ed411f1d94ddf1c8b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tprparser-0.1.66-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.66-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 147.5 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tprparser-0.1.66-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 85fca6a96c3d4dd6d295d655412dca3b28079378e796ec4e4e002c3bab929f59
MD5 f1f7d9de4a64724a6ffccee001d2748d
BLAKE2b-256 f06fd7da50d9c4353f2ec7536f7f6cb9550fd052a3bbe207378a37697a463d83

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp311-cp311-win_amd64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tprparser-0.1.66-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.66-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b84a01d1afb4c27877e6f5595440e57a0e125f0477ec241c9f6f293b3dc4ec32
MD5 d7b4de66ed5a1a19ca0bd89c9c4bfc23
BLAKE2b-256 9734e29a2d2410e2ba58a71eb0a4b837f20617ad9fae88d6d69e023615647204

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tprparser-0.1.66-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.66-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 147.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tprparser-0.1.66-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5685efba3a839349ec1b992735aa4210b84a034db846ab403a02acb326f0e6c7
MD5 83490fc0879be048e2bd100257bf4a91
BLAKE2b-256 3e9db20c667bc38f65bdd2311234976e69791f41494e4b5db9c88fa776dc3b83

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp310-cp310-win_amd64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tprparser-0.1.66-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.66-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 adfc1692a37ef0dde7a69cd191b1ca4a97ad617b0844d3b0eac8fbbe29305d4d
MD5 06ea93b08cf927a8fec480a083170708
BLAKE2b-256 533104aa9a20b0e7c70a12b1eebd4cae581e3a20405dcf19065d90808cc768ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tprparser-0.1.66-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.66-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 147.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tprparser-0.1.66-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f93f42108cda3e7998bb476aa86e6795d83d3a53c484ce6ba2b9b721165f1725
MD5 5f50d7bcdb9b6df746aa428e81e77fed
BLAKE2b-256 6ecef2ef4912cf86221db1f0288413bf4b3b7a97fe4807e843b20a2ff7802ba6

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp39-cp39-win_amd64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tprparser-0.1.66-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.66-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d925fcabda3af4a163306bfedac87efb03249402efaac5987aa08c0a2067d875
MD5 523133b7b858459a1df69bf9891559ab
BLAKE2b-256 fd45d3fcf7d0de0ce347d2a28ac910a0260340fc2f045e382ddb79c3c1370532

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tprparser-0.1.66-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.66-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 147.4 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for tprparser-0.1.66-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ee73bdd51c43087799a93dfe5f2b8784f193838f5e1b5eaa52aed46e12eaedd6
MD5 d42d7559fd91b247f4578b2d5f6a28b7
BLAKE2b-256 4774f0bf527c6c9f36583dd0cc410283dc2810e41ddf18517c54943632195cb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp38-cp38-win_amd64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tprparser-0.1.66-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.66-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 915bbad5a41b242ae3910a19820047d96bf6346508e6139fb64b869144105e2d
MD5 9dd545486eac1ccbd0dc4e39f44083ab
BLAKE2b-256 ae02bac74ce569bd072a11e1993dbf9377d3548871661da2dbebffe5823165f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.66-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: pyapi.yml on liuyujie714/TprParser

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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