{ "info": { "author": "Petr Splichal", "author_email": "psplicha@redhat.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Topic :: Utilities" ], "description": ".. _overview:\n\n======================\n tmt\n======================\n\nTest Management Tool\n\n\nDescription\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe ``tmt`` tool provides a user-friendly way to work with tests.\nYou can comfortably create new tests, safely and easily run tests\nacross different environments, review test results, debug test\ncode and enable tests in the CI using a consistent and concise\nconfig.\n\nThe python module and command-line tool implement the Metadata\nSpecification which allows storing all needed test execution data\ndirectly within a git repository. Together with possibility to\nreference remote repositories it makes it easy to share test\ncoverage across projects and distros.\n\nThe Flexible Metadata Format ``fmf`` is used to store data in both\nhuman and machine readable way close to the source code. Thanks to\ninheritance and elasticity metadata are organized in the structure\nefficiently, preventing unnecessary duplication.\n\n\nSpecification\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThere are several metadata levels defined by the specification:\n\n**Core** attributes such as `summary` or `description` which are\ncommon across all levels are defined by the special L0 metadata.\n\n**Tests**, or L1 metadata, define attributes which are closely\nrelated to individual test cases such as `test` script,\n`framework`, directory `path` where the test should be executed,\nmaximum test `duration` or packages required to run the test.\n\n**Plans**, also called L2 metadata, are used to group relevant\ntests and enable them in the CI. They describe how to `discover`\ntests for execution, how to `provision` the environment, how to\n`prepare` it for testing, how to `execute` tests and `report` test\nresults.\n\n**Stories**, which implement the L3 metadata, can be used to track\nimplementation, test and documentation coverage for individual\nfeatures or requirements. Thanks to this you can track everything\nin one place, including the project implementation progress.\n\n\nSynopsis\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nCommand line usage is straightforward::\n\n tmt command [options]\n\n\nExamples\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nLet's see which tests, plans and stories are available::\n\n tmt\n\nInitialize the metadata tree in the current directory, optionally\nwith example content based on templates::\n\n tmt init\n tmt init --template base\n\nRun all or selected steps for each plan::\n\n tmt run\n tmt run discover\n tmt run prepare execute\n\nList tests, show details, check against the specification::\n\n tmt test ls\n tmt test show\n tmt test lint\n\nCreate a new test, import test metadata from other formats::\n\n tmt test create\n tmt test import\n\nList plans, show details, check against the specification::\n\n tmt plan ls\n tmt plan show\n tmt plan lint\n\nList stories, check details, show coverage status::\n\n tmt story ls\n tmt story show\n tmt story coverage\n\nMany commands support regular expression filtering and other\nspecific options::\n\n tmt story ls cli\n tmt story show create\n tmt story coverage --implemented\n\nCheck help message of individual commands for the full list of\navailable options.\n\n\nOptions\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nHere is the list of the most frequently used commands and options.\n\nRun\n---\n\nThe `run` command is used to execute test steps. By default all\ntest steps are run. See the L2 Metadata specification for detailed\ndescription of individual steps. Here is a brief overview:\n\ndiscover\n Gather information about test cases to be executed.\n\nprovision\n Provision an environment for testing or use localhost.\n\nprepare\n Prepare the environment for testing.\n\nexecute\n Run tests using the specified executor.\n\nreport\n Provide test results overview and send reports.\n\nfinish\n Perform the finishing tasks and clean up provisioned guests.\n\n\nTest\n----\n\nManage tests (L1 metadata). Check available tests, inspect their\nmetadata, gather old metadata from various sources and stored them\nin the new fmf format.\n\nls\n List available tests.\nshow\n Show test details.\nlint\n Check tests against the L1 metadata specification.\ncreate\n Create a new test based on given template.\nimport\n Convert old test metadata into the new fmf format.\n\n\nPlan\n----\n\nManage test plans (L2 metadata). Search for available plans.\nExplore detailed test step configuration.\n\nls\n List available plans.\nshow\n Show plan details.\nlint\n Check plans against the L2 metadata specification.\n\n\nStory\n-----\n\nManage user stories. Check available user stories. Explore\ncoverage (test, implementation, documentation).\n\nls\n List available stories.\nshow\n Show story details.\ncoverage\n Show code, test and docs coverage for given stories.\nexport\n Export selected stories into desired format.\n\n\nUtils\n-----\n\nVarious utility options.\n\n--root PATH\n Path to the metadata tree, current directory used by default.\n\n--verbose\n Print additional information.\n\n--debug\n Turn on debugging output.\n\nCheck help message of individual commands for the full list of\navailable options.\n\n\n.. _install:\n\nInstall\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe main ``tmt`` package provides the core features with a minimal\nset of dependencies::\n\n sudo dnf install tmt\n\nIn order to enable additional functionality, such as particular\nprovision or report plugins, install the respective subpackage::\n\n sudo dnf install tmt-test-convert\n sudo dnf install tmt-report-html\n sudo dnf install tmt-provision-container\n sudo dnf install tmt-provision-virtual\n\nIf you don't care about disk space and want to have all available\nfeatures right at hand install everything::\n\n sudo dnf install tmt-all\n\nFor CentOS and RHEL, first make sure that you have available the\n`EPEL `_ repository.\nYou might also have to enable additional repositories::\n\n sudo dnf config-manager --enable powertools # CentOS 8\n sudo dnf config-manager --enable rhel-CRB # RHEL 8\n sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm\n\n sudo dnf config-manager --enable crb # CentOS 9\n sudo dnf config-manager --enable rhel-CRB # RHEL 9\n sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm\n\n sudo dnf install tmt\n\nFor plugins which cannot work outside of VPN and so live within\nits walls you need to enable the internal copr repository first.\nThen you can install either everything or only those you need::\n\n sudo dnf install tmt-redhat-all\n sudo dnf install tmt-redhat-*\n\nImpatient to try the fresh features as soon as possible? Install\nthe latest greatest version from the ``copr`` repository::\n\n sudo dnf copr enable psss/tmt\n sudo dnf install tmt\n\nNot sure, just want to try out how it works? Experiment safely and\neasily inside a container::\n\n podman run -it --rm quay.io/testing-farm/tmt bash\n podman run -it --rm quay.io/testing-farm/tmt-all bash\n\nWhen installing using ``pip`` you might need to install additional\npackages on your system::\n\n sudo dnf install gcc {python3,libvirt,krb5,libpq}-devel\n pip install --user tmt\n\nNote: You can omit the ``--user`` flag if in a virtual environment.\n\n\nShell Completion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe rpm package includes a system wide script which enables the\ncommand line completion for ``bash`` so no additional config\nshould be needed. If you use a different installation method or\nprefer another shell, see the instructions below.\n\nFor Bash, add this to ``~/.bashrc``::\n\n eval \"$(_TMT_COMPLETE=source_bash tmt)\"\n\nFor Zsh, add this to ``~/.zshrc``::\n\n eval \"$(_TMT_COMPLETE=source_zsh tmt)\"\n\nFor Fish, add this to ``~/.config/fish/completions/tmt.fish``::\n\n eval (env _TMT_COMPLETE=source_fish tmt)\n\nOpen a new shell to enable completion. Or run the ``eval`` command\ndirectly in your current shell to enable it temporarily.\n\nThis is however run every time you start a shell which can cause\nsome delay. To speed it up, write the generated script to a file\nand then source it from your shell's configuration file. All\nof this can be achieved using ``tmt setup completion`` command.\nBy default, it outputs the completion script to the terminal but\nit can also add it to your ``~/.bashrc`` or ``~/.zshrc`` using\nthe ``--install`` option::\n\n tmt setup completion {bash, zsh, fish} --install\n\n\nExit Codes\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe following exit codes are returned from ``tmt run``. Note that\nyou can use the ``--quiet`` option to completely disable output\nand only check for the exit code.\n\n0\n At least one test passed, there was no fail, warn or error.\n1\n There was a fail or warn identified, but no error.\n2\n Errors occured during test execution.\n3\n No test results found.\n\n\nVariables\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe following environment variables can be used to modify\nbehaviour of the ``tmt`` command.\n\nTMT_DEBUG\n Enable the desired debug level. Most of the commands support\n levels from 1 to 3. However, some of the plugins go even\n deeper when needed.\n\nTMT_PLUGINS\n Path to a directory with additional plugins. Multiple paths\n separated with the ``:`` character can be provided as well.\n\nNO_COLOR\n Disable colors in the terminal output. Output only plain,\n non-colored text. See https://no-color.org/ for more\n information.\n\nThe following environment variables are provided to the test\nduring the execution:\n\nTMT_TREE\n The full path of the working directory where the metadata tree\n is copied. This usually contains the whole git repository from\n which tests have been executed.\n\nTMT_TEST_DATA\n Path to the directory where test can store logs and other\n artifacts generated during its execution. These will be pulled\n back from the guest and available for inspection after the\n test execution is finished.\n\nTMT_PLAN_DATA\n Path to the common directory used for storing logs and other\n artifacts related to the whole plan execution. It is pulled\n back from the guest and available for inspection after the\n plan is completed.\n\nTMT_REBOOT_COUNT\n During the test execution the ``tmt-reboot`` command can be\n used to request reboot of the guest. This variable contains\n number of reboots which already happened during the test.\n Value is set to ``0`` if no reboot occurred.\n\n In order to keep backward-compatibility with older tests,\n ``rhts-reboot`` and ``rstrnt-reboot`` commands are supported\n for requesting the reboot, variables ``REBOOTCOUNT`` and\n ``RSTRNT_REBOOTCOUNT`` contain number of reboots as well.\n\n\nLinks\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nGit:\nhttps://github.com/teemtee/tmt\n\nDocs:\nhttp://tmt.readthedocs.io/\n\nStories:\nhttps://tmt.readthedocs.io/en/stable/stories.html\n\nIssues:\nhttps://github.com/teemtee/tmt/issues\n\nReleases:\nhttps://github.com/teemtee/tmt/releases\n\nCopr:\nhttp://copr.fedoraproject.org/coprs/psss/tmt\n\nPIP:\nhttps://pypi.org/project/tmt/\n\nMetadata Specification:\nhttps://tmt.readthedocs.io/en/stable/spec.html\n\nFlexible Metadata Format:\nhttp://fmf.readthedocs.io/\n\nPackit & Testing Farm:\nhttps://packit.dev/testing-farm/\n\n\nAuthors\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nPetr \u0160pl\u00edchal, Miro Hron\u010dok, Alexander Sosedkin, Luk\u00e1\u0161 Zachar,\nPetr Men\u0161\u00edk, Leo\u0161 Pol, Miroslav Vadkerti, Pavel Valena, Jakub\nHeger, Honza Hor\u00e1k, Rachel Sibley, Franti\u0161ek Ne\u010das, Michal\nRuprich, Martin Kyral, Milo\u0161 Prchl\u00edk, Tom\u00e1\u0161 Navr\u00e1til, Franti\u0161ek\nLachman, Patrik Kis, Ondrej Mosn\u00e1\u010dek, Andrea Fickov\u00e1, Denis\nKarpelevich, Michal Srb, Jan \u0160\u010dotka, Artem Zhukov, Vinzenz\nFeenstra, Inessa Vasilevskaya, \u0160t\u011bp\u00e1n N\u011bmec, Robin Hack, Yulia\nKopkova, Ondrej Mori\u0161, Martin Zelen\u00fd, Karel \u0160rot, Franti\u0161ek\nZatloukal, Simon Walter, Petr Maty\u00e1\u0161, Yariv Rachmani, Pavel\nCahyna, Martin Litwora, Brian Grech, Vojt\u011bch Eichler, Philip Daly\nand Vector Li.\n\n\nCopyright\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nCopyright Red Hat\n\nThis program is free software; you can redistribute it and/or\nmodify it under the terms of the MIT License.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/teemtee/tmt/archive/main.zip", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/teemtee/tmt", "keywords": "metadata,testing", "license": "MIT", "maintainer": "Petr Splichal", "maintainer_email": "psplicha@redhat.com", "name": "tmt", "package_url": "https://pypi.org/project/tmt/", "platform": null, "project_url": "https://pypi.org/project/tmt/", "project_urls": { "Download": "https://github.com/teemtee/tmt/archive/main.zip", "Homepage": "https://github.com/teemtee/tmt" }, "release_url": "https://pypi.org/project/tmt/1.13.0/", "requires_dist": [ "click", "fmf (>=1.0.0)", "requests", "ruamel.yaml", "html2text ; extra == 'all'", "jinja2 ; extra == 'all'", "junit-xml ; extra == 'all'", "markdown ; extra == 'all'", "nitrate ; extra == 'all'", "pre-commit ; extra == 'all'", "pytest ; extra == 'all'", "python-bugzilla ; extra == 'all'", "python-coveralls ; extra == 'all'", "requre ; extra == 'all'", "sphinx (>=3) ; extra == 'all'", "sphinx-rtd-theme ; extra == 'all'", "testcloud (>=0.7.0) ; extra == 'all'", "html2text ; extra == 'convert'", "markdown ; extra == 'convert'", "nitrate ; extra == 'convert'", "python-bugzilla ; extra == 'convert'", "sphinx (>=3) ; extra == 'docs'", "sphinx-rtd-theme ; extra == 'docs'", "testcloud (>=0.7.0) ; extra == 'provision'", "jinja2 ; extra == 'report-html'", "junit-xml ; extra == 'report-junit'", "pre-commit ; extra == 'tests'", "pytest ; extra == 'tests'", "python-coveralls ; extra == 'tests'", "requre ; extra == 'tests'" ], "requires_python": "", "summary": "Test Management Tool", "version": "1.13.0", "yanked": false, "yanked_reason": null }, "last_serial": 13691132, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "611d494c5f721e5c97b4fd79c712ef2a", "sha256": "69d021863b5d697d3738c4e22756353c36f97d3976076e6465cbea1423b9e6de" }, "downloads": -1, "filename": "tmt-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "611d494c5f721e5c97b4fd79c712ef2a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5928, "upload_time": "2019-09-06T11:21:24", "upload_time_iso_8601": "2019-09-06T11:21:24.316895Z", "url": "https://files.pythonhosted.org/packages/d0/40/62de65958f8f94f86eff00abc19353bb766ab394fe14fbd0e3966e84de94/tmt-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.14.1": [ { "comment_text": "", "digests": { "md5": "385f680586a636f6498128315f847ace", "sha256": "78e18b2aba9a79c9a49f5a054da9ca4c85cc723ec1c7f785296eb4a16fabc041" }, "downloads": -1, "filename": "tmt-0.14.1-py3-none-any.whl", "has_sig": false, "md5_digest": "385f680586a636f6498128315f847ace", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 67073, "upload_time": "2020-04-17T06:43:44", "upload_time_iso_8601": "2020-04-17T06:43:44.809048Z", "url": "https://files.pythonhosted.org/packages/8d/d5/6d7bbe18bd36aaee47395a1d25821fde9bc5527fb1edf92f1e45a3764b79/tmt-0.14.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.15.1": [ { "comment_text": "", "digests": { "md5": "fdcebb441e1b6247e16f12ce08917486", "sha256": "c2ef7e0f9287816be139b1f0c436dd3e1f92ed014b3ed45e04b394ed18216874" }, "downloads": -1, "filename": "tmt-0.15.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fdcebb441e1b6247e16f12ce08917486", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 76051, "upload_time": "2020-04-29T13:31:03", "upload_time_iso_8601": "2020-04-29T13:31:03.328475Z", "url": "https://files.pythonhosted.org/packages/85/db/f00f2f2d0b9b2fb71b5b5439e70362409a0a8dd2e098456704adada0fdca/tmt-0.15.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "2095d7db7435b2e51913456ac08c0a09", "sha256": "5a5f8676b2a39575e5e82fc749adcf95ac3563c5abfcbfbe397f8a28f76aae76" }, "downloads": -1, "filename": "tmt-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2095d7db7435b2e51913456ac08c0a09", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17736, "upload_time": "2019-10-09T16:39:01", "upload_time_iso_8601": "2019-10-09T16:39:01.273895Z", "url": "https://files.pythonhosted.org/packages/bc/1f/58633f425aaee17a3e277a6189dbddaaed511dfb954f3d3ed3d51507b917/tmt-0.2.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.20.1": [ { "comment_text": "", "digests": { "md5": "d44d94544a5597b6200156fb8cf671cc", "sha256": "acba35db7400e51472b81e2d37f99a95dba0d58e8f8a83ae019301b3c019df2b" }, "downloads": -1, "filename": "tmt-0.20.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d44d94544a5597b6200156fb8cf671cc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 98245, "upload_time": "2020-07-29T12:43:26", "upload_time_iso_8601": "2020-07-29T12:43:26.988240Z", "url": "https://files.pythonhosted.org/packages/54/a7/0339b12b5e77f2bd0034844707b11b358f852cdecb62c668ccebd708e6f0/tmt-0.20.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.21.1": [ { "comment_text": "", "digests": { "md5": "9871a2f8874bfdaa8a07a39273343063", "sha256": "5d9a33ab974c2d177e405dbaac41ae3bc05efa8e2bb11aa90886cc5571407964" }, "downloads": -1, "filename": "tmt-0.21.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9871a2f8874bfdaa8a07a39273343063", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 100612, "upload_time": "2020-09-08T08:19:00", "upload_time_iso_8601": "2020-09-08T08:19:00.673976Z", "url": "https://files.pythonhosted.org/packages/99/e4/ac7e1086697690431a5c28843a45de7483a21851bb255184cc53e4b16732/tmt-0.21.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "db2167bf89a4121019b051f240ab59c6", "sha256": "1ea58ce4d17ae90a1d776ca8f3b120605ed43f95dfea1025bfc8ac24dc46bc00" }, "downloads": -1, "filename": "tmt-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "db2167bf89a4121019b051f240ab59c6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18774, "upload_time": "2019-10-10T13:13:58", "upload_time_iso_8601": "2019-10-10T13:13:58.693122Z", "url": "https://files.pythonhosted.org/packages/aa/97/3239b8f97d903e88c0c715c80d25d0350a2f3c62ac517ad979e90bf445ce/tmt-0.3.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "3d8178248ac9c9811ea3de6a83f45937", "sha256": "079b701985b22d35c420149de6cba48ae117277895f0d38d98e023aafc87039e" }, "downloads": -1, "filename": "tmt-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3d8178248ac9c9811ea3de6a83f45937", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21594, "upload_time": "2019-10-17T14:01:26", "upload_time_iso_8601": "2019-10-17T14:01:26.256898Z", "url": "https://files.pythonhosted.org/packages/3d/28/763d29f6bba96a59f12af48518cf606c97a8d54bf495ec41f2a92a447be8/tmt-0.4.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "1bdc8cfdb647a0ac59427b70940c91ee", "sha256": "b85040f89fbdfbd18e3f3d5bdb80fb9687a652b02af121089056ee2fcca5a0e6" }, "downloads": -1, "filename": "tmt-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1bdc8cfdb647a0ac59427b70940c91ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 24523, "upload_time": "2019-10-29T13:05:21", "upload_time_iso_8601": "2019-10-29T13:05:21.850325Z", "url": "https://files.pythonhosted.org/packages/30/94/fb155793de9bdd00f8966293d0c2a4882ec8c2217b00e73be801c982eb57/tmt-0.5.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "cacdabd957e65eb8e9a901dfa1d7617c", "sha256": "4896a1033cb0c0e52d1472ed6831dd65cdaa132ac4ca4bc5e89f2f1b5c5ad6ec" }, "downloads": -1, "filename": "tmt-0.6.1-py3-none-any.whl", "has_sig": false, "md5_digest": "cacdabd957e65eb8e9a901dfa1d7617c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 38729, "upload_time": "2019-11-04T16:57:55", "upload_time_iso_8601": "2019-11-04T16:57:55.363418Z", "url": "https://files.pythonhosted.org/packages/61/5a/1c47b056045043b35ef068b5b6afcf1eb00df3566f23080a3a1d3b2542b9/tmt-0.6.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "292364c372201af5b8966f5c4f1db649", "sha256": "5b497b6439f33774369f4f47011c86110e18b0c84883da1c8196f039c80978bb" }, "downloads": -1, "filename": "tmt-0.8.1-py3-none-any.whl", "has_sig": false, "md5_digest": "292364c372201af5b8966f5c4f1db649", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 49109, "upload_time": "2020-01-16T10:42:07", "upload_time_iso_8601": "2020-01-16T10:42:07.270178Z", "url": "https://files.pythonhosted.org/packages/80/9c/9ef4db8c325d25487bf513af290e04bbbfc5925d49bce0770ddb2abbb94c/tmt-0.8.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "fb8e9c52450f38a4fd58306ecd6b1178", "sha256": "c49ff590bdcfa16d1d324875e750e36ad535cc2694104e9edb186aeb4b08410d" }, "downloads": -1, "filename": "tmt-0.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fb8e9c52450f38a4fd58306ecd6b1178", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 51198, "upload_time": "2020-03-04T20:01:30", "upload_time_iso_8601": "2020-03-04T20:01:30.227376Z", "url": "https://files.pythonhosted.org/packages/fa/3c/7d5e531fc3e2aae40cf5027dd4bb0bb9f01cbb674e0446eea369895a5daf/tmt-0.9.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.10.0": [ { "comment_text": "", "digests": { "md5": "1cccf2565287c8d4808e30579a99e021", "sha256": "ef41e917e390b8910277932b21ff03cdab9cb338af4c0658e9876aa47bd38514" }, "downloads": -1, "filename": "tmt-1.10.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1cccf2565287c8d4808e30579a99e021", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 134679, "upload_time": "2022-02-02T08:37:35", "upload_time_iso_8601": "2022-02-02T08:37:35.035671Z", "url": "https://files.pythonhosted.org/packages/f1/c2/8f4df7afb8afc6ec96978c45445ee534cccecefc2ef33dd4d7e02fa148c5/tmt-1.10.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.11.0": [ { "comment_text": "", "digests": { "md5": "781bde715b9d816cdaddcc18a6a191d2", "sha256": "acec0c281904f8e04705f3a2e9077c644fcd53d1c585f1331c9dd91258299340" }, "downloads": -1, "filename": "tmt-1.11.0-py3-none-any.whl", "has_sig": false, "md5_digest": "781bde715b9d816cdaddcc18a6a191d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 137703, "upload_time": "2022-03-02T14:40:29", "upload_time_iso_8601": "2022-03-02T14:40:29.758035Z", "url": "https://files.pythonhosted.org/packages/2a/3f/22a9a65c34d0b86cabab0bacef32488044d8fd214f20345168862c2a2ac2/tmt-1.11.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.12.0": [ { "comment_text": "", "digests": { "md5": "e7889877f9fe9f5b3536f5289d5f4785", "sha256": "df6a5f9d233e02ad299a0c23f2414d76c21196503d5246a0c54eb3c07ad5e8be" }, "downloads": -1, "filename": "tmt-1.12.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e7889877f9fe9f5b3536f5289d5f4785", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 140571, "upload_time": "2022-04-05T12:36:48", "upload_time_iso_8601": "2022-04-05T12:36:48.756300Z", "url": "https://files.pythonhosted.org/packages/95/70/ea4b341a2a293f88fe28538096c6d8439b7b7f54054830c5533ebe76bcba/tmt-1.12.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.13.0": [ { "comment_text": "", "digests": { "md5": "f16594e34b4a20d6731d68a95cd860a8", "sha256": "02ec1ae0685fd9024f20ab076cb53210ee90b06457ba7c2ac51ddd283b23d9fe" }, "downloads": -1, "filename": "tmt-1.13.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f16594e34b4a20d6731d68a95cd860a8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 147224, "upload_time": "2022-05-02T17:55:09", "upload_time_iso_8601": "2022-05-02T17:55:09.819886Z", "url": "https://files.pythonhosted.org/packages/0e/a9/be383e307eb55bda48b8d36480e0d44c6927ae25dfdb9d4f5b2d0dfc6a20/tmt-1.13.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.3.1.1": [ { "comment_text": "", "digests": { "md5": "f17046c27a096dd37aceb06be6e0fe5c", "sha256": "1f373fe554a0883f5ce90a7b81cac781dd9ec7dece5be1b140974648236b7995" }, "downloads": -1, "filename": "tmt-1.3.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f17046c27a096dd37aceb06be6e0fe5c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 114696, "upload_time": "2021-02-25T19:47:47", "upload_time_iso_8601": "2021-02-25T19:47:47.355917Z", "url": "https://files.pythonhosted.org/packages/11/ff/27749bf3b62634f206a6f68e50b209ef011616431758a0c699ee1998f092/tmt-1.3.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "c5c4e5dbdb4c80bd06722ccea3b920bb", "sha256": "a4a13c0224bf3b2d38ec325f259eefb5ab94d3bab3c02ed621269c86e57ba3a7" }, "downloads": -1, "filename": "tmt-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c5c4e5dbdb4c80bd06722ccea3b920bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 121712, "upload_time": "2021-04-07T09:03:04", "upload_time_iso_8601": "2021-04-07T09:03:04.137595Z", "url": "https://files.pythonhosted.org/packages/0e/29/62b02915d35ff19fe0b32162df0b5bb31b6892f09fe19b7e9ff2fb91e9f7/tmt-1.4.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "6e6b2979e7bcfef2e525b4880290b0c5", "sha256": "085ab2279a29be15ee85a6db6d5c3981cad634bbb9ad059c13c4a5bf9029cb02" }, "downloads": -1, "filename": "tmt-1.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "6e6b2979e7bcfef2e525b4880290b0c5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 126112, "upload_time": "2021-04-30T13:27:27", "upload_time_iso_8601": "2021-04-30T13:27:27.605556Z", "url": "https://files.pythonhosted.org/packages/48/99/0af066352c40da608b7e35706bf24dd61838d0a74329f114aad89ff1a1fe/tmt-1.5.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "26af4d5a6fa2adc57e27d75bc7ebba9a", "sha256": "70db51e6c1b617ca4a0015d2d6abf5e5c8516d5f0b3eba9a759200907db4f659" }, "downloads": -1, "filename": "tmt-1.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "26af4d5a6fa2adc57e27d75bc7ebba9a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 123434, "upload_time": "2021-06-02T19:17:58", "upload_time_iso_8601": "2021-06-02T19:17:58.972927Z", "url": "https://files.pythonhosted.org/packages/11/44/471cab552c4a0ddc95ef3d6878a72eabe98d0f8843ccff66640e2fe9e180/tmt-1.6.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "45b63b514253625b17245e15c7b93314", "sha256": "6761e2057405acbf9cd5443ac5551aefd3bad933199c481465122a76db57cdc4" }, "downloads": -1, "filename": "tmt-1.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "45b63b514253625b17245e15c7b93314", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 129348, "upload_time": "2021-09-13T12:52:26", "upload_time_iso_8601": "2021-09-13T12:52:26.298782Z", "url": "https://files.pythonhosted.org/packages/3a/68/ed310f65aa078c5682d4675f04fe7012f6c01297e993f61844beb2d2a225/tmt-1.7.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "7ce2b73564620816f1a7cff52fe1efee", "sha256": "d492eb527c7a0ccaba97972ef36deaa94e6cc9a0e340bbf14edff411661b688d" }, "downloads": -1, "filename": "tmt-1.8.0-py3-none-any.whl", "has_sig": false, "md5_digest": "7ce2b73564620816f1a7cff52fe1efee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 128703, "upload_time": "2021-09-30T14:24:12", "upload_time_iso_8601": "2021-09-30T14:24:12.177623Z", "url": "https://files.pythonhosted.org/packages/5f/7e/f7e9241769799015dcbae5d8845176dd3e9421cdd2542f620fb0dd918e09/tmt-1.8.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "1.9.0": [ { "comment_text": "", "digests": { "md5": "d57d08bcd5219be022ac85f40350f27e", "sha256": "c78080015579042f51d663b4791cac257efa923eb654e63730bf226beb41f9c6" }, "downloads": -1, "filename": "tmt-1.9.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d57d08bcd5219be022ac85f40350f27e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 132737, "upload_time": "2021-12-01T13:22:43", "upload_time_iso_8601": "2021-12-01T13:22:43.616898Z", "url": "https://files.pythonhosted.org/packages/cb/c2/6437879ae74d655601098cb95fb0fabbb0f572238944ba0d0dd91fd25c7d/tmt-1.9.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f16594e34b4a20d6731d68a95cd860a8", "sha256": "02ec1ae0685fd9024f20ab076cb53210ee90b06457ba7c2ac51ddd283b23d9fe" }, "downloads": -1, "filename": "tmt-1.13.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f16594e34b4a20d6731d68a95cd860a8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 147224, "upload_time": "2022-05-02T17:55:09", "upload_time_iso_8601": "2022-05-02T17:55:09.819886Z", "url": "https://files.pythonhosted.org/packages/0e/a9/be383e307eb55bda48b8d36480e0d44c6927ae25dfdb9d4f5b2d0dfc6a20/tmt-1.13.0-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }