{
"info": {
"author": "Martin Chatterjee",
"author_email": "martin@chatterjee.de",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Topic :: Software Development :: Quality Assurance",
"Topic :: Software Development :: Testing"
],
"description": "# vfxtest\r\n\r\n
\r\n\r\n## What's this about?\r\n\r\nThis project is about **managing a test suite** for a **Python codebase**\r\nthat is used in **multiple contexts**.\r\n\r\n**Common contexts found in a VFX production environment are:**\r\n\r\n* standalone **Python 2.7**\r\n* standalone **Python 3.x**\r\n* **embedded Python interpreters** inside **DCC's**:\r\n * ``Maya/mayapy``\r\n * ``Houdini/hython``\r\n * ``Nuke``\r\n * ...\r\n
\r\n\r\n## Where's the benefit?\r\n\r\nDoing **Test Driven Development** in Python is fairly straight forward\r\nutilizing packages such as ``unittest`` and ``mock``.\r\n\r\nIt's also really comfortable to get feedback about code coverage using the\r\n``coverage`` package.\r\n\r\n### However...\r\n\r\nWhen a **Python codebase** is used inside multiple contexts that do not know\r\neach other it is quite difficult to gather **accurate metrics** about the\r\n**overall test coverage**.\r\n\r\n#### And this is where ``vfxtest`` tries to fill the gap.\r\n\r\n**``vfxtest``** is just a thin wrapper around ``unittest``, ``mock`` and\r\n``coverage`` that let's you run a **test suite for each context** and then\r\npresents the **combined code coverage** of all those tests.\r\n
\r\n\r\n## I basically scratched my own itch...\r\n\r\nWhile starting to embrace **TDD** in a **VFX production environment** I had\r\nthis need and did not find an obvious existing solution to it.\r\n
\r\n\r\n## Documentation\r\n\r\nSoon to be found on **vfxtest.readthedocs.com**. \r\n\r\nStay tuned... :)\r\n
\r\n\r\n## 'Impostor Syndrome' Disclaimer\r\nI'm really still in my first inning of the whole TDD game.\r\n\r\nTherefore I'm fully aware that I probably know barely enough to be dangerous\r\nright now. :)\r\n\r\nIf there already happens to be an existing go-to solution for this problem out\r\nthere on the interwebs, I'd love to know about it!\r\n\r\nAlso if any part of this could be improved (or makes your eyes bleed) please\r\ngive me a heads up! :)\r\n
\r\n\r\n### That said, I hope that somebody will get some benefit out of this!\r\n\r\nEverything that encourages and helps **maintaining a test suite** in **VFX** is\r\nvaluable, as far as I'm concerned... :)\r\n\r\n\r\n",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/martin-chatterjee/vfxtest",
"keywords": "unittest coverage tdd test driven development dcc vfx 3d animation pipeline nuke houdini hython maya mayapy nuke",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "vfxtest",
"package_url": "https://pypi.org/project/vfxtest/",
"platform": "",
"project_url": "https://pypi.org/project/vfxtest/",
"project_urls": {
"Documentation": "https://vfxtest.readthedocs.org",
"Homepage": "https://github.com/martin-chatterjee/vfxtest",
"Issues": "https://github.com/martin-chatterjee/vfxtest/issues",
"Source": "https://github.com/martin-chatterjee/vfxtest"
},
"release_url": "https://pypi.org/project/vfxtest/0.2.0/",
"requires_dist": [
"virtualenv",
"coverage (>=4.5)",
"mock (>=3.0) ; python_version < \"3.3\""
],
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, <4",
"summary": "Manages a test suite across multiple python contexts commonly found in a VFX production environment",
"version": "0.2.0"
},
"last_serial": 5566829,
"releases": {
"0.0.1": [
{
"comment_text": "",
"digests": {
"md5": "a43f0ae8b8c754aef6d48a681f11bf49",
"sha256": "23858ee068db262f09da84f712fcb605b16f810095b456a5876defc733d2f5f0"
},
"downloads": -1,
"filename": "vfxtest-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a43f0ae8b8c754aef6d48a681f11bf49",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 1888,
"upload_time": "2019-02-21T16:34:19",
"url": "https://files.pythonhosted.org/packages/5e/2f/b267c6ccd24e62a3c529cf4ec4d8d12616cc2862790bf63974093db899ec/vfxtest-0.0.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "893391a8e3e130b3bb6062ed76c1c923",
"sha256": "e1119b5c24db979b6732969088afb460c0f42caa02b33602481ce69cd43e7901"
},
"downloads": -1,
"filename": "vfxtest-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "893391a8e3e130b3bb6062ed76c1c923",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1816,
"upload_time": "2019-02-21T16:34:21",
"url": "https://files.pythonhosted.org/packages/66/00/cbae702e6d2b0e5280ce56f3acfdc1569351151281b721c3322e8d478cb6/vfxtest-0.0.1.tar.gz"
}
],
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "e5352c580652dcdbc5690ba8e62e08a4",
"sha256": "711c46dfd51e5724fb057a6e0cab416e0a35b57f1d1dce117d46fbbd3423a0f9"
},
"downloads": -1,
"filename": "vfxtest-0.1.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "e5352c580652dcdbc5690ba8e62e08a4",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, <4",
"size": 29789,
"upload_time": "2019-06-13T22:22:41",
"url": "https://files.pythonhosted.org/packages/90/aa/cae570b53b464ae95e6b8ab748d527a0e594f00fad1ea4240a2f8c8a8e44/vfxtest-0.1.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "2b5b4655575f54df0584cfc7251f42a0",
"sha256": "ffed2c0a323d087ed54c3ceafa83f39c15d6b943b911f2af6c771bb65decf5c1"
},
"downloads": -1,
"filename": "vfxtest-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2b5b4655575f54df0584cfc7251f42a0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, <4",
"size": 29761,
"upload_time": "2019-06-13T22:22:43",
"url": "https://files.pythonhosted.org/packages/22/6d/65d99c50e547831ae07db04297e7035ee15d39eda1526b131b7c73147a6e/vfxtest-0.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "8909101cffd208a312f8ca1d0b77242a",
"sha256": "ac2c048c97f9d36270d675eb1ecaf59c2e248aff4369dbc1b7ddc46169695d12"
},
"downloads": -1,
"filename": "vfxtest-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "8909101cffd208a312f8ca1d0b77242a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, <4",
"size": 15519,
"upload_time": "2019-06-13T22:22:46",
"url": "https://files.pythonhosted.org/packages/5c/13/e463079b23f2b6ada7af0247bd00984dc489890b84a7a77b8bccb4217871/vfxtest-0.1.0.tar.gz"
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "71ad29cfe24ee4cfea8f514e4fd16618",
"sha256": "bdf3a257a7c3fc2f5903281658c14366e2d239a6a46706237c187368e2f7dc05"
},
"downloads": -1,
"filename": "vfxtest-0.2.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "71ad29cfe24ee4cfea8f514e4fd16618",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, <4",
"size": 17935,
"upload_time": "2019-07-22T10:57:03",
"url": "https://files.pythonhosted.org/packages/ab/2d/f949b494219f754c3c54a95d2859eb5ebfa3eaeeff187c56fdd93278c454/vfxtest-0.2.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d5a1f43f4d68bacde4cc99391b1b3d6c",
"sha256": "3f0c5b008a9f0c19383a9dd881192d27678c332c7d026889dd6c8a779f92982d"
},
"downloads": -1,
"filename": "vfxtest-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d5a1f43f4d68bacde4cc99391b1b3d6c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, <4",
"size": 17906,
"upload_time": "2019-07-22T10:57:04",
"url": "https://files.pythonhosted.org/packages/f7/6f/fb40558de15b79189b36bdccd1e215dd01fd0aed79f2b848dbbbc911783f/vfxtest-0.2.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "fdad94a8f82b4afa5cc7ba1e00284da6",
"sha256": "7bd0361e51e3e1ae8c43b3d2adc5eb2a3c464213bb82a6f1c73f3283dc7bfd2e"
},
"downloads": -1,
"filename": "vfxtest-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "fdad94a8f82b4afa5cc7ba1e00284da6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, <4",
"size": 16653,
"upload_time": "2019-07-22T10:57:08",
"url": "https://files.pythonhosted.org/packages/6c/18/5ded57f5d545742b74569767aae821b4ea1b2694e23dddb39e7a9832c59d/vfxtest-0.2.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "71ad29cfe24ee4cfea8f514e4fd16618",
"sha256": "bdf3a257a7c3fc2f5903281658c14366e2d239a6a46706237c187368e2f7dc05"
},
"downloads": -1,
"filename": "vfxtest-0.2.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "71ad29cfe24ee4cfea8f514e4fd16618",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, <4",
"size": 17935,
"upload_time": "2019-07-22T10:57:03",
"url": "https://files.pythonhosted.org/packages/ab/2d/f949b494219f754c3c54a95d2859eb5ebfa3eaeeff187c56fdd93278c454/vfxtest-0.2.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "d5a1f43f4d68bacde4cc99391b1b3d6c",
"sha256": "3f0c5b008a9f0c19383a9dd881192d27678c332c7d026889dd6c8a779f92982d"
},
"downloads": -1,
"filename": "vfxtest-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d5a1f43f4d68bacde4cc99391b1b3d6c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, <4",
"size": 17906,
"upload_time": "2019-07-22T10:57:04",
"url": "https://files.pythonhosted.org/packages/f7/6f/fb40558de15b79189b36bdccd1e215dd01fd0aed79f2b848dbbbc911783f/vfxtest-0.2.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "fdad94a8f82b4afa5cc7ba1e00284da6",
"sha256": "7bd0361e51e3e1ae8c43b3d2adc5eb2a3c464213bb82a6f1c73f3283dc7bfd2e"
},
"downloads": -1,
"filename": "vfxtest-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "fdad94a8f82b4afa5cc7ba1e00284da6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, <4",
"size": 16653,
"upload_time": "2019-07-22T10:57:08",
"url": "https://files.pythonhosted.org/packages/6c/18/5ded57f5d545742b74569767aae821b4ea1b2694e23dddb39e7a9832c59d/vfxtest-0.2.0.tar.gz"
}
]
}