{ "info": { "author": "Fabio C. Barrionuevo da Luz", "author_email": "bnafta@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Framework :: tox", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Testing" ], "description": "# tox-lambda-autodiscovery\n\n[![PyPI version](https://img.shields.io/pypi/v/tox-lambda-autodiscovery.svg)](https://pypi.org/project/tox-lambda-autodiscovery)\n[![Python versions](https://img.shields.io/pypi/pyversions/tox-lambda-autodiscovery.svg)](https://pypi.org/project/tox-lambda-autodiscovery)\n[![See Build Status on Travis CI](https://travis-ci.com/luzfcb/tox-lambda-autodiscovery.svg?branch=master)](https://travis-ci.com/luzfcb/tox-lambda-autodiscovery)\n[![See Build Status on AppVeyor](https://ci.appveyor.com/api/projects/status/github/luzfcb/tox-lambda-autodiscovery?branch=master)](https://ci.appveyor.com/project/luzfcb/tox-lambda-autodiscovery/branch/master)\n[![Coverage \nStatus](https://coveralls.io/repos/github/luzfcb/tox-lambda-autodiscovery/badge.svg)](https://coveralls.io/github/luzfcb/tox-lambda-autodiscovery)\n\nAutodiscovery and autocreate tox testenv to aws lambda functions\n\n------------------------------------------------------------------------\n\nThis [Pytest](https://github.com/pytest-dev/pytest) plugin was generated\nwith [Cookiecutter](https://github.com/audreyr/cookiecutter) along with\n[\\@obestwalter](https://github.com/obestwalter)\\'s\n[Cookiecutter-tox-plugin](https://github.com/tox-dev/cookiecutter-tox-plugin)\ntemplate.\n\n\n### This project is not yet ready for production.\n\n\n## Features\n\nAutodiscovery and autocreate tox testenv to aws lambda function.\n\nTODO:\n- [ ] rewrite code when tox api is more flexible: https://mail.python.org/mm3/archives/list/tox-dev@python.org/thread/2B2GXTFWCE6FYMVCMBMKAOQAXEOGXEWR/\n- [ ] Write tests\n\n## Requirements\n\n- Python >= 3.6, tox >= 3.3.0\n\n## Installation\n\nYou can install `tox-lambda-autodiscovery` via [pip](https://pypi.org/project/pip/) from [PyPI](https://pypi.org):\n\n```\n$ pip install tox-lambda-autodiscovery\n```\n\nor directly from github:\n\n```\n$ pip install -e git+https://github.com/luzfcb/tox-lambda-autodiscovery@master#egg=tox-lambda-autodiscovery\n```\n\n## Usage\n\nAdd a new section named `[testenv:lambdaautodiscovery]` on `tox.ini`.\n\n> The plugin is active only when the section `[testenv:lambdaautodiscovery]` exists.\n\n\n### Configuration options for `[testenv:lambdaautodiscovery]`\n\n#### `search_dirs`\n\nA list of directories that the plugin uses as autodiscover. _The default value is `{toxinidir}`_.\n\n##### Example\n\nHaving a list of directories, with subdirectories, which contains a file `requirements.txt`, and a python file started with `test` on the same directory level:\n\n```\nproject:\n README.md\n backend1/\n serverless.yml\n package.json\n node_modules/\n functionCreateRole/\n create_role.py\n requirements.txt\n test_create_role.py\n backend2/\n serverless.yml\n package.json\n node_modules/\n functionCreateUser/\n create_user.py\n requirements.txt\n test_create_user.py\n```\n\nThe `search_base_dirs` looks like the following:\n\n```ini\nsearch_dirs = backend1\n backend2\n```\n\n#### `ignored_dirs`\n\nDirectories that the plugin should ignore in autodiscovery.\n\n##### Example\n\n```\nignored_dirs = .serverless\n .vscode\n```\n\nThe directories with the following names are ignored by default:\n\n```\n.tox\n__pycache__\neggs/\n.eggs/\nnode_modules\n```\n\n> If you want to override the default ignored directories names, use the option `default_ignored_dir_names`.\n\n\nthe `commands_workaround` is a way to customize tox `commands`\n\neg.:\n\n```\ncommands_workaround = {posargs:pytest} --cov={current_toxenv_lambda_dir} --basetemp={envtmpdir}\n```\n\n> is ugly, but, tox 3.3.0 api has no simple way to defer processing of `commands`\n\n\nThe `PYTHONPATH` can be customized by setting\n\n```\nsetenv =\n PYTHONPATH = {toxinidir}/backend/\n```\n\n### Full sample config:\n\nthe following directories structure:\n\n```\n(myproject) fabio@luzfcb:~/projects$ tree myproject -L 2\nmyproject\n\u251c\u2500\u2500 README.md\n\u251c\u2500\u2500 backend\n\u2502 \u251c\u2500\u2500 README.md\n\u2502 \u251c\u2500\u2500 .serverless\n\u2502 \u2502 \u251c\u2500\u2500 serverless-state.json\n\u2502 \u2502 \u251c\u2500\u2500 cloudformation-template-create-stack.json\n\u2502 \u2502 \u251c\u2500\u2500 functionOne\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 requirements\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 requirements.txt\n\u2502 \u2502 \u251c\u2500\u2500 functionTwo\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 requirements\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 requirements.txt\n\u2502 \u251c\u2500\u2500 functionOne\n\u2502 \u2502 \u251c\u2500\u2500 function_one.py\n\u2502 \u2502 \u251c\u2500\u2500 test_function_one.py \n\u2502 \u2502 \u2514\u2500\u2500 requirements.txt\n\u2502 \u251c\u2500\u2500 functionTwo\n\u2502 \u2502 \u251c\u2500\u2500 function_two.py\n\u2502 \u2502 \u251c\u2500\u2500 test_function_two.py \n\u2502 \u2502 \u2514\u2500\u2500 requirements.txt\n\u2502 \u251c\u2500\u2500 apps\n\u2502 \u2502 \u2514\u2500\u2500 configure_django\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 __init__.py\n\u2502 \u2502 \u2514\u2500\u2500 myapp\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py\n\u2502 \u2502 \u251c\u2500\u2500 apps.py\n\u2502 \u2502 \u251c\u2500\u2500 models.py\n\u2502 \u2502 \u2514\u2500\u2500 migrations\n\u2502 \u2514\u2500\u2500 serverless.yml\n\u251c\u2500\u2500 buildspec.yaml\n\u251c\u2500\u2500 cloudformation\n\u2502 \u2514\u2500\u2500 dev-resources.yaml\n\u251c\u2500\u2500 codecov.yml\n\u251c\u2500\u2500 requirements.txt\n\u251c\u2500\u2500 requirements_dev.txt\n\u251c\u2500\u2500 setup.cfg\n\u251c\u2500\u2500 testspec.yaml\n\u2514\u2500\u2500 tox.ini\n```\n\n\nThe configuration:\n\n```\n[testenv:lambdaautodiscovery]\ncommands_workaround = {posargs:pytest} --cov-append --cov={current_toxenv_lambda_dir} --basetemp={envtmpdir}\n\nignored_dirs = .serverless\n\nsearch_dirs = backend\n\nsetenv =\n PYTHONPATH = {toxinidir}/backend/apps\n\n```\n\n## Contributing\n\nContributions are very welcome. Tests can be run with [tox](https://tox.readthedocs.io/en/latest/), please ensure the coverage at least stays the same before you submit a pull request.\n\n\n## License\n\nDistributed under the terms of the [MIT](http://opensource.org/licenses/MIT) license, `tox-lambda-autodiscovery` is free and open source software.\n\n\n## Issues\n\nIf you encounter any problems, please [file an issue](https://github.com/luzfcb/tox-lambda-autodiscovery/issues) along with a detailed description.\n\n\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/luzfcb/tox-lambda-autodiscovery", "keywords": "", "license": "MIT", "maintainer": "Fabio C. Barrionuevo da Luz", "maintainer_email": "bnafta@gmail.com", "name": "tox-lambda-autodiscovery", "package_url": "https://pypi.org/project/tox-lambda-autodiscovery/", "platform": "", "project_url": "https://pypi.org/project/tox-lambda-autodiscovery/", "project_urls": { "Homepage": "https://github.com/luzfcb/tox-lambda-autodiscovery" }, "release_url": "https://pypi.org/project/tox-lambda-autodiscovery/0.1.6/", "requires_dist": [ "tox (>=3.3.0)" ], "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "summary": "autodiscovery and autocreate tox testenv to aws lambda function", "version": "0.1.6" }, "last_serial": 4402580, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "aa0f229763c8468e65e827c32c940bfe", "sha256": "3e87791741f7bd09bafb81b5253fbd8be2f1c44593b76821a93011196fee0b56" }, "downloads": -1, "filename": "tox_lambda_autodiscovery-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aa0f229763c8468e65e827c32c940bfe", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7403, "upload_time": "2018-10-09T17:14:20", "url": "https://files.pythonhosted.org/packages/b9/49/18c309fd002edce785a976315986dee492584b3bf42e819f4bfacea7646f/tox_lambda_autodiscovery-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "77a28c68463ec835f275933c43218221", "sha256": "58c7098799ae43425cc1afc227e1a976a0cccb091303ef6aba74a886eb136ccc" }, "downloads": -1, "filename": "tox-lambda-autodiscovery-0.1.0.tar.gz", "has_sig": false, "md5_digest": "77a28c68463ec835f275933c43218221", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7062, "upload_time": "2018-10-09T17:14:22", "url": "https://files.pythonhosted.org/packages/cc/a2/15c7e66466acaed0f6f8b390e4d6eaa256d886adb1633f3da005dd134067/tox-lambda-autodiscovery-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "043181d16c8692395c426028b034ede0", "sha256": "ba6012fc277f711b7147c81cc350dfdb5ad44cbde243f7db3087e6c9e3f8fde4" }, "downloads": -1, "filename": "tox_lambda_autodiscovery-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "043181d16c8692395c426028b034ede0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7439, "upload_time": "2018-10-09T21:34:32", "url": "https://files.pythonhosted.org/packages/d3/94/d680093a811ba9820abea91abfc80f92449ffdc0a0732df8d353c3ec133b/tox_lambda_autodiscovery-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c1c099c85f5cd366c532cb5ecc0a4be", "sha256": "67feb496f69b78c0fbaa6c52e045d32b9fbb42fe43b9592eaa59a59474b50351" }, "downloads": -1, "filename": "tox-lambda-autodiscovery-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4c1c099c85f5cd366c532cb5ecc0a4be", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7082, "upload_time": "2018-10-09T21:34:33", "url": "https://files.pythonhosted.org/packages/01/3e/6829fcfa8a35c576f168921fc65d814114917f26d0035a3cb58be87e8117/tox-lambda-autodiscovery-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "43dce11ab4d2700d081b3ad701a615eb", "sha256": "ca62f37755b64f37bf07990553a3af9d6efbf8c0f3bf77c95e8946d0144a8165" }, "downloads": -1, "filename": "tox_lambda_autodiscovery-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "43dce11ab4d2700d081b3ad701a615eb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7583, "upload_time": "2018-10-10T14:09:24", "url": "https://files.pythonhosted.org/packages/76/0f/8ab625b3d564bcea0d05b51ca06fd659b4694838cee412d74f60318c10e1/tox_lambda_autodiscovery-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "91e0cd198044bc9bf860ad3a218630d6", "sha256": "1e2aa86df8ae07e03b368797c124ed8a3ef6bd58d2053293a6fc02afe8d9b9e3" }, "downloads": -1, "filename": "tox-lambda-autodiscovery-0.1.2.tar.gz", "has_sig": false, "md5_digest": "91e0cd198044bc9bf860ad3a218630d6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7211, "upload_time": "2018-10-10T14:09:26", "url": "https://files.pythonhosted.org/packages/69/36/1502449b7f499efd0ac333b753b7f7f187b65aadc7e321f5d99553d9cefb/tox-lambda-autodiscovery-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "be2d7e88c05837d92b4bf1dd931fb03a", "sha256": "49aa405969dd7d735a6f841366005e168ba27338272f0374ff5ac19282e55e40" }, "downloads": -1, "filename": "tox_lambda_autodiscovery-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "be2d7e88c05837d92b4bf1dd931fb03a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7585, "upload_time": "2018-10-10T14:42:33", "url": "https://files.pythonhosted.org/packages/29/d5/375bb1bcf9bb28d70b4f20f0807d25b634545239db0d8ab1422b7fdac1a1/tox_lambda_autodiscovery-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1f5efd106a24c994d825589a445aea18", "sha256": "2b707614de5ca7dc5e88a3604a13b2f38460fc365c06fa0552109f4db81b1953" }, "downloads": -1, "filename": "tox-lambda-autodiscovery-0.1.3.tar.gz", "has_sig": false, "md5_digest": "1f5efd106a24c994d825589a445aea18", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7215, "upload_time": "2018-10-10T14:42:34", "url": "https://files.pythonhosted.org/packages/e6/ca/06df9230b9ef7378478a6b6de1562b39756418571e4030fa1627398deae3/tox-lambda-autodiscovery-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "779c0388b9288fa1c9dea614730dd633", "sha256": "954a73fbd5ae7c78ca80ac9cdbcee2012e7eaf5a35d1e0b96a3fe634d6993de4" }, "downloads": -1, "filename": "tox_lambda_autodiscovery-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "779c0388b9288fa1c9dea614730dd633", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7444, "upload_time": "2018-10-11T12:40:19", "url": "https://files.pythonhosted.org/packages/82/aa/96bd5b4c8183142dc634bb41db542e1a32dd36a7ad2719dc84074ace78d8/tox_lambda_autodiscovery-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e2986229fe10cb6312ead219a55a3b8f", "sha256": "6248841fc126d040dc6191f1d527c98a410702a1061674bfc644c9806532765a" }, "downloads": -1, "filename": "tox-lambda-autodiscovery-0.1.4.tar.gz", "has_sig": false, "md5_digest": "e2986229fe10cb6312ead219a55a3b8f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7105, "upload_time": "2018-10-11T12:40:21", "url": "https://files.pythonhosted.org/packages/b0/db/028bc76626e3ef96de2e353387ac34be34d18e7e2786be7a43c37491addd/tox-lambda-autodiscovery-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "906dc15516bd6daa4b1d1d9b8977dd94", "sha256": "c61e62ee72f587c5c75948d45b544329b8c42bab52e776ca4e9476bd5569ca1b" }, "downloads": -1, "filename": "tox_lambda_autodiscovery-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "906dc15516bd6daa4b1d1d9b8977dd94", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7444, "upload_time": "2018-10-12T20:01:38", "url": "https://files.pythonhosted.org/packages/0e/de/631fd927eee06b95a1b4af38d155269ac79962232994a932ee76871fb581/tox_lambda_autodiscovery-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4771e3b114cb7a0de5a080d28286f0f", "sha256": "b4640998b7d26bbcad83b9f5229bc095303c2c09ee7715d07cca03139736d98a" }, "downloads": -1, "filename": "tox-lambda-autodiscovery-0.1.5.tar.gz", "has_sig": false, "md5_digest": "a4771e3b114cb7a0de5a080d28286f0f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7101, "upload_time": "2018-10-12T20:01:40", "url": "https://files.pythonhosted.org/packages/76/5d/d3594f9b2116d7bb8eb5b9cf2c5f3648c5ea9aacd61f24d4fd09bb6e0757/tox-lambda-autodiscovery-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "3fd3227eada73e09488cd0e3ce2786de", "sha256": "c8bef292e4142c57d05b01030e5d169b4e254dc9f2be157a9797eec59a0b22fe" }, "downloads": -1, "filename": "tox_lambda_autodiscovery-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3fd3227eada73e09488cd0e3ce2786de", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7473, "upload_time": "2018-10-22T15:20:41", "url": "https://files.pythonhosted.org/packages/d0/5d/0137f8b9210e517d4559f5143251d05c3b6ed480495a93cea658c73c5103/tox_lambda_autodiscovery-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b36e4002acb557740b71e368a697ad5c", "sha256": "70375967324081a00331bee8addfd1a50a53e93ba7cc828462c21f9b3b8f43b5" }, "downloads": -1, "filename": "tox-lambda-autodiscovery-0.1.6.tar.gz", "has_sig": false, "md5_digest": "b36e4002acb557740b71e368a697ad5c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7130, "upload_time": "2018-10-22T15:20:43", "url": "https://files.pythonhosted.org/packages/d0/7f/bd6e2ff80c827d4c025fb14951f3e3d836b523b83b47082c11a3904b91ab/tox-lambda-autodiscovery-0.1.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3fd3227eada73e09488cd0e3ce2786de", "sha256": "c8bef292e4142c57d05b01030e5d169b4e254dc9f2be157a9797eec59a0b22fe" }, "downloads": -1, "filename": "tox_lambda_autodiscovery-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3fd3227eada73e09488cd0e3ce2786de", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7473, "upload_time": "2018-10-22T15:20:41", "url": "https://files.pythonhosted.org/packages/d0/5d/0137f8b9210e517d4559f5143251d05c3b6ed480495a93cea658c73c5103/tox_lambda_autodiscovery-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b36e4002acb557740b71e368a697ad5c", "sha256": "70375967324081a00331bee8addfd1a50a53e93ba7cc828462c21f9b3b8f43b5" }, "downloads": -1, "filename": "tox-lambda-autodiscovery-0.1.6.tar.gz", "has_sig": false, "md5_digest": "b36e4002acb557740b71e368a697ad5c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 7130, "upload_time": "2018-10-22T15:20:43", "url": "https://files.pythonhosted.org/packages/d0/7f/bd6e2ff80c827d4c025fb14951f3e3d836b523b83b47082c11a3904b91ab/tox-lambda-autodiscovery-0.1.6.tar.gz" } ] }