{ "info": { "author": "okorolev", "author_email": "johnnyprobel@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Pytest", "Programming Language :: Python :: 3" ], "description": "[![Build Status](https://travis-ci.org/okorolev/pytest-ast-transformer.svg?branch=master)](https://travis-ci.org/okorolev/pytest-ast-transformer)\n[![image](https://img.shields.io/pypi/v/pytest-ast-transformer.svg)](https://pypi.org/project/pytest-ast-transformer/)\n\n## About\nAST Transformer integrated with py.test.\n\nUseful for debug, refactoring, 'clean asserts' (see [examples/replace_asserts](examples/replace_asserts))\n\nSupport options\n---------------\n| Options | Description |\n| ----------- | ----------- |\n| `--show-code` | show generated code |\n| `--disable-transforms` | disable all ast transformers |\n\n## Install\n```bash\npip install pytest-ast-transformer\n```\n\n## Usage\n\n* Write ast transformer\n ```python\n # transformer.py\n import ast\n\n from pytest_ast_transformer.ast_transformer import PytestTransformer\n\n\n def my_assert(test_result, msg=''):\n print(f'my assert: {test_result} {msg}')\n assert test_result, msg\n\n\n class AssertTransformer(PytestTransformer):\n context = {\n 'my_assert': my_assert\n }\n\n def visit_Assert(self, node: ast.Assert) -> ast.Expr:\n func_name = ast.Name(id='my_assert', ctx=ast.Load())\n call_func = ast.Call(func=func_name, args=[node.test, node.msg], keywords=[])\n expr = ast.Expr(value=call_func)\n\n return ast.fix_missing_locations(expr)\n ```\n* Register new ast transformer\n ```python\n # conftest.py\n from pytest_ast_transformer.ast_manager import ASTManager\n from tests.transformer import AssertTransformer\n\n\n def pytest_register_ast_transformer(ast_manager: ASTManager):\n ast_manager.add_transformer(AssertTransformer())\n ```\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/okorolev/pytest-ast-transformer", "keywords": "pytest,ast,transformer,refactoring,testing,debug", "license": "", "maintainer": "", "maintainer_email": "", "name": "pytest-ast-transformer", "package_url": "https://pypi.org/project/pytest-ast-transformer/", "platform": "", "project_url": "https://pypi.org/project/pytest-ast-transformer/", "project_urls": { "Homepage": "https://github.com/okorolev/pytest-ast-transformer" }, "release_url": "https://pypi.org/project/pytest-ast-transformer/1.0.3/", "requires_dist": [ "pytest", "astor" ], "requires_python": "", "summary": "", "version": "1.0.3" }, "last_serial": 5226050, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "37991fdf3a7616f5cc73333dfd6133d0", "sha256": "8056e55e64ebb002df172f61fc027d7f6179c3db629b690a36dd413e88fb187e" }, "downloads": -1, "filename": "pytest_ast_transformer-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "37991fdf3a7616f5cc73333dfd6133d0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11602, "upload_time": "2019-05-04T15:35:53", "url": "https://files.pythonhosted.org/packages/99/1f/58004038874c221a1123c160746683b292fea1a25fa93c0c60c96b878af5/pytest_ast_transformer-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ddc31bc0482d64432dccd61890a878b7", "sha256": "869f43bb2a1e867974631b09f510c459359e2e88320c8c107b163dbb4037da0c" }, "downloads": -1, "filename": "pytest-ast-transformer-1.0.1.tar.gz", "has_sig": false, "md5_digest": "ddc31bc0482d64432dccd61890a878b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6363, "upload_time": "2019-05-04T15:35:56", "url": "https://files.pythonhosted.org/packages/52/52/f3e34054a1078297050728d94c245e9bae66b7e4f26dd19bd922e5277873/pytest-ast-transformer-1.0.1.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "b9e251c1d24866beb41a7be781300af1", "sha256": "526d8a24b148f303ac2eae85308141fe85a13077afdc9ecbfeec7b74e91f4072" }, "downloads": -1, "filename": "pytest_ast_transformer-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b9e251c1d24866beb41a7be781300af1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11540, "upload_time": "2019-05-04T16:38:26", "url": "https://files.pythonhosted.org/packages/0f/6c/e10d21f512016ed4b8795dcced850e3afedb83a6af0865f044601dd9ed0b/pytest_ast_transformer-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5e26a7a135c26bdea3778d3ecd6d4a3", "sha256": "346f5d6a2500449099c68c3f35ea7965525d3d52012089ddda565babb99246a8" }, "downloads": -1, "filename": "pytest-ast-transformer-1.0.3.tar.gz", "has_sig": false, "md5_digest": "a5e26a7a135c26bdea3778d3ecd6d4a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6257, "upload_time": "2019-05-04T16:38:27", "url": "https://files.pythonhosted.org/packages/8f/4f/72599150a0542d56027036f9ce3eb649ed899b4d080c9f9715762d537674/pytest-ast-transformer-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b9e251c1d24866beb41a7be781300af1", "sha256": "526d8a24b148f303ac2eae85308141fe85a13077afdc9ecbfeec7b74e91f4072" }, "downloads": -1, "filename": "pytest_ast_transformer-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b9e251c1d24866beb41a7be781300af1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11540, "upload_time": "2019-05-04T16:38:26", "url": "https://files.pythonhosted.org/packages/0f/6c/e10d21f512016ed4b8795dcced850e3afedb83a6af0865f044601dd9ed0b/pytest_ast_transformer-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5e26a7a135c26bdea3778d3ecd6d4a3", "sha256": "346f5d6a2500449099c68c3f35ea7965525d3d52012089ddda565babb99246a8" }, "downloads": -1, "filename": "pytest-ast-transformer-1.0.3.tar.gz", "has_sig": false, "md5_digest": "a5e26a7a135c26bdea3778d3ecd6d4a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6257, "upload_time": "2019-05-04T16:38:27", "url": "https://files.pythonhosted.org/packages/8f/4f/72599150a0542d56027036f9ce3eb649ed899b4d080c9f9715762d537674/pytest-ast-transformer-1.0.3.tar.gz" } ] }