TM-Tools
========
Python bindings for the TM-align algorithm and code [developed by Zhang et
al](https://zhanggroup.org/TM-align/) for protein structure comparison.
Installation
------------
You can install the released version of the package directly from PyPI by
running
```console
pip install tmtools
```
Pre-built wheels are available for Linux, macOS, and Windows, for Python 3.6
and up.
To build the package from scratch, e.g. because you want to contribute to it,
clone this repository, and then from the root of the repository, run
```console
pip install -e . -v
```
This requires a C++ compiler to be installed with support for C++ 14.
Usage
-----
The function `tmtools.tm_align` takes two NumPy arrays with coordinates for the
residues (with shape `(N, 3)`) and two sequences of peptide codes, performs the
alignment, and returns the optimal rotation matrix and translation, along with
the TM score:
```python
>>> import numpy as np
>>> from tmtools import tm_align
>>>
>>> coords1 = np.array(
... [[1.2, 3.4, 1.5],
... [4.0, 2.8, 3.7],
... [1.2, 4.2, 4.3],
... [0.0, 1.0, 2.0]])
>>> coords2 = np.array(
... [[2.3, 7.4, 1.5],
... [4.0, 2.9, -1.7],
... [1.2, 4.2, 4.3]])
>>>
>>> seq1 = "AYLP"
>>> seq2 = "ARN"
>>>
>>> res = tm_align(coords1, coords2, seq1, seq2)
>>> res.t
array([ 2.94676159, 5.55265245, -1.75151383])
>>> res.u
array([[ 0.40393231, 0.04161396, -0.91384187],
[-0.59535733, 0.77040999, -0.22807475],
[ 0.69454181, 0.63618922, 0.33596866]])
>>> res.tm_norm_chain1
0.3105833326322145
>>> res.tm_norm_chain2
0.414111110176286
>>> res.rmsd
0.39002811082975875
```
If you already have some PDB files, you can use the functions from `tmalign.io`
to retrieve the coordinate and sequence data. These functions rely on
`BioPython`, which is not installed by default to keep dependencies
lightweight. To use them, you have to install `BioPython` first (`pip install
biopython`). Then run:
```python
>>> from tmtools.io import get_structure, get_residue_data
>>> from tmtools.testing import get_pdb_path
>>> s = get_structure(get_pdb_path("2gtl"))
>>> s
<Structure id=2gtl>
>>> chain = next(s.get_chains())
>>> coords, seq = get_residue_data(chain)
>>> seq
'DCCSYEDRREIRHIWDDVWSSSFTDRRVAIVRAVFDDLFKHYPTSKALFERVKIDEPESGEFKSHLVRVANGLKLLINLLDDTLVLQSHLGHLADQHIQRKGVTKEYFRGIGEAFARVLPQVLSCFNVDAWNRCFHRLVARIAKDLP'
>>> coords.shape
(147, 3)
```
Running the tests
-----------------
The test suite uses the standard Python
[unittest](https://docs.python.org/3/library/unittest.html) framework. To run
the test suite, run the following command (from the root of the repository,
with the development environment activated):
```console
python -m unittest discover -v .
```
When adding to the test suite, please adhere to the
[given/when/then](https://martinfowler.com/bliki/GivenWhenThen.html)
pattern. You can refer to the existing tests for an example.
Credits
-------
This package arose out of a personal desire to better understand both the
TM-score algorithm and the
[pybind11](https://pybind11.readthedocs.io/en/stable/index.html) library to
interface with C++ code. At this point in time it contains no original research
code.
If you use the package for research, you should cite the [original TM-score
papers](https://zhanggroup.org/TM-score/):
- Y. Zhang, J. Skolnick, _Scoring function for automated assessment of protein
structure template quality_, Proteins, 57: 702-710 (2004).
- J. Xu, Y. Zhang, How significant is a protein structure similarity with
TM-score=0.5? Bioinformatics, 26, 889-895 (2010).
License
-------
The original TM-align software (version 20210224, released under the MIT
license) is bundled with this repository (`src/extern/TMalign.cpp`). Some small
tweaks had to be made to compile the code on macOS and to embed it as a
library. This modifications are also released under the MIT license.
The rest of the codebase is released under the GPL v3 license.
Raw data
{
"_id": null,
"home_page": "https://github.com/jvkersch/tmtools",
"name": "tmtools",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Joris Vankerschaver",
"author_email": "joris.vankerschaver@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/f6/9f/db455f7fc8383643c1d631b277d58feb58aea28da83590a5e82e699249ce/tmtools-0.2.0.tar.gz",
"platform": "Linux",
"description": "TM-Tools\n========\n\nPython bindings for the TM-align algorithm and code [developed by Zhang et\nal](https://zhanggroup.org/TM-align/) for protein structure comparison.\n\n\nInstallation\n------------\n\nYou can install the released version of the package directly from PyPI by\nrunning\n```console\n pip install tmtools\n```\nPre-built wheels are available for Linux, macOS, and Windows, for Python 3.6\nand up.\n\nTo build the package from scratch, e.g. because you want to contribute to it,\nclone this repository, and then from the root of the repository, run\n```console\n pip install -e . -v\n```\nThis requires a C++ compiler to be installed with support for C++ 14.\n\nUsage\n-----\n\nThe function `tmtools.tm_align` takes two NumPy arrays with coordinates for the\nresidues (with shape `(N, 3)`) and two sequences of peptide codes, performs the\nalignment, and returns the optimal rotation matrix and translation, along with\nthe TM score:\n```python\n>>> import numpy as np\n>>> from tmtools import tm_align\n>>>\n>>> coords1 = np.array(\n... [[1.2, 3.4, 1.5],\n... [4.0, 2.8, 3.7],\n... [1.2, 4.2, 4.3],\n... [0.0, 1.0, 2.0]])\n>>> coords2 = np.array(\n... [[2.3, 7.4, 1.5],\n... [4.0, 2.9, -1.7],\n... [1.2, 4.2, 4.3]])\n>>>\n>>> seq1 = \"AYLP\"\n>>> seq2 = \"ARN\"\n>>>\n>>> res = tm_align(coords1, coords2, seq1, seq2)\n>>> res.t\narray([ 2.94676159, 5.55265245, -1.75151383])\n>>> res.u\narray([[ 0.40393231, 0.04161396, -0.91384187],\n [-0.59535733, 0.77040999, -0.22807475],\n [ 0.69454181, 0.63618922, 0.33596866]])\n>>> res.tm_norm_chain1\n0.3105833326322145\n>>> res.tm_norm_chain2\n0.414111110176286\n>>> res.rmsd\n0.39002811082975875\n```\n\nIf you already have some PDB files, you can use the functions from `tmalign.io`\nto retrieve the coordinate and sequence data. These functions rely on\n`BioPython`, which is not installed by default to keep dependencies\nlightweight. To use them, you have to install `BioPython` first (`pip install\nbiopython`). Then run:\n\n```python\n>>> from tmtools.io import get_structure, get_residue_data\n>>> from tmtools.testing import get_pdb_path\n>>> s = get_structure(get_pdb_path(\"2gtl\"))\n>>> s\n<Structure id=2gtl>\n>>> chain = next(s.get_chains())\n>>> coords, seq = get_residue_data(chain)\n>>> seq\n'DCCSYEDRREIRHIWDDVWSSSFTDRRVAIVRAVFDDLFKHYPTSKALFERVKIDEPESGEFKSHLVRVANGLKLLINLLDDTLVLQSHLGHLADQHIQRKGVTKEYFRGIGEAFARVLPQVLSCFNVDAWNRCFHRLVARIAKDLP'\n>>> coords.shape\n(147, 3)\n```\n\nRunning the tests\n-----------------\n\nThe test suite uses the standard Python\n[unittest](https://docs.python.org/3/library/unittest.html) framework. To run\nthe test suite, run the following command (from the root of the repository,\nwith the development environment activated):\n```console\n python -m unittest discover -v .\n```\n\nWhen adding to the test suite, please adhere to the\n[given/when/then](https://martinfowler.com/bliki/GivenWhenThen.html)\npattern. You can refer to the existing tests for an example.\n\nCredits\n-------\n\nThis package arose out of a personal desire to better understand both the\nTM-score algorithm and the\n[pybind11](https://pybind11.readthedocs.io/en/stable/index.html) library to\ninterface with C++ code. At this point in time it contains no original research\ncode.\n\nIf you use the package for research, you should cite the [original TM-score\npapers](https://zhanggroup.org/TM-score/):\n\n- Y. Zhang, J. Skolnick, _Scoring function for automated assessment of protein\n structure template quality_, Proteins, 57: 702-710 (2004).\n- J. Xu, Y. Zhang, How significant is a protein structure similarity with\n TM-score=0.5? Bioinformatics, 26, 889-895 (2010).\n\nLicense\n-------\n\nThe original TM-align software (version 20210224, released under the MIT\nlicense) is bundled with this repository (`src/extern/TMalign.cpp`). Some small\ntweaks had to be made to compile the code on macOS and to embed it as a\nlibrary. This modifications are also released under the MIT license.\n\nThe rest of the codebase is released under the GPL v3 license.\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Python bindings around the TM-align code for structural alignment of proteins",
"version": "0.2.0",
"project_urls": {
"Homepage": "https://github.com/jvkersch/tmtools"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "94fa943f8b64837877e36bf6e013c59c240935541e4b92f9b30d6581bf81f8a6",
"md5": "c4aa008378553b0cce63449edebd20b7",
"sha256": "9c1eda83cdc14e78d490258a44a75e1b8dfc4c6636a9378d6bef2253c24489c8"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "c4aa008378553b0cce63449edebd20b7",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 3270505,
"upload_time": "2024-07-18T16:19:16",
"upload_time_iso_8601": "2024-07-18T16:19:16.659896Z",
"url": "https://files.pythonhosted.org/packages/94/fa/943f8b64837877e36bf6e013c59c240935541e4b92f9b30d6581bf81f8a6/tmtools-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d3c93299e60bb3f4a33ffc8f56971c9df6573e6397cdc6dddd36d2967736caf2",
"md5": "3b42c874421ab04a96a19756b4545265",
"sha256": "a0cf5e56a199830c278a91b970b913703b0cdd819d25d2bb2b68f09f7c8d9e2f"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "3b42c874421ab04a96a19756b4545265",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 3263256,
"upload_time": "2024-07-18T16:19:18",
"upload_time_iso_8601": "2024-07-18T16:19:18.482076Z",
"url": "https://files.pythonhosted.org/packages/d3/c9/3299e60bb3f4a33ffc8f56971c9df6573e6397cdc6dddd36d2967736caf2/tmtools-0.2.0-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4f0437f6d24ad6338776fc031ff662fef81b286986ab0448d68ea6a69fe76385",
"md5": "cf524cbeb04f94622038f56413629bfd",
"sha256": "b8e181fee9280da6267da9305d99191772d55ff2ba8778f407f4f12c1722fac8"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "cf524cbeb04f94622038f56413629bfd",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 3323723,
"upload_time": "2024-07-18T16:19:20",
"upload_time_iso_8601": "2024-07-18T16:19:20.090323Z",
"url": "https://files.pythonhosted.org/packages/4f/04/37f6d24ad6338776fc031ff662fef81b286986ab0448d68ea6a69fe76385/tmtools-0.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b01d4d7a7a847ec4ca36ee5a647ceccfc284cda48c311b42576a0871866c8d38",
"md5": "78607839c0a5500ec802dd5e6ed4c2c0",
"sha256": "95f4d71b17fd6bcba32cdc821a2a7262402b5501cb1992b09b09c7aad2081fc1"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "78607839c0a5500ec802dd5e6ed4c2c0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 3315324,
"upload_time": "2024-07-18T16:19:21",
"upload_time_iso_8601": "2024-07-18T16:19:21.919306Z",
"url": "https://files.pythonhosted.org/packages/b0/1d/4d7a7a847ec4ca36ee5a647ceccfc284cda48c311b42576a0871866c8d38/tmtools-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "956d1834c8c949a4a7abdc323f1bc856193e8ee3e1ab11415e7cba83b2ab6ff8",
"md5": "4611f85f6cbacf369949651ca35ad384",
"sha256": "3428f29f309a41700308f60d486ea537e705ba17fcbf86fbaa8f86d151b58519"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp310-cp310-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "4611f85f6cbacf369949651ca35ad384",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 3883767,
"upload_time": "2024-07-18T16:19:23",
"upload_time_iso_8601": "2024-07-18T16:19:23.147318Z",
"url": "https://files.pythonhosted.org/packages/95/6d/1834c8c949a4a7abdc323f1bc856193e8ee3e1ab11415e7cba83b2ab6ff8/tmtools-0.2.0-cp310-cp310-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "34e36fb35e7f0ab6c24bd0a26a5902950924c3f5b5e4a014e7815e03c06c72ff",
"md5": "dc1a9453b4812631e9123e77f14c7bfd",
"sha256": "b42b3c08a68d4c4641884877c38bf220e085205d98363a9f612c10b70472589b"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp310-cp310-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "dc1a9453b4812631e9123e77f14c7bfd",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 3825797,
"upload_time": "2024-07-18T16:19:24",
"upload_time_iso_8601": "2024-07-18T16:19:24.648654Z",
"url": "https://files.pythonhosted.org/packages/34/e3/6fb35e7f0ab6c24bd0a26a5902950924c3f5b5e4a014e7815e03c06c72ff/tmtools-0.2.0-cp310-cp310-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3ec6049de28114029a8e80adcf70ad20b658d78445c49138f63ae5d40488c2a5",
"md5": "d3230f3e4e2fa9a216227aa4ea8c334d",
"sha256": "83bb61da36f779be98d73114fc828673ff972dafb9cfe64678ef3597f1f6f412"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "d3230f3e4e2fa9a216227aa4ea8c334d",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 3197574,
"upload_time": "2024-07-18T16:19:26",
"upload_time_iso_8601": "2024-07-18T16:19:26.467747Z",
"url": "https://files.pythonhosted.org/packages/3e/c6/049de28114029a8e80adcf70ad20b658d78445c49138f63ae5d40488c2a5/tmtools-0.2.0-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7c3dcfdee2c9cc3f99b8fd0399e76ce175a85d8b3c4e79b6a225a30b5d86d0c1",
"md5": "60de595c44618ddd0fd75c0633ce55e0",
"sha256": "12d3b057f1d024bfdb92cb09af60b475b4320bb5d169526bf9843d86854d8c25"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "60de595c44618ddd0fd75c0633ce55e0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 3208337,
"upload_time": "2024-07-18T16:19:28",
"upload_time_iso_8601": "2024-07-18T16:19:28.168972Z",
"url": "https://files.pythonhosted.org/packages/7c/3d/cfdee2c9cc3f99b8fd0399e76ce175a85d8b3c4e79b6a225a30b5d86d0c1/tmtools-0.2.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3c5c0b47713bb4e3565faaa7dfc788872a9d5668e9a85c6cce52599aa4f5df81",
"md5": "b8f7fb1da056caa469b2cb60c1dad758",
"sha256": "7d1df90c6475a462e12f01beadc2b352ec38dba54f95bdfc5d32528632303f58"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "b8f7fb1da056caa469b2cb60c1dad758",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 3270495,
"upload_time": "2024-07-18T16:19:29",
"upload_time_iso_8601": "2024-07-18T16:19:29.621692Z",
"url": "https://files.pythonhosted.org/packages/3c/5c/0b47713bb4e3565faaa7dfc788872a9d5668e9a85c6cce52599aa4f5df81/tmtools-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f2243ef7307bbe55dfd1ec1e9796afe1f762c9bbb7a6eae3654aad2d4061e379",
"md5": "d2b6f0311c18a8335554a412198f198d",
"sha256": "dcc6d177e8a9a266132a0ebc5c5c58a406342a524e0256f79d74cf938e950a6f"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "d2b6f0311c18a8335554a412198f198d",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 3263264,
"upload_time": "2024-07-18T16:19:31",
"upload_time_iso_8601": "2024-07-18T16:19:31.383163Z",
"url": "https://files.pythonhosted.org/packages/f2/24/3ef7307bbe55dfd1ec1e9796afe1f762c9bbb7a6eae3654aad2d4061e379/tmtools-0.2.0-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "37d8c2560092d3e96c973fcc3843a9744a86924a7950c91c1dceeac37db52f65",
"md5": "b60cbd1d7ff3e5d537b681493a485873",
"sha256": "127c3c8f280d8fcae897e111cc757129fac393f634db7e1959051adee9d30d02"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "b60cbd1d7ff3e5d537b681493a485873",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 3323702,
"upload_time": "2024-07-18T16:19:33",
"upload_time_iso_8601": "2024-07-18T16:19:33.087893Z",
"url": "https://files.pythonhosted.org/packages/37/d8/c2560092d3e96c973fcc3843a9744a86924a7950c91c1dceeac37db52f65/tmtools-0.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4787d93b0a672471688202d0d62eb40e21a1231136efe349d5dacaefdc7951bc",
"md5": "4ffb0ebeb28fcbd6476e99da978755fc",
"sha256": "63c4f5c6a1fc75c907fe8fb27dedc514b35c71f7a696dc150d26b31ba097986f"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "4ffb0ebeb28fcbd6476e99da978755fc",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 3315315,
"upload_time": "2024-07-18T16:19:34",
"upload_time_iso_8601": "2024-07-18T16:19:34.763764Z",
"url": "https://files.pythonhosted.org/packages/47/87/d93b0a672471688202d0d62eb40e21a1231136efe349d5dacaefdc7951bc/tmtools-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "695dffee6b11a23a29a47e3bdbd17f5447319ab1677b2971ad27d127220fc031",
"md5": "aad51b8c3f55054eb8a3deb7f954195a",
"sha256": "fbe5f7fdb4bfc4747c84973b83120134769580f86d1e1837cf5bddeadbff4d4e"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp311-cp311-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "aad51b8c3f55054eb8a3deb7f954195a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 3883822,
"upload_time": "2024-07-18T16:19:36",
"upload_time_iso_8601": "2024-07-18T16:19:36.636052Z",
"url": "https://files.pythonhosted.org/packages/69/5d/ffee6b11a23a29a47e3bdbd17f5447319ab1677b2971ad27d127220fc031/tmtools-0.2.0-cp311-cp311-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a60486ebfa49036de878360461f74fe6cf28e6371a75595af4ea13fef18faea2",
"md5": "d7ccdf7ec69df901e9b58a2978c1ff2a",
"sha256": "ea8b5c4b3e8ea22216e37e65968d88b74a872688551b2795f6f4a648f8c5e47d"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp311-cp311-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "d7ccdf7ec69df901e9b58a2978c1ff2a",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 3825828,
"upload_time": "2024-07-18T16:19:38",
"upload_time_iso_8601": "2024-07-18T16:19:38.018338Z",
"url": "https://files.pythonhosted.org/packages/a6/04/86ebfa49036de878360461f74fe6cf28e6371a75595af4ea13fef18faea2/tmtools-0.2.0-cp311-cp311-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "423b77299d049e3cabd91b366455b3f46cfd23425a45d47edd30481b76dd396d",
"md5": "c9d1319f94e5f73bb4f514d50477faa1",
"sha256": "469cf681130d4c0ee971bc7577c5c0e8ed56122f940847c2d3c20c8bf3d453fc"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "c9d1319f94e5f73bb4f514d50477faa1",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 3197668,
"upload_time": "2024-07-18T16:19:39",
"upload_time_iso_8601": "2024-07-18T16:19:39.403579Z",
"url": "https://files.pythonhosted.org/packages/42/3b/77299d049e3cabd91b366455b3f46cfd23425a45d47edd30481b76dd396d/tmtools-0.2.0-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "610840316e87925e174cf4072bce16526d61ab7652f141503a29a5f7b2c130ed",
"md5": "973f5c24628b1e5dc54cacbc01d7611f",
"sha256": "d66d71bbb347b89a1dc83cf76921fe5da65d6142fbfa4fc644999755861e2cc3"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "973f5c24628b1e5dc54cacbc01d7611f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 3208315,
"upload_time": "2024-07-18T16:19:40",
"upload_time_iso_8601": "2024-07-18T16:19:40.948538Z",
"url": "https://files.pythonhosted.org/packages/61/08/40316e87925e174cf4072bce16526d61ab7652f141503a29a5f7b2c130ed/tmtools-0.2.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c2b81e98374e372641f3be588eaaccfa6d88fb8603a3d46aa92202e285691f3f",
"md5": "0988d76acd51834c32d94196a603ff1d",
"sha256": "0210743c10334f4cd6ca0e69070e39a2f4b540beea57424971eda91fd73b4632"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "0988d76acd51834c32d94196a603ff1d",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 3271336,
"upload_time": "2024-07-18T16:19:42",
"upload_time_iso_8601": "2024-07-18T16:19:42.672758Z",
"url": "https://files.pythonhosted.org/packages/c2/b8/1e98374e372641f3be588eaaccfa6d88fb8603a3d46aa92202e285691f3f/tmtools-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e591ce87f259bfe90155753fa5df30b41611fff3bf02c5b0eb6e8c74f7fa737f",
"md5": "f02b0c06d4bc57eac6ef95ca49cc676d",
"sha256": "d33ade0205557d3840f1603dc5127700f1002b6fad810702588bdc27bfa828e9"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "f02b0c06d4bc57eac6ef95ca49cc676d",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 3263808,
"upload_time": "2024-07-18T16:19:44",
"upload_time_iso_8601": "2024-07-18T16:19:44.032727Z",
"url": "https://files.pythonhosted.org/packages/e5/91/ce87f259bfe90155753fa5df30b41611fff3bf02c5b0eb6e8c74f7fa737f/tmtools-0.2.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5f77d5d07ccdfd60f39c82f67236d80a1d526a8f42d2ad9d00f3db9c4c8c9412",
"md5": "756f7070677cf4eed3d42359bad684fc",
"sha256": "3893d3232109e7c172a5bb3a0a2254f60fd06a65b1fb48c3e8acafa1fcc91a1e"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "756f7070677cf4eed3d42359bad684fc",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 3323988,
"upload_time": "2024-07-18T16:19:45",
"upload_time_iso_8601": "2024-07-18T16:19:45.622508Z",
"url": "https://files.pythonhosted.org/packages/5f/77/d5d07ccdfd60f39c82f67236d80a1d526a8f42d2ad9d00f3db9c4c8c9412/tmtools-0.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "09930355d732a53fc8e9055159e1f09b0a2c96b459286548c17679f6b59617d1",
"md5": "136cc2b7a4188391288dd63da4cf6c68",
"sha256": "a948ea3214a129ed136f1695f6b1eacdfc953ac579b9b864334d7a18589a421b"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "136cc2b7a4188391288dd63da4cf6c68",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 3315362,
"upload_time": "2024-07-18T16:19:46",
"upload_time_iso_8601": "2024-07-18T16:19:46.988666Z",
"url": "https://files.pythonhosted.org/packages/09/93/0355d732a53fc8e9055159e1f09b0a2c96b459286548c17679f6b59617d1/tmtools-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "80ed8f40e98b14465b50cfb232a6d8ae1c1eb7904e7bdaccf1c4aa69b9576132",
"md5": "ce9d23a07301c1040d8b53a4e7b2f727",
"sha256": "2dfe3b1f83d3ffb1f34030ce68d927eadc78267dae1a2643b13b9c28f68086c7"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp312-cp312-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "ce9d23a07301c1040d8b53a4e7b2f727",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 3883575,
"upload_time": "2024-07-18T16:19:48",
"upload_time_iso_8601": "2024-07-18T16:19:48.401548Z",
"url": "https://files.pythonhosted.org/packages/80/ed/8f40e98b14465b50cfb232a6d8ae1c1eb7904e7bdaccf1c4aa69b9576132/tmtools-0.2.0-cp312-cp312-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d05f29e105047e945bd5b61a389fd1010ae28ab7e3ca09c87e1437af8955e083",
"md5": "d4fa14f7443ea4026aceb65ed13816c4",
"sha256": "852eb77980e737065bb87d3ad5544dabe5b25f66a88845c62d65e34304162aa4"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp312-cp312-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "d4fa14f7443ea4026aceb65ed13816c4",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 3826307,
"upload_time": "2024-07-18T16:19:49",
"upload_time_iso_8601": "2024-07-18T16:19:49.889730Z",
"url": "https://files.pythonhosted.org/packages/d0/5f/29e105047e945bd5b61a389fd1010ae28ab7e3ca09c87e1437af8955e083/tmtools-0.2.0-cp312-cp312-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6b84b936e88a6c3a5bc2af94fa8b97d76afa83a7fce3a330b02659e90f197c5e",
"md5": "a0b5a90194e28ccd1789bc8894eeab64",
"sha256": "c766b60ca803b7f89de2728a245154ff052569a1aa810aafaf9f866d49a0e9d7"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp312-cp312-win32.whl",
"has_sig": false,
"md5_digest": "a0b5a90194e28ccd1789bc8894eeab64",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 3198050,
"upload_time": "2024-07-18T16:19:51",
"upload_time_iso_8601": "2024-07-18T16:19:51.245635Z",
"url": "https://files.pythonhosted.org/packages/6b/84/b936e88a6c3a5bc2af94fa8b97d76afa83a7fce3a330b02659e90f197c5e/tmtools-0.2.0-cp312-cp312-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ee70acd96fcb601370df4a3cf9be25ae624c351c1ff2eb7037dbe7ec565092ed",
"md5": "224d62b59791e4d69ca4b476d227e804",
"sha256": "9ca78d1cc24dbd2e4be2aabbe88bdf80ce4b9a56bf55ce9fb242c6fe3829c6bb"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "224d62b59791e4d69ca4b476d227e804",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": null,
"size": 3208785,
"upload_time": "2024-07-18T16:19:52",
"upload_time_iso_8601": "2024-07-18T16:19:52.563910Z",
"url": "https://files.pythonhosted.org/packages/ee/70/acd96fcb601370df4a3cf9be25ae624c351c1ff2eb7037dbe7ec565092ed/tmtools-0.2.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0e6382ee87f6c56d1cbb6bed9b618486a8db5b606f79422d24c9ed54dafe11df",
"md5": "a5d5dcb4518897b0811e8adf2db6d484",
"sha256": "75b25220e9f1ade7f39f3fb58665d9026c7a96db34dafa8ca8af499ee4432186"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "a5d5dcb4518897b0811e8adf2db6d484",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 3270458,
"upload_time": "2024-07-18T16:19:54",
"upload_time_iso_8601": "2024-07-18T16:19:54.494246Z",
"url": "https://files.pythonhosted.org/packages/0e/63/82ee87f6c56d1cbb6bed9b618486a8db5b606f79422d24c9ed54dafe11df/tmtools-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fe4978c91edab0c3f173dfcb1ca45b3aa9cf83072c193e4b359c888ca1ebf00e",
"md5": "6c33d780b38519c55fd9eee92b7fb5ba",
"sha256": "622835f47a3f8a7cbe04166478822d3275c705101c330b5c5e1ba81609be90ed"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp38-cp38-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "6c33d780b38519c55fd9eee92b7fb5ba",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 3263213,
"upload_time": "2024-07-18T16:19:56",
"upload_time_iso_8601": "2024-07-18T16:19:56.374863Z",
"url": "https://files.pythonhosted.org/packages/fe/49/78c91edab0c3f173dfcb1ca45b3aa9cf83072c193e4b359c888ca1ebf00e/tmtools-0.2.0-cp38-cp38-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "84927cad93fc8947417e9633b95af56620409fe39552b302deb5af58510a27c9",
"md5": "312abc5d196bfa31abf745067b086ed1",
"sha256": "a791502f94b3da7d744bb435e423de7066d22c738089e6b284040c6541dc78a1"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "312abc5d196bfa31abf745067b086ed1",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 3323537,
"upload_time": "2024-07-18T16:19:57",
"upload_time_iso_8601": "2024-07-18T16:19:57.718716Z",
"url": "https://files.pythonhosted.org/packages/84/92/7cad93fc8947417e9633b95af56620409fe39552b302deb5af58510a27c9/tmtools-0.2.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "cae45e1f963e970fbde64710282a261a7896d2e11eb9377651bdd9b9cf8ce36b",
"md5": "0974d5f7a4024faa25b35faf9a5c842c",
"sha256": "f3a982fd9c1d5a4546ed36109e269440ba54c1ddedd58f684b94774549ed310a"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "0974d5f7a4024faa25b35faf9a5c842c",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 3315181,
"upload_time": "2024-07-18T16:19:59",
"upload_time_iso_8601": "2024-07-18T16:19:59.163263Z",
"url": "https://files.pythonhosted.org/packages/ca/e4/5e1f963e970fbde64710282a261a7896d2e11eb9377651bdd9b9cf8ce36b/tmtools-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8ef2e5ed549fa972feb3bdeabac1a46ac441e4288467513405e887e45267c446",
"md5": "bd818411f3a432642da826c2064d1029",
"sha256": "592f77392f1213887eca77c93e30ca8327fc65e29a462ae20d4024186d46469a"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp38-cp38-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "bd818411f3a432642da826c2064d1029",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 3883597,
"upload_time": "2024-07-18T16:20:01",
"upload_time_iso_8601": "2024-07-18T16:20:01.034761Z",
"url": "https://files.pythonhosted.org/packages/8e/f2/e5ed549fa972feb3bdeabac1a46ac441e4288467513405e887e45267c446/tmtools-0.2.0-cp38-cp38-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "908b58caf1a96f714cc8c95c932779ea73f3198ef9561a81ba1077d2e3816b3e",
"md5": "7cd9c66ab6e2c7c05e609f822c84012c",
"sha256": "b4107feb1afca05eab367673f8f9dff6d7621de4ea90ce69d79def61adbffaad"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp38-cp38-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "7cd9c66ab6e2c7c05e609f822c84012c",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 3825765,
"upload_time": "2024-07-18T16:20:02",
"upload_time_iso_8601": "2024-07-18T16:20:02.426620Z",
"url": "https://files.pythonhosted.org/packages/90/8b/58caf1a96f714cc8c95c932779ea73f3198ef9561a81ba1077d2e3816b3e/tmtools-0.2.0-cp38-cp38-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ccf3ed58a76c562d04bdbc7819c938d0105afa309c2130b2154462d3b8634711",
"md5": "749db3a19b09d63009385c5ebe292c35",
"sha256": "5e33ec8495ca8ef5e5e32bc3f171e4d92295ca4c958ca15cc9630b4d90ef5548"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "749db3a19b09d63009385c5ebe292c35",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 3197559,
"upload_time": "2024-07-18T16:20:03",
"upload_time_iso_8601": "2024-07-18T16:20:03.792184Z",
"url": "https://files.pythonhosted.org/packages/cc/f3/ed58a76c562d04bdbc7819c938d0105afa309c2130b2154462d3b8634711/tmtools-0.2.0-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "30dce237a5f466b27aac8f2004fd30fa4c0202e607b79297e31d4e8bbde7865e",
"md5": "cbd46dcdeffe4c78bf92672fe580ff05",
"sha256": "a781a2892cf541f6050e66312dc688a35f4bd7374e5f51b1b72a8cbd5d08296f"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "cbd46dcdeffe4c78bf92672fe580ff05",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 3208194,
"upload_time": "2024-07-18T16:20:05",
"upload_time_iso_8601": "2024-07-18T16:20:05.314923Z",
"url": "https://files.pythonhosted.org/packages/30/dc/e237a5f466b27aac8f2004fd30fa4c0202e607b79297e31d4e8bbde7865e/tmtools-0.2.0-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "60ed8e6c542dfa7cce7eea0695647d3d5a6afad56ea8d0ea602c581c76a7dda2",
"md5": "aa963d5170e806f375b5113bb80c5491",
"sha256": "86b031a617e9709a53dd2b1da95005fc25303dcd98d5b509d10b00665af7195d"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "aa963d5170e806f375b5113bb80c5491",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 3270632,
"upload_time": "2024-07-18T16:20:07",
"upload_time_iso_8601": "2024-07-18T16:20:07.108260Z",
"url": "https://files.pythonhosted.org/packages/60/ed/8e6c542dfa7cce7eea0695647d3d5a6afad56ea8d0ea602c581c76a7dda2/tmtools-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2561c39d498a8fbf97e583acf048ca6f01f2bea546612a9cecdaea21efd2b6e4",
"md5": "c9b0a264187a232d1952aa11e2478bfa",
"sha256": "0c94851c8e05dba685b0cbf8a9200b34813331d463ed0606f188bfe3d5823c12"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "c9b0a264187a232d1952aa11e2478bfa",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 3263403,
"upload_time": "2024-07-18T16:20:08",
"upload_time_iso_8601": "2024-07-18T16:20:08.842208Z",
"url": "https://files.pythonhosted.org/packages/25/61/c39d498a8fbf97e583acf048ca6f01f2bea546612a9cecdaea21efd2b6e4/tmtools-0.2.0-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c0173fde0af45cc1c215bbe48a518fa41758086aae667eb95740b32b7c12b5e6",
"md5": "384a01ad46f2c8f95820c2ef07e7ae89",
"sha256": "ee810adfb94574786bb93c4429f2b1c197bbf86b4eaf047f4b7f9a92e6d0616e"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "384a01ad46f2c8f95820c2ef07e7ae89",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 3323861,
"upload_time": "2024-07-18T16:20:11",
"upload_time_iso_8601": "2024-07-18T16:20:11.183614Z",
"url": "https://files.pythonhosted.org/packages/c0/17/3fde0af45cc1c215bbe48a518fa41758086aae667eb95740b32b7c12b5e6/tmtools-0.2.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f8bfe10c092616949c9b60bc56108a7c684d5ab0a2d030ef83b8cee2650163ab",
"md5": "ff6937a896700d8a5770ad9cf99f63ae",
"sha256": "9a894f1f8ea92a9d1395ab91ace3a6b19ddb9b28cf105ee4954dfc00e4ef722a"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ff6937a896700d8a5770ad9cf99f63ae",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 3315542,
"upload_time": "2024-07-18T16:20:13",
"upload_time_iso_8601": "2024-07-18T16:20:13.077535Z",
"url": "https://files.pythonhosted.org/packages/f8/bf/e10c092616949c9b60bc56108a7c684d5ab0a2d030ef83b8cee2650163ab/tmtools-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "acc571b4109362bac58e82d8768293d54e5e998ded26e302a2b557d19341a62a",
"md5": "4517338c5a5ee2bed6d6215319f056d3",
"sha256": "d34806d5673fd9e40e18e132a9b8e8f79c3d678f7c90c2dbf24de7a1dd75b107"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp39-cp39-musllinux_1_1_i686.whl",
"has_sig": false,
"md5_digest": "4517338c5a5ee2bed6d6215319f056d3",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 3883971,
"upload_time": "2024-07-18T16:20:15",
"upload_time_iso_8601": "2024-07-18T16:20:15.197406Z",
"url": "https://files.pythonhosted.org/packages/ac/c5/71b4109362bac58e82d8768293d54e5e998ded26e302a2b557d19341a62a/tmtools-0.2.0-cp39-cp39-musllinux_1_1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d6107dbabfd4944abc993e79735482da5c77192a9c130a77214d99fec53e7969",
"md5": "5b5dc8766e70cf820c8b8e7cde4dd026",
"sha256": "353d8fc5922281255858ee348a7eae4b986b74834684caf44a77a504607c695f"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp39-cp39-musllinux_1_1_x86_64.whl",
"has_sig": false,
"md5_digest": "5b5dc8766e70cf820c8b8e7cde4dd026",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 3825929,
"upload_time": "2024-07-18T16:20:17",
"upload_time_iso_8601": "2024-07-18T16:20:17.115795Z",
"url": "https://files.pythonhosted.org/packages/d6/10/7dbabfd4944abc993e79735482da5c77192a9c130a77214d99fec53e7969/tmtools-0.2.0-cp39-cp39-musllinux_1_1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f271521108a5f1e0ab49d358cb1ef09ce36011c70972cb3fbf6fd370844b2a14",
"md5": "e92fd408adfcbf0894321d52bb86ca60",
"sha256": "0e251e18502ab112f358b673ee6da7f439cb03a75d97b56acb39ed372eba658c"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "e92fd408adfcbf0894321d52bb86ca60",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 3197736,
"upload_time": "2024-07-18T16:20:18",
"upload_time_iso_8601": "2024-07-18T16:20:18.994090Z",
"url": "https://files.pythonhosted.org/packages/f2/71/521108a5f1e0ab49d358cb1ef09ce36011c70972cb3fbf6fd370844b2a14/tmtools-0.2.0-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "81cb4f3145b64dba1cdccde4811e61c548a7c59f6a84052c9647e6bfdd379a4c",
"md5": "5addfe832496eb0929835eeb9f927013",
"sha256": "a45947c20404a86f870bb8db499889c4045b75f67e43c3c5fe36adc28f7128ab"
},
"downloads": -1,
"filename": "tmtools-0.2.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "5addfe832496eb0929835eeb9f927013",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 3208369,
"upload_time": "2024-07-18T16:20:20",
"upload_time_iso_8601": "2024-07-18T16:20:20.329660Z",
"url": "https://files.pythonhosted.org/packages/81/cb/4f3145b64dba1cdccde4811e61c548a7c59f6a84052c9647e6bfdd379a4c/tmtools-0.2.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f69fdb455f7fc8383643c1d631b277d58feb58aea28da83590a5e82e699249ce",
"md5": "d3355d431a3467ede60ac02d6027a147",
"sha256": "e2d6422f5af91ee41753fb2e9776140785eb818ec83d7aef8a8b2f296f05e72c"
},
"downloads": -1,
"filename": "tmtools-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "d3355d431a3467ede60ac02d6027a147",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3142718,
"upload_time": "2024-07-18T16:20:21",
"upload_time_iso_8601": "2024-07-18T16:20:21.614692Z",
"url": "https://files.pythonhosted.org/packages/f6/9f/db455f7fc8383643c1d631b277d58feb58aea28da83590a5e82e699249ce/tmtools-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-18 16:20:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jvkersch",
"github_project": "tmtools",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "tmtools"
}