{ "info": { "author": "Miro Hron\u010dok, Iryna Shcherbina, Michal Cyprian", "author_email": "mhroncok@redhat.com, ishcherb@redhat.com, mcyprian@redhat.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: CC0 1.0 Universal (CC0 1.0) Public Domain Dedication", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Software Development :: Testing" ], "description": "`Taskotron `__ task regarding Python versions\n=======================================================================================\n\nThis represents the automatic checks happening in the Fedora\ninfrastructure after any package is built.\n\nCurrently the following checks are available:\n\n- Whether a package does not require Python 2 and Python 3 at the same\n time;\n\n- Whether the package name follows the Python package naming scheme;\n\n- Whether the package uses versioned Python prefix in requirements' names;\n\n- Whether only Python 2 version of the package contains the executables;\n\n- Whether the package supports Python 3 upstream but not in the package;\n\n- Whether the package requires ``/usr/bin/python`` (or ``python-unversioned-command``).\n\n\nRunning\n-------\n\nTo run this task locally, execute the following command as root (don't do this\non a production machine!)::\n\n $ ansible-playbook tests.yml -e taskotron_item=\n\nwhere ``nevr`` is a Koji build ``name-(epoch:)version-release`` identifier.\n\nFor example::\n\n $ ansible-playbook tests.yml -e taskotron_item=python-gear-0.11.0-1.fc27\n\nYou can see the results in ``./artifacts/`` directory.\n\nYou can also run the above in mock::\n\n $ mock -r ./mock.cfg --init\n $ mock -r ./mock.cfg --copyin taskotron_python_versions *.py tests.yml /\n $ mock -r ./mock.cfg --shell 'ansible-playbook tests.yml -e taskotron_item=python-gear-0.11.0-1.fc27'\n $ mock -r ./mock.cfg --copyout artifacts artifacts\n\nTests\n-----\n\nThis task is covered with functional and integration tests.\nYou can run them using `tox `__, but\nyou will need ``mock``, ``python3-rpm`` and ``python3-dnf`` installed.\nFor mock configuration see\n`mock setup `__\ninstructions. Use the following command to run the test suite::\n\n $ tox\n\nThe integration tests may take a while to execute, as they are\nrunning real tasks in mock. However, for development you may\nspeed them up by reusing the results of the previous test run.\nThis is useful if you modify the test itself, without changing the\nimplementation of task checks. Use the following command to run\nintegration tests in a fake mode::\n\n $ tox -e integration -- --fake\n\nThe tests are also being executed on `Travis\nCI `__.\nSince Travis CI runs on Ubuntu\nand Ubuntu lacks the RPM Python bindings and mock,\n`Docker `__ is used\nto run the tests on Fedora. You can run the tests in Docker as well,\njust use the commands from the ``.travis.yml`` file.\n\nLicense\n-------\n\nThis code has been dedicated to the Public Domain, it is licensed with\n`CC0 1.0 Universal Public Domain\nDedication `__,\nfull text of the license is available in the LICENSE file in this\nrepository.\n\nPlease note that the RPM packages in this repository used for testing\nhave their own license terms and are not dedicated to the Public Domain.\n\nThe sources of those packages can be found in\n`Koji `__ by searching the\npackage name and selecting the appropriate version.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fedora-python/taskotron-python-versions", "keywords": "taskotron fedora python rpm", "license": "Public Domain", "maintainer": "", "maintainer_email": "", "name": "taskotron-python-versions", "package_url": "https://pypi.org/project/taskotron-python-versions/", "platform": "", "project_url": "https://pypi.org/project/taskotron-python-versions/", "project_urls": { "Homepage": "https://github.com/fedora-python/taskotron-python-versions" }, "release_url": "https://pypi.org/project/taskotron-python-versions/0.1.dev6/", "requires_dist": [ "libarchive-c", "python-bugzilla" ], "requires_python": "", "summary": "Taskotron checks regarding Python versions", "version": "0.1.dev6", "yanked": false, "yanked_reason": null }, "last_serial": 6012657, "releases": { "0.0.dev1": [], "0.1.dev1": [ { "comment_text": "", "digests": { "md5": "67bab050730392ede36675e0d6867f67", "sha256": "1ff8211166e26a9743db9a07336b0491331a1988df2554aca6936ea0a6f001f2" }, "downloads": -1, "filename": "taskotron_python_versions-0.1.dev1-py3-none-any.whl", "has_sig": false, "md5_digest": "67bab050730392ede36675e0d6867f67", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8154, "upload_time": "2017-05-18T15:42:29", "upload_time_iso_8601": "2017-05-18T15:42:29.986381Z", "url": "https://files.pythonhosted.org/packages/70/96/d6ab65cc22b2cfa2b3f94936f28192b82372f951c572a1c0a3962f1b2253/taskotron_python_versions-0.1.dev1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "72ad51c378056e25f19af3201c025e36", "sha256": "11dbdb8d87ad35c204e52a549eed78b7cca257b5fa724610c796319c6c09509c" }, "downloads": -1, "filename": "taskotron-python-versions-0.1.dev1.tar.gz", "has_sig": false, "md5_digest": "72ad51c378056e25f19af3201c025e36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1106741, "upload_time": "2017-05-18T15:42:33", "upload_time_iso_8601": "2017-05-18T15:42:33.123190Z", "url": "https://files.pythonhosted.org/packages/bf/d9/c434fecb63d2e53ab13403f87cd7e503c31924b1ff9c370c94da79a54dc7/taskotron-python-versions-0.1.dev1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.dev2": [ { "comment_text": "", "digests": { "md5": "109bc04bacc6de58139ab775716c08dd", "sha256": "ee661e27ccf2ef62df1f4c555c3bba35dccdf3311f05c30df5a30c8ece272bbf" }, "downloads": -1, "filename": "taskotron_python_versions-0.1.dev2-py3-none-any.whl", "has_sig": false, "md5_digest": "109bc04bacc6de58139ab775716c08dd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11729, "upload_time": "2017-07-03T09:14:22", "upload_time_iso_8601": "2017-07-03T09:14:22.454218Z", "url": "https://files.pythonhosted.org/packages/5c/0e/1732708817828f7488ac2c6aff473d14a41c32c2c9f685d6040ca02e984d/taskotron_python_versions-0.1.dev2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6301d9fa4d67a9a35b3f59b6dbaee458", "sha256": "f84dd2f6ac0d497f1613a12f4f202a3e6604857bf760d1b2270ae294d76e5ec7" }, "downloads": -1, "filename": "taskotron-python-versions-0.1.dev2.tar.gz", "has_sig": false, "md5_digest": "6301d9fa4d67a9a35b3f59b6dbaee458", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2369123, "upload_time": "2017-07-03T09:14:28", "upload_time_iso_8601": "2017-07-03T09:14:28.509239Z", "url": "https://files.pythonhosted.org/packages/55/0a/2d9e2d1eea36cb275cbf0075079600bc3cb67167b15aac3a2c9f0f1e867b/taskotron-python-versions-0.1.dev2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.dev3": [ { "comment_text": "", "digests": { "md5": "f7ae1cc572ce7c4fd18b7f34cd63c1f3", "sha256": "794d601887abeaa52e2732d97278352a4be75c22ae4d01cd0ec07b0486715377" }, "downloads": -1, "filename": "taskotron_python_versions-0.1.dev3-py3-none-any.whl", "has_sig": false, "md5_digest": "f7ae1cc572ce7c4fd18b7f34cd63c1f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16758, "upload_time": "2018-01-16T10:47:00", "upload_time_iso_8601": "2018-01-16T10:47:00.957154Z", "url": "https://files.pythonhosted.org/packages/8f/d0/8475d9b9897ca22071971ef5dad451fbb87cef93338bf659c3453a168170/taskotron_python_versions-0.1.dev3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "5ceb2869ee0ec16e103736bce69ba46b", "sha256": "905166e3fbe0774dd54d9b0ee4d2f3baf968bc5515e11f9fc939dd230ca1502e" }, "downloads": -1, "filename": "taskotron-python-versions-0.1.dev3.tar.gz", "has_sig": false, "md5_digest": "5ceb2869ee0ec16e103736bce69ba46b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5948964, "upload_time": "2018-01-16T10:47:07", "upload_time_iso_8601": "2018-01-16T10:47:07.882841Z", "url": "https://files.pythonhosted.org/packages/13/b9/caab092bbc24a43660545d440a202b1f173c849e63d8047c8f1694d14c9f/taskotron-python-versions-0.1.dev3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.dev4": [ { "comment_text": "", "digests": { "md5": "8b9bd2fe558b963fdc5e63d91ed7c2f5", "sha256": "ce5b9c8cfb829037ee579ea1305f93737c12bce75657fc26b8e3f01d795ceb69" }, "downloads": -1, "filename": "taskotron_python_versions-0.1.dev4-py3-none-any.whl", "has_sig": false, "md5_digest": "8b9bd2fe558b963fdc5e63d91ed7c2f5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17865, "upload_time": "2018-10-18T10:43:08", "upload_time_iso_8601": "2018-10-18T10:43:08.584463Z", "url": "https://files.pythonhosted.org/packages/c0/45/9989144e96ab3c81d5eaeed47c854e12321e108ea2fb606fae6f869ef69e/taskotron_python_versions-0.1.dev4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b18ed1553b9b77421ab4441e375de752", "sha256": "9f9deaad4a4388e688d60f2b0cd62a101b685f9cf0103968a93ba094c0cf24b9" }, "downloads": -1, "filename": "taskotron-python-versions-0.1.dev4.tar.gz", "has_sig": false, "md5_digest": "b18ed1553b9b77421ab4441e375de752", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5954419, "upload_time": "2018-10-18T10:42:30", "upload_time_iso_8601": "2018-10-18T10:42:30.053244Z", "url": "https://files.pythonhosted.org/packages/95/40/cc9ce2ee6dcf5261d78e9260a93843ecc4deab76b999ad7a04c28f25b780/taskotron-python-versions-0.1.dev4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.dev5": [ { "comment_text": "", "digests": { "md5": "79d0f4d5406e062c7e9e2c17acb66600", "sha256": "10b98f7aa4d22fb05aad9448a2ff77a196620253b54d1d73506df9c8e1ac78ce" }, "downloads": -1, "filename": "taskotron_python_versions-0.1.dev5-py3-none-any.whl", "has_sig": false, "md5_digest": "79d0f4d5406e062c7e9e2c17acb66600", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17926, "upload_time": "2018-12-19T14:36:05", "upload_time_iso_8601": "2018-12-19T14:36:05.526261Z", "url": "https://files.pythonhosted.org/packages/35/19/cc34a4875875892f6ba178b24a396de419dc7e5ad3b2b9ea7d23e1bfa437/taskotron_python_versions-0.1.dev5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "282d7ccb43a581657a303ce9f981a104", "sha256": "07139a3105a0d2b0011e65fece9dd61ce8918c8019a6d8a8a2a74154e3268b1f" }, "downloads": -1, "filename": "taskotron-python-versions-0.1.dev5.tar.gz", "has_sig": false, "md5_digest": "282d7ccb43a581657a303ce9f981a104", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5954680, "upload_time": "2018-12-19T14:36:08", "upload_time_iso_8601": "2018-12-19T14:36:08.623398Z", "url": "https://files.pythonhosted.org/packages/e6/3a/f3982594e2892edd96e29177b75686fa58f306171b6df2c1654b9eaa55bb/taskotron-python-versions-0.1.dev5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.dev6": [ { "comment_text": "", "digests": { "md5": "20b25a303dec3d96635a56c1ced269fe", "sha256": "3969cc7e2ee2ffc9dd14b91937ba27736815cdaa3767d930bd066f84299c74c6" }, "downloads": -1, "filename": "taskotron_python_versions-0.1.dev6-py3-none-any.whl", "has_sig": false, "md5_digest": "20b25a303dec3d96635a56c1ced269fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21153, "upload_time": "2019-10-22T13:10:13", "upload_time_iso_8601": "2019-10-22T13:10:13.058988Z", "url": "https://files.pythonhosted.org/packages/79/28/cdf7eb6c6390a79181d186d7b7f58532bb67bf18e27aaa88420baf572a4a/taskotron_python_versions-0.1.dev6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "dbd50f99e5545f22c1c7907240580ec5", "sha256": "761894637ff9e5cbda755286795acfb6e29c2ef22f5a5256709b775aa05b7a31" }, "downloads": -1, "filename": "taskotron-python-versions-0.1.dev6.tar.gz", "has_sig": false, "md5_digest": "dbd50f99e5545f22c1c7907240580ec5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5954499, "upload_time": "2019-10-22T13:10:25", "upload_time_iso_8601": "2019-10-22T13:10:25.303210Z", "url": "https://files.pythonhosted.org/packages/30/88/3cb87a39eef98e63be44e5298c6493ac09b7326642fc063f6a1f91e7825a/taskotron-python-versions-0.1.dev6.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "20b25a303dec3d96635a56c1ced269fe", "sha256": "3969cc7e2ee2ffc9dd14b91937ba27736815cdaa3767d930bd066f84299c74c6" }, "downloads": -1, "filename": "taskotron_python_versions-0.1.dev6-py3-none-any.whl", "has_sig": false, "md5_digest": "20b25a303dec3d96635a56c1ced269fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21153, "upload_time": "2019-10-22T13:10:13", "upload_time_iso_8601": "2019-10-22T13:10:13.058988Z", "url": "https://files.pythonhosted.org/packages/79/28/cdf7eb6c6390a79181d186d7b7f58532bb67bf18e27aaa88420baf572a4a/taskotron_python_versions-0.1.dev6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "dbd50f99e5545f22c1c7907240580ec5", "sha256": "761894637ff9e5cbda755286795acfb6e29c2ef22f5a5256709b775aa05b7a31" }, "downloads": -1, "filename": "taskotron-python-versions-0.1.dev6.tar.gz", "has_sig": false, "md5_digest": "dbd50f99e5545f22c1c7907240580ec5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5954499, "upload_time": "2019-10-22T13:10:25", "upload_time_iso_8601": "2019-10-22T13:10:25.303210Z", "url": "https://files.pythonhosted.org/packages/30/88/3cb87a39eef98e63be44e5298c6493ac09b7326642fc063f6a1f91e7825a/taskotron-python-versions-0.1.dev6.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }