tmtools


Nametmtools JSON
Version 0.2.0 PyPI version JSON
download
home_pagehttps://github.com/jvkersch/tmtools
SummaryPython bindings around the TM-align code for structural alignment of proteins
upload_time2024-07-18 16:20:21
maintainerNone
docs_urlNone
authorJoris Vankerschaver
requires_pythonNone
licenseGPLv3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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"
}
        
Elapsed time: 0.26958s