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.65-cp314-cp314-win_amd64.whl (151.4 kB view details)

Uploaded CPython 3.14Windows x86-64

tprparser-0.1.65-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.65-cp313-cp313-win_amd64.whl (147.5 kB view details)

Uploaded CPython 3.13Windows x86-64

tprparser-0.1.65-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.65-cp312-cp312-win_amd64.whl (147.5 kB view details)

Uploaded CPython 3.12Windows x86-64

tprparser-0.1.65-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.65-cp311-cp311-win_amd64.whl (147.4 kB view details)

Uploaded CPython 3.11Windows x86-64

tprparser-0.1.65-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.65-cp310-cp310-win_amd64.whl (147.4 kB view details)

Uploaded CPython 3.10Windows x86-64

tprparser-0.1.65-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.65-cp39-cp39-win_amd64.whl (147.4 kB view details)

Uploaded CPython 3.9Windows x86-64

tprparser-0.1.65-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.65-cp38-cp38-win_amd64.whl (147.2 kB view details)

Uploaded CPython 3.8Windows x86-64

tprparser-0.1.65-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.65-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.65-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 151.4 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.65-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 71cfdfb6ce8a31b2ce4acfadd2ebeedeed398d74435b3ae9c0e77aba7298c4ab
MD5 ef80ac7d4aa29edcfd65773bf08dae64
BLAKE2b-256 5814a116b4f42a62eaf1cbb61fe4759701e6447e53ebc458cdc96147abefe99e

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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.65-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.65-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8e0119a65a2043bfed6d7f6d54278dac5f299fb42c574c5524e31292a47f505f
MD5 06c4e18f0b93d8df0608af23ee00ef90
BLAKE2b-256 d594d5095a3f34473043b11c2557fe03f8b86cdd01479381d1ed2903cd2dc113

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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.65-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.65-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 147.5 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.65-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6aea4bb9f73f4bf3efa5ab9e08d0d65ce054f802fb75a724c93c4b3fba7850be
MD5 231b6602e4967435552fccacffc9f952
BLAKE2b-256 3e1168593dac7ac44e3d09f51b562101cc3625238d5da57f81f5fd9471ba96ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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.65-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.65-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 75835246dd7e6f4d855725ec9c7d7f01d1bb0179d6cb3b95aca3adf0b8f7ad67
MD5 05769ad811d074f6a3fcae655acdaae7
BLAKE2b-256 c47a74d0c3a18a92380a02eec50f3ea1f0cce2eda1187458e184d420b1dcde1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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.65-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.65-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 147.5 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.65-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3a40a8a188cf723d8b994a2627266304ff832a24bb014d1353ea24e389e17e51
MD5 ce2b9e141e07cdb5e5fff5e0407aed3e
BLAKE2b-256 27de50c20a33cd1991379dac552f57d5089c429e62e50630ea2870d93a05240e

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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.65-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.65-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 879285e8c1610da092d19f80e350e9f8de1efc42bc66986a0062e466d56f497a
MD5 9c03c6cbb8637c142e594766e490647d
BLAKE2b-256 c0e3cefb0674761121c07eb28409d98ab0fd7b970387cc6add8e2d74ecd171af

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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.65-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.65-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 147.4 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.65-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 1ae917bf88256c87b8dfa4bcb658013f02ebce4360a8b20bd61a4480436c063a
MD5 37e0f84d2ec75e8f11709ac6b3d63f4b
BLAKE2b-256 3649d09333f5d5de842f93181b835ab66a39860a3c0cdde419ba6e3f197499b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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.65-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.65-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 68c4d556d4a9321245f10d22c359d16849bd96e19217a1ec01ef64b8d2198538
MD5 66ddee82e7f5a6c04bac08a87e62ab10
BLAKE2b-256 f4da4b0b0815affb66ddc98c23b5485cc2d79ca341d768620a0efedf9c3646ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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.65-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.65-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 147.4 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.65-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e8f11317225775161ce048a083c02147533445b9c17b01a0c1a4e84c6402f8f2
MD5 4e75db6dd223940c50e6d033ab719a20
BLAKE2b-256 0737163710cebc9cda63d5f89128cb73259564fa449ea353db2d8fb561289618

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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.65-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.65-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 eb0dcb90c62615d704795c69411ed8416ff233a46f134a6f80a0c4c7636e2212
MD5 7b23c268c817353e8d120ba576072a25
BLAKE2b-256 45f81883028c463f05261f0af09081c0625b34c9708e1245c12eecfe94ec5326

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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.65-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.65-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 147.4 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.65-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e2f178619e320071f5a48baf62a0ad84c50b3f2376008555898b0941da95af52
MD5 3cd6acac69a827a968f53f57202bfb34
BLAKE2b-256 9b9f9642b665bf923eb95b0b31474b01e0c76c476a4f23277690768376501316

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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.65-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.65-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b54f8267b9c1213c0efd8c41bbce353543a4735b08c2f58d3d5c4da7c9e4d5c3
MD5 3b12390a0a7ff8106647075ff3f680fe
BLAKE2b-256 05111f949de9726ba5b129af63ffb61a0b9d46cbc4aebd0437db0957f2a4d0bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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.65-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: tprparser-0.1.65-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 147.2 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.65-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 983a4ffe68f140ee02d161c59edfe5efde2ede7ab247484efcb62b57497014f0
MD5 cd5034dc8ec385b8e9e40e0a7a397c14
BLAKE2b-256 984e178cad7d3d335a0bc4999b6edfeb614295fbb6794bb0a5ae1d26d1758feb

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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.65-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tprparser-0.1.65-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a3698634d8e83ca3f08d126166941bcfebb4b1627aab41e38a62fda1f547842c
MD5 12a79a27f1d9d8f742d0aeb42148aa47
BLAKE2b-256 630925d9e0ae6be227c581645a1666eac5f935ae7ab3fd2410bdf6ba616ca997

See more details on using hashes here.

Provenance

The following attestation bundles were made for tprparser-0.1.65-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