diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index c130263b42..731857aa23 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -25,7 +25,7 @@ on: jobs: # Lint checks which don't depend on any service containes, etc. to be running. lint-checks: - name: 'Lint Checks (pants runs: shellcheck, bandit, black, flake8)' + name: 'Lint Checks (pants runs: shellcheck, bandit, black, flake8, pylint)' runs-on: ubuntu-20.04 env: diff --git a/BUILD b/BUILD index 67c925d4cf..a54068afed 100644 --- a/BUILD +++ b/BUILD @@ -35,5 +35,6 @@ python_requirements( ) python_test_utils( - name="test_utils0", + name="test_utils", + skip_pylint=True, ) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index be5811ab4f..1d2518b469 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -10,7 +10,7 @@ Added * Continue introducing `pants `_ to improve DX (Developer Experience) working on StackStorm, improve our security posture, and improve CI reliability thanks in part to pants' use of PEX lockfiles. This is not a user-facing addition. - #5778 #5789 #5817 #5795 #5830 #5833 #5834 #5841 #5840 #5838 #5842 + #5778 #5789 #5817 #5795 #5830 #5833 #5834 #5841 #5840 #5838 #5842 #5837 Contributed by @cognifloyd diff --git a/contrib/chatops/tests/BUILD b/contrib/chatops/tests/BUILD index dabf212d7e..86783f843c 100644 --- a/contrib/chatops/tests/BUILD +++ b/contrib/chatops/tests/BUILD @@ -1 +1,3 @@ -python_tests() +python_tests( + skip_pylint=True, +) diff --git a/contrib/core/tests/BUILD b/contrib/core/tests/BUILD index b679ff82cf..d756f45b31 100644 --- a/contrib/core/tests/BUILD +++ b/contrib/core/tests/BUILD @@ -1,4 +1,5 @@ python_tests( + skip_pylint=True, overrides={ "test_action_sendmail.py": { "dependencies": [ diff --git a/contrib/examples/tests/BUILD b/contrib/examples/tests/BUILD index dabf212d7e..86783f843c 100644 --- a/contrib/examples/tests/BUILD +++ b/contrib/examples/tests/BUILD @@ -1 +1,3 @@ -python_tests() +python_tests( + skip_pylint=True, +) diff --git a/contrib/linux/tests/BUILD b/contrib/linux/tests/BUILD index dabf212d7e..86783f843c 100644 --- a/contrib/linux/tests/BUILD +++ b/contrib/linux/tests/BUILD @@ -1 +1,3 @@ -python_tests() +python_tests( + skip_pylint=True, +) diff --git a/contrib/packs/tests/BUILD b/contrib/packs/tests/BUILD index 3a89bff937..527afdac71 100644 --- a/contrib/packs/tests/BUILD +++ b/contrib/packs/tests/BUILD @@ -1,4 +1,5 @@ python_tests( + skip_pylint=True, overrides={ "test_action_download.py": { "dependencies": [ diff --git a/contrib/runners/action_chain_runner/tests/BUILD b/contrib/runners/action_chain_runner/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/contrib/runners/action_chain_runner/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/contrib/runners/announcement_runner/tests/BUILD b/contrib/runners/announcement_runner/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/contrib/runners/announcement_runner/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/contrib/runners/http_runner/tests/BUILD b/contrib/runners/http_runner/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/contrib/runners/http_runner/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/contrib/runners/inquirer_runner/tests/BUILD b/contrib/runners/inquirer_runner/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/contrib/runners/inquirer_runner/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/contrib/runners/local_runner/tests/BUILD b/contrib/runners/local_runner/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/contrib/runners/local_runner/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/contrib/runners/noop_runner/tests/BUILD b/contrib/runners/noop_runner/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/contrib/runners/noop_runner/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/contrib/runners/orquesta_runner/tests/BUILD b/contrib/runners/orquesta_runner/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/contrib/runners/orquesta_runner/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/contrib/runners/python_runner/tests/BUILD b/contrib/runners/python_runner/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/contrib/runners/python_runner/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/contrib/runners/remote_runner/tests/BUILD b/contrib/runners/remote_runner/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/contrib/runners/remote_runner/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/contrib/runners/winrm_runner/tests/BUILD b/contrib/runners/winrm_runner/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/contrib/runners/winrm_runner/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/lockfiles/pylint.lock b/lockfiles/pylint.lock new file mode 100644 index 0000000000..7939e53bc4 --- /dev/null +++ b/lockfiles/pylint.lock @@ -0,0 +1,385 @@ +// This lockfile was autogenerated by Pants. To regenerate, run: +// +// ./pants generate-lockfiles --resolve=pylint +// +// --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- +// { +// "version": 3, +// "valid_for_interpreter_constraints": [ +// "CPython<3.9,>=3.6" +// ], +// "generated_with_requirements": [ +// "astroid", +// "pylint~=2.8.2", +// "setuptools" +// ], +// "manylinux": "manylinux2014", +// "requirement_constraints": [], +// "only_binary": [], +// "no_binary": [] +// } +// --- END PANTS LOCKFILE METADATA --- + +{ + "allow_builds": true, + "allow_prereleases": false, + "allow_wheels": true, + "build_isolation": true, + "constraints": [], + "locked_resolves": [ + { + "locked_requirements": [ + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4db03ab5fc3340cf619dbc25e42c2cc3755154ce6009469766d7143d1fc2ee4e", + "url": "https://files.pythonhosted.org/packages/f8/82/a61df6c2d68f3ae3ad1afa0d2e5ba5cfb7386eb80cffb453def7c5757271/astroid-2.5.6-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8a398dfce302c13f14bab13e2b14fe385d32b73f4e4853b9bdfb64598baa1975", + "url": "https://files.pythonhosted.org/packages/bc/72/51d6389690b30adf1ad69993923f81b71b2110b16e02fd0afd378e30c43c/astroid-2.5.6.tar.gz" + } + ], + "project_name": "astroid", + "requires_dists": [ + "lazy-object-proxy>=1.4.0", + "typed-ast<1.5,>=1.4.0; implementation_name == \"cpython\" and python_version < \"3.8\"", + "wrapt<1.13,>=1.11" + ], + "requires_python": "~=3.6", + "version": "2.5.6" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "2bb1680aad211e3c9944dbce1d4ba09a989f04e238296c87fe2139faa26d655d", + "url": "https://files.pythonhosted.org/packages/d9/47/0ec3ec948b7b3a0ba44e62adede4dca8b5985ba6aaee59998bed0916bd17/isort-5.8.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0a943902919f65c5684ac4e0154b1ad4fac6dcaa5d9f3426b732f1c8b5419be6", + "url": "https://files.pythonhosted.org/packages/31/8a/6f5449a7be67e4655069490f05fa3e190f5f5864e6ddee140f60fe5526dd/isort-5.8.0.tar.gz" + } + ], + "project_name": "isort", + "requires_dists": [ + "colorama<0.5.0,>=0.4.3; extra == \"colors\"", + "pip-api; extra == \"requirements_deprecated_finder\"", + "pipreqs; extra == \"pipfile_deprecated_finder\" or extra == \"requirements_deprecated_finder\"", + "requirementslib; extra == \"pipfile_deprecated_finder\"" + ], + "requires_python": "<4.0,>=3.6", + "version": "5.8" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "d66906d5785da8e0be7360912e99c9188b70f52c422f9fc18223347235691a84", + "url": "https://files.pythonhosted.org/packages/41/8a/57d41c53cabc5e4aa8858514b8a8332f5512f7db5365acef6040114daa22/lazy_object_proxy-1.7.1-pp37.pp38-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b9e89b87c707dd769c4ea91f7a31538888aad05c116a59820f28d59b3ebfe25a", + "url": "https://files.pythonhosted.org/packages/1a/66/0a1ab970f0e925fbf56296e7464367c4650f3c1ec53fe85af489285c1325/lazy_object_proxy-1.7.1-cp38-cp38-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "553b0f0d8dbf21890dd66edd771f9b1b5f51bd912fa5f26de4449bfc5af5e029", + "url": "https://files.pythonhosted.org/packages/1d/45/f5304f3b32c3333af45f880b814cd9b310a03d3c2a5b36b2826b27d15b71/lazy_object_proxy-1.7.1-cp37-cp37m-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "91ba172fc5b03978764d1df5144b4ba4ab13290d7bab7a50f12d8117f8630c38", + "url": "https://files.pythonhosted.org/packages/45/9f/405023669e74d96d3c221832fdea58fdd4a6faaef569146c34bf4072813e/lazy_object_proxy-1.7.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "c19814163728941bb871240d45c4c30d33b8a2e85972c44d4e63dd7107faba44", + "url": "https://files.pythonhosted.org/packages/46/f1/0e4ccc88be5f58dbf1d6981d68f4e3abf3e3c1e7b44c0b35e4b53d014c0c/lazy_object_proxy-1.7.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4dca6244e4121c74cc20542c2ca39e5c4a5027c81d112bfb893cf0790f96f57e", + "url": "https://files.pythonhosted.org/packages/4c/b2/8e7fa4469a33daf487db8c718e1e13d99ad3c590da133abd5f835ebb8b9f/lazy_object_proxy-1.7.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "07fa44286cda977bd4803b656ffc1c9b7e3bc7dff7d34263446aec8f8c96f88a", + "url": "https://files.pythonhosted.org/packages/5c/96/2c984706be60a1671177f57ba9f6b17a11b4cbf1b6704f3839ad6addc284/lazy_object_proxy-1.7.1-cp38-cp38-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d609c75b986def706743cdebe5e47553f4a5a1da9c5ff66d76013ef396b5a8a4", + "url": "https://files.pythonhosted.org/packages/75/93/3fc1cc28f71dd10b87a53b9d809602d7730e84cc4705a062def286232a9c/lazy-object-proxy-1.7.1.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "c4ce15276a1a14549d7e81c243b887293904ad2d94ad767f42df91e75fd7b5b6", + "url": "https://files.pythonhosted.org/packages/7e/57/6dd110b383018165baf51f50020dba4667ede29542d089869a603f021357/lazy_object_proxy-1.7.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "e368b7f7eac182a59ff1f81d5f3802161932a41dc1b1cc45c1f757dc876b5d2c", + "url": "https://files.pythonhosted.org/packages/a9/97/9905761dd3a34446560e8dfe1a4d8bb61796fd9d330eae833b5b8b1de220/lazy_object_proxy-1.7.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "46ff647e76f106bb444b4533bb4153c7370cdf52efc62ccfc1a28bdb3cc95442", + "url": "https://files.pythonhosted.org/packages/ae/e2/ff13e38604d080904529c11ad63b580de9102b0966b3c623131e38fe31c2/lazy_object_proxy-1.7.1-cp36-cp36m-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6ecbb350991d6434e1388bee761ece3260e5228952b1f0c46ffc800eb313ff42", + "url": "https://files.pythonhosted.org/packages/c1/d5/509b11c6679c30f3ddbf91cb3c119defbc0c6806b33a79ed0e00c3816c1f/lazy_object_proxy-1.7.1-cp37-cp37m-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "e40f2013d96d30217a51eeb1db28c9ac41e9d0ee915ef9d00da639c5b63f01a1", + "url": "https://files.pythonhosted.org/packages/c9/36/9d4f26194fe02aa931f0f1aa4c79429b097e79197c85f06d690f5a2606b4/lazy_object_proxy-1.7.1-cp36-cp36m-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "12f3bb77efe1367b2515f8cb4790a11cffae889148ad33adad07b9b55e0ab22c", + "url": "https://files.pythonhosted.org/packages/df/cb/c131e3c9867bc08b89938b807fd95d80806fa5eea185a98de1296196a6a5/lazy_object_proxy-1.7.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "6a6e94c7b02641d1311228a102607ecd576f70734dc3d5e22610111aeacba8a0", + "url": "https://files.pythonhosted.org/packages/eb/37/7c8366d4cf80e1da5664d1e593bbf1ec7b2730c72a4d4cac4ec2d1e292c2/lazy_object_proxy-1.7.1-cp37-cp37m-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "2052837718516a94940867e16b1bb10edb069ab475c3ad84fd1e1a6dd2c0fcfc", + "url": "https://files.pythonhosted.org/packages/f7/fe/4af4cd1dfde2d9109060376ce0ba322c76f6cd5536859a3f4e0d34b2ac2b/lazy_object_proxy-1.7.1-cp36-cp36m-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "043651b6cb706eee4f91854da4a089816a6606c1428fd391573ef8cb642ae4f7", + "url": "https://files.pythonhosted.org/packages/f9/65/3682bca4b766f5b96f1cf86a35f593b738d78a98bc2c44efb9abf6b0cf16/lazy_object_proxy-1.7.1-cp38-cp38-musllinux_1_1_aarch64.whl" + } + ], + "project_name": "lazy-object-proxy", + "requires_dists": [], + "requires_python": ">=3.6", + "version": "1.7.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", + "url": "https://files.pythonhosted.org/packages/87/89/479dc97e18549e21354893e4ee4ef36db1d237534982482c3681ee6e7b57/mccabe-0.6.1-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f", + "url": "https://files.pythonhosted.org/packages/06/18/fa675aa501e11d6d6ca0ae73a101b2f3571a565e0f7d38e062eec18a91ee/mccabe-0.6.1.tar.gz" + } + ], + "project_name": "mccabe", + "requires_dists": [], + "requires_python": null, + "version": "0.6.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "792b38ff30903884e4a9eab814ee3523731abd3c463f3ba48d7b627e87013484", + "url": "https://files.pythonhosted.org/packages/b2/97/a584ca733493cba7baca670800e615ced77c7b22e663e2eed6f68c931b87/pylint-2.8.3-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0a049c5d47b629d9070c3932d13bff482b12119b6a241a93bc460b0be16953c8", + "url": "https://files.pythonhosted.org/packages/18/a7/2bf9363ec428818abd27a64ec44c84b13bf1c10df01c402f08391aa1d07c/pylint-2.8.3.tar.gz" + } + ], + "project_name": "pylint", + "requires_dists": [ + "astroid==2.5.6", + "colorama; sys_platform == \"win32\"", + "isort<6,>=4.2.5", + "mccabe<0.7,>=0.6", + "toml>=0.7.1" + ], + "requires_python": "~=3.6", + "version": "2.8.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4ce92f1e1f8f01233ee9952c04f6b81d1e02939d6e1b488428154974a4d0783e", + "url": "https://files.pythonhosted.org/packages/b0/3a/88b210db68e56854d0bcf4b38e165e03be377e13907746f825790f3df5bf/setuptools-59.6.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "22c7348c6d2976a52632c67f7ab0cdf40147db7789f9aed18734643fe9cf3373", + "url": "https://files.pythonhosted.org/packages/6a/fa/5ec0fa9095c9b72cb1c31a8175c4c6745bf5927d1045d7a70df35d54944f/setuptools-59.6.0.tar.gz" + } + ], + "project_name": "setuptools", + "requires_dists": [ + "flake8-2020; extra == \"testing\"", + "furo; extra == \"docs\"", + "jaraco.envs>=2.2; extra == \"testing\"", + "jaraco.packaging>=8.2; extra == \"docs\"", + "jaraco.path>=3.2.0; extra == \"testing\"", + "jaraco.tidelift>=1.4; extra == \"docs\"", + "mock; extra == \"testing\"", + "paver; extra == \"testing\"", + "pip>=19.1; extra == \"testing\"", + "pygments-github-lexers==0.0.5; extra == \"docs\"", + "pytest-black>=0.3.7; platform_python_implementation != \"PyPy\" and extra == \"testing\"", + "pytest-checkdocs>=2.4; extra == \"testing\"", + "pytest-cov; extra == \"testing\"", + "pytest-enabler>=1.0.1; extra == \"testing\"", + "pytest-flake8; extra == \"testing\"", + "pytest-mypy; platform_python_implementation != \"PyPy\" and extra == \"testing\"", + "pytest-virtualenv>=1.2.7; extra == \"testing\"", + "pytest-xdist; extra == \"testing\"", + "pytest>=6; extra == \"testing\"", + "rst.linker>=1.9; extra == \"docs\"", + "sphinx-inline-tabs; extra == \"docs\"", + "sphinx; extra == \"docs\"", + "sphinx; extra == \"testing\"", + "sphinxcontrib-towncrier; extra == \"docs\"", + "virtualenv>=13.0.0; extra == \"testing\"", + "wheel; extra == \"testing\"" + ], + "requires_python": ">=3.6", + "version": "59.6" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", + "url": "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f", + "url": "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz" + } + ], + "project_name": "toml", + "requires_dists": [], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.6", + "version": "0.10.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "af3d4a73793725138d6b334d9d247ce7e5f084d96284ed23f22ee626a7b88e39", + "url": "https://files.pythonhosted.org/packages/13/25/bde133fcd73e4c74e9a8de8410fe867aaca843838b83cc22304eec960fbc/typed_ast-1.4.3-cp38-cp38-manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "0fb71b8c643187d7492c1f8352f2c15b4c4af3f6338f21681d3681b3dc31a266", + "url": "https://files.pythonhosted.org/packages/01/08/0d92feed38a4cafe45bcbd42a2507c1900e9ec1e2e9b5e5a472f8ebfa9bb/typed_ast-1.4.3-cp37-cp37m-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "7538e495704e2ccda9b234b82423a4038f324f3a10c43bc088a1636180f11a41", + "url": "https://files.pythonhosted.org/packages/0d/14/d54fd856673e3a5cb230e481bcdea04976c28b691a65029a7d45aef80575/typed_ast-1.4.3-cp38-cp38-manylinux1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5feca99c17af94057417d744607b82dd0a664fd5e4ca98061480fd8b14b18d04", + "url": "https://files.pythonhosted.org/packages/65/b3/573d2f1fecbbe8f82a8d08172e938c247f99abe1be3bef3da2efaa3810bf/typed_ast-1.4.3-cp37-cp37m-manylinux1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65", + "url": "https://files.pythonhosted.org/packages/6e/08/c04a49ee26a94c1ec211e7b1e5f2971d692e04818ea67ef70f1e879cf525/typed_ast-1.4.3.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "01ae5f73431d21eead5015997ab41afa53aa1fbe252f9da060be5dad2c730ace", + "url": "https://files.pythonhosted.org/packages/7e/4b/d7377c5d25b5c3b2682dada2eee1086b23842f3eb76e41063436aa4e302f/typed_ast-1.4.3-cp36-cp36m-manylinux1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f8afcf15cc511ada719a88e013cec87c11aff7b91f019295eb4530f96fe5ef2f", + "url": "https://files.pythonhosted.org/packages/86/aa/29546548ed3affef704d9aabb95d7032bae8814bbf0e2323e48d353ed234/typed_ast-1.4.3-cp36-cp36m-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "760ad187b1041a154f0e4d0f6aae3e40fdb51d6de16e5c99aedadd9246450e9e", + "url": "https://files.pythonhosted.org/packages/b4/5f/867b97f5e564c47d1755024d02ead9ea7569067aaf004f9042df1401482e/typed_ast-1.4.3-cp37-cp37m-manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "067a74454df670dcaa4e59349a2e5c81e567d8d65458d480a5b3dfecec08c5ff", + "url": "https://files.pythonhosted.org/packages/b8/98/9f31fcc91c54b9ae80f5fa48352b6a22ed04b399037d87d0ecbca5b67d21/typed_ast-1.4.3-cp38-cp38-manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "95431a26309a21874005845c21118c83991c63ea800dd44843e42a916aec5899", + "url": "https://files.pythonhosted.org/packages/d0/cb/d70a8dd2dba6e7a2195719e1df559b6a7ec18983a3caf0ee5357d6d7a241/typed_ast-1.4.3-cp37-cp37m-manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "b36b4f3920103a25e1d5d024d155c504080959582b928e91cb608a65c3a49e1a", + "url": "https://files.pythonhosted.org/packages/e3/67/f42a09ead3b174437d85157dcac92e22c204380968469de356eb64d8347e/typed_ast-1.4.3-cp38-cp38-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "52b1eb8c83f178ab787f3a4283f68258525f8d70f778a2f6dd54d3b5e5fb4341", + "url": "https://files.pythonhosted.org/packages/e7/2e/c0310582bdf7aae906f866be273d1dbc90c5a8ff2e81e1b6c55af9831b1d/typed_ast-1.4.3-cp36-cp36m-manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "c190f0899e9f9f8b6b7863debfb739abcb21a5c054f911ca3596d12b8a4c4c7f", + "url": "https://files.pythonhosted.org/packages/f0/c7/4d9083f76c62fa9569a4efe7f89283ae56fd157f10c1961aeb06e8ab8064/typed_ast-1.4.3-cp36-cp36m-manylinux2014_aarch64.whl" + } + ], + "project_name": "typed-ast", + "requires_dists": [], + "requires_python": null, + "version": "1.4.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7", + "url": "https://files.pythonhosted.org/packages/82/f7/e43cefbe88c5fd371f4cf0cf5eb3feccd07515af9fd6cf7dbf1d1793a797/wrapt-1.12.1.tar.gz" + } + ], + "project_name": "wrapt", + "requires_dists": [], + "requires_python": null, + "version": "1.12.1" + } + ], + "platform_tag": null + } + ], + "path_mappings": {}, + "pex_version": "2.1.108", + "pip_version": "20.3.4-patched", + "prefer_older_binary": false, + "requirements": [ + "astroid", + "pylint~=2.8.2", + "setuptools" + ], + "requires_python": [ + "<3.9,>=3.6" + ], + "resolver_version": "pip-2020-resolver", + "style": "universal", + "target_systems": [ + "linux", + "mac" + ], + "transitive": true, + "use_pep517": null +} diff --git a/lockfiles/pylint_plugins.lock b/lockfiles/pylint_plugins.lock new file mode 100644 index 0000000000..69804f4dac --- /dev/null +++ b/lockfiles/pylint_plugins.lock @@ -0,0 +1,385 @@ +// This lockfile was autogenerated by Pants. To regenerate, run: +// +// ./pants generate-lockfiles --resolve=pylint_plugins +// +// --- BEGIN PANTS LOCKFILE METADATA: DO NOT EDIT OR REMOVE --- +// { +// "version": 3, +// "valid_for_interpreter_constraints": [ +// "CPython<3.9,>=3.6" +// ], +// "generated_with_requirements": [ +// "astroid", +// "pylint~=2.8.2", +// "setuptools" +// ], +// "manylinux": "manylinux2014", +// "requirement_constraints": [], +// "only_binary": [], +// "no_binary": [] +// } +// --- END PANTS LOCKFILE METADATA --- + +{ + "allow_builds": true, + "allow_prereleases": false, + "allow_wheels": true, + "build_isolation": true, + "constraints": [], + "locked_resolves": [ + { + "locked_requirements": [ + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4db03ab5fc3340cf619dbc25e42c2cc3755154ce6009469766d7143d1fc2ee4e", + "url": "https://files.pythonhosted.org/packages/f8/82/a61df6c2d68f3ae3ad1afa0d2e5ba5cfb7386eb80cffb453def7c5757271/astroid-2.5.6-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "8a398dfce302c13f14bab13e2b14fe385d32b73f4e4853b9bdfb64598baa1975", + "url": "https://files.pythonhosted.org/packages/bc/72/51d6389690b30adf1ad69993923f81b71b2110b16e02fd0afd378e30c43c/astroid-2.5.6.tar.gz" + } + ], + "project_name": "astroid", + "requires_dists": [ + "lazy-object-proxy>=1.4.0", + "typed-ast<1.5,>=1.4.0; implementation_name == \"cpython\" and python_version < \"3.8\"", + "wrapt<1.13,>=1.11" + ], + "requires_python": "~=3.6", + "version": "2.5.6" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "2bb1680aad211e3c9944dbce1d4ba09a989f04e238296c87fe2139faa26d655d", + "url": "https://files.pythonhosted.org/packages/d9/47/0ec3ec948b7b3a0ba44e62adede4dca8b5985ba6aaee59998bed0916bd17/isort-5.8.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0a943902919f65c5684ac4e0154b1ad4fac6dcaa5d9f3426b732f1c8b5419be6", + "url": "https://files.pythonhosted.org/packages/31/8a/6f5449a7be67e4655069490f05fa3e190f5f5864e6ddee140f60fe5526dd/isort-5.8.0.tar.gz" + } + ], + "project_name": "isort", + "requires_dists": [ + "colorama<0.5.0,>=0.4.3; extra == \"colors\"", + "pip-api; extra == \"requirements_deprecated_finder\"", + "pipreqs; extra == \"pipfile_deprecated_finder\" or extra == \"requirements_deprecated_finder\"", + "requirementslib; extra == \"pipfile_deprecated_finder\"" + ], + "requires_python": "<4.0,>=3.6", + "version": "5.8" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "d66906d5785da8e0be7360912e99c9188b70f52c422f9fc18223347235691a84", + "url": "https://files.pythonhosted.org/packages/41/8a/57d41c53cabc5e4aa8858514b8a8332f5512f7db5365acef6040114daa22/lazy_object_proxy-1.7.1-pp37.pp38-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b9e89b87c707dd769c4ea91f7a31538888aad05c116a59820f28d59b3ebfe25a", + "url": "https://files.pythonhosted.org/packages/1a/66/0a1ab970f0e925fbf56296e7464367c4650f3c1ec53fe85af489285c1325/lazy_object_proxy-1.7.1-cp38-cp38-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "553b0f0d8dbf21890dd66edd771f9b1b5f51bd912fa5f26de4449bfc5af5e029", + "url": "https://files.pythonhosted.org/packages/1d/45/f5304f3b32c3333af45f880b814cd9b310a03d3c2a5b36b2826b27d15b71/lazy_object_proxy-1.7.1-cp37-cp37m-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "91ba172fc5b03978764d1df5144b4ba4ab13290d7bab7a50f12d8117f8630c38", + "url": "https://files.pythonhosted.org/packages/45/9f/405023669e74d96d3c221832fdea58fdd4a6faaef569146c34bf4072813e/lazy_object_proxy-1.7.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "c19814163728941bb871240d45c4c30d33b8a2e85972c44d4e63dd7107faba44", + "url": "https://files.pythonhosted.org/packages/46/f1/0e4ccc88be5f58dbf1d6981d68f4e3abf3e3c1e7b44c0b35e4b53d014c0c/lazy_object_proxy-1.7.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "4dca6244e4121c74cc20542c2ca39e5c4a5027c81d112bfb893cf0790f96f57e", + "url": "https://files.pythonhosted.org/packages/4c/b2/8e7fa4469a33daf487db8c718e1e13d99ad3c590da133abd5f835ebb8b9f/lazy_object_proxy-1.7.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "07fa44286cda977bd4803b656ffc1c9b7e3bc7dff7d34263446aec8f8c96f88a", + "url": "https://files.pythonhosted.org/packages/5c/96/2c984706be60a1671177f57ba9f6b17a11b4cbf1b6704f3839ad6addc284/lazy_object_proxy-1.7.1-cp38-cp38-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "d609c75b986def706743cdebe5e47553f4a5a1da9c5ff66d76013ef396b5a8a4", + "url": "https://files.pythonhosted.org/packages/75/93/3fc1cc28f71dd10b87a53b9d809602d7730e84cc4705a062def286232a9c/lazy-object-proxy-1.7.1.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "c4ce15276a1a14549d7e81c243b887293904ad2d94ad767f42df91e75fd7b5b6", + "url": "https://files.pythonhosted.org/packages/7e/57/6dd110b383018165baf51f50020dba4667ede29542d089869a603f021357/lazy_object_proxy-1.7.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "e368b7f7eac182a59ff1f81d5f3802161932a41dc1b1cc45c1f757dc876b5d2c", + "url": "https://files.pythonhosted.org/packages/a9/97/9905761dd3a34446560e8dfe1a4d8bb61796fd9d330eae833b5b8b1de220/lazy_object_proxy-1.7.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "46ff647e76f106bb444b4533bb4153c7370cdf52efc62ccfc1a28bdb3cc95442", + "url": "https://files.pythonhosted.org/packages/ae/e2/ff13e38604d080904529c11ad63b580de9102b0966b3c623131e38fe31c2/lazy_object_proxy-1.7.1-cp36-cp36m-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "6ecbb350991d6434e1388bee761ece3260e5228952b1f0c46ffc800eb313ff42", + "url": "https://files.pythonhosted.org/packages/c1/d5/509b11c6679c30f3ddbf91cb3c119defbc0c6806b33a79ed0e00c3816c1f/lazy_object_proxy-1.7.1-cp37-cp37m-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "e40f2013d96d30217a51eeb1db28c9ac41e9d0ee915ef9d00da639c5b63f01a1", + "url": "https://files.pythonhosted.org/packages/c9/36/9d4f26194fe02aa931f0f1aa4c79429b097e79197c85f06d690f5a2606b4/lazy_object_proxy-1.7.1-cp36-cp36m-musllinux_1_1_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "12f3bb77efe1367b2515f8cb4790a11cffae889148ad33adad07b9b55e0ab22c", + "url": "https://files.pythonhosted.org/packages/df/cb/c131e3c9867bc08b89938b807fd95d80806fa5eea185a98de1296196a6a5/lazy_object_proxy-1.7.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "6a6e94c7b02641d1311228a102607ecd576f70734dc3d5e22610111aeacba8a0", + "url": "https://files.pythonhosted.org/packages/eb/37/7c8366d4cf80e1da5664d1e593bbf1ec7b2730c72a4d4cac4ec2d1e292c2/lazy_object_proxy-1.7.1-cp37-cp37m-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "2052837718516a94940867e16b1bb10edb069ab475c3ad84fd1e1a6dd2c0fcfc", + "url": "https://files.pythonhosted.org/packages/f7/fe/4af4cd1dfde2d9109060376ce0ba322c76f6cd5536859a3f4e0d34b2ac2b/lazy_object_proxy-1.7.1-cp36-cp36m-musllinux_1_1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "043651b6cb706eee4f91854da4a089816a6606c1428fd391573ef8cb642ae4f7", + "url": "https://files.pythonhosted.org/packages/f9/65/3682bca4b766f5b96f1cf86a35f593b738d78a98bc2c44efb9abf6b0cf16/lazy_object_proxy-1.7.1-cp38-cp38-musllinux_1_1_aarch64.whl" + } + ], + "project_name": "lazy-object-proxy", + "requires_dists": [], + "requires_python": ">=3.6", + "version": "1.7.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", + "url": "https://files.pythonhosted.org/packages/87/89/479dc97e18549e21354893e4ee4ef36db1d237534982482c3681ee6e7b57/mccabe-0.6.1-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f", + "url": "https://files.pythonhosted.org/packages/06/18/fa675aa501e11d6d6ca0ae73a101b2f3571a565e0f7d38e062eec18a91ee/mccabe-0.6.1.tar.gz" + } + ], + "project_name": "mccabe", + "requires_dists": [], + "requires_python": null, + "version": "0.6.1" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "792b38ff30903884e4a9eab814ee3523731abd3c463f3ba48d7b627e87013484", + "url": "https://files.pythonhosted.org/packages/b2/97/a584ca733493cba7baca670800e615ced77c7b22e663e2eed6f68c931b87/pylint-2.8.3-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "0a049c5d47b629d9070c3932d13bff482b12119b6a241a93bc460b0be16953c8", + "url": "https://files.pythonhosted.org/packages/18/a7/2bf9363ec428818abd27a64ec44c84b13bf1c10df01c402f08391aa1d07c/pylint-2.8.3.tar.gz" + } + ], + "project_name": "pylint", + "requires_dists": [ + "astroid==2.5.6", + "colorama; sys_platform == \"win32\"", + "isort<6,>=4.2.5", + "mccabe<0.7,>=0.6", + "toml>=0.7.1" + ], + "requires_python": "~=3.6", + "version": "2.8.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "4ce92f1e1f8f01233ee9952c04f6b81d1e02939d6e1b488428154974a4d0783e", + "url": "https://files.pythonhosted.org/packages/b0/3a/88b210db68e56854d0bcf4b38e165e03be377e13907746f825790f3df5bf/setuptools-59.6.0-py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "22c7348c6d2976a52632c67f7ab0cdf40147db7789f9aed18734643fe9cf3373", + "url": "https://files.pythonhosted.org/packages/6a/fa/5ec0fa9095c9b72cb1c31a8175c4c6745bf5927d1045d7a70df35d54944f/setuptools-59.6.0.tar.gz" + } + ], + "project_name": "setuptools", + "requires_dists": [ + "flake8-2020; extra == \"testing\"", + "furo; extra == \"docs\"", + "jaraco.envs>=2.2; extra == \"testing\"", + "jaraco.packaging>=8.2; extra == \"docs\"", + "jaraco.path>=3.2.0; extra == \"testing\"", + "jaraco.tidelift>=1.4; extra == \"docs\"", + "mock; extra == \"testing\"", + "paver; extra == \"testing\"", + "pip>=19.1; extra == \"testing\"", + "pygments-github-lexers==0.0.5; extra == \"docs\"", + "pytest-black>=0.3.7; platform_python_implementation != \"PyPy\" and extra == \"testing\"", + "pytest-checkdocs>=2.4; extra == \"testing\"", + "pytest-cov; extra == \"testing\"", + "pytest-enabler>=1.0.1; extra == \"testing\"", + "pytest-flake8; extra == \"testing\"", + "pytest-mypy; platform_python_implementation != \"PyPy\" and extra == \"testing\"", + "pytest-virtualenv>=1.2.7; extra == \"testing\"", + "pytest-xdist; extra == \"testing\"", + "pytest>=6; extra == \"testing\"", + "rst.linker>=1.9; extra == \"docs\"", + "sphinx-inline-tabs; extra == \"docs\"", + "sphinx; extra == \"docs\"", + "sphinx; extra == \"testing\"", + "sphinxcontrib-towncrier; extra == \"docs\"", + "virtualenv>=13.0.0; extra == \"testing\"", + "wheel; extra == \"testing\"" + ], + "requires_python": ">=3.6", + "version": "59.6" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", + "url": "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl" + }, + { + "algorithm": "sha256", + "hash": "b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f", + "url": "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz" + } + ], + "project_name": "toml", + "requires_dists": [], + "requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,>=2.6", + "version": "0.10.2" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "af3d4a73793725138d6b334d9d247ce7e5f084d96284ed23f22ee626a7b88e39", + "url": "https://files.pythonhosted.org/packages/13/25/bde133fcd73e4c74e9a8de8410fe867aaca843838b83cc22304eec960fbc/typed_ast-1.4.3-cp38-cp38-manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "0fb71b8c643187d7492c1f8352f2c15b4c4af3f6338f21681d3681b3dc31a266", + "url": "https://files.pythonhosted.org/packages/01/08/0d92feed38a4cafe45bcbd42a2507c1900e9ec1e2e9b5e5a472f8ebfa9bb/typed_ast-1.4.3-cp37-cp37m-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "7538e495704e2ccda9b234b82423a4038f324f3a10c43bc088a1636180f11a41", + "url": "https://files.pythonhosted.org/packages/0d/14/d54fd856673e3a5cb230e481bcdea04976c28b691a65029a7d45aef80575/typed_ast-1.4.3-cp38-cp38-manylinux1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "5feca99c17af94057417d744607b82dd0a664fd5e4ca98061480fd8b14b18d04", + "url": "https://files.pythonhosted.org/packages/65/b3/573d2f1fecbbe8f82a8d08172e938c247f99abe1be3bef3da2efaa3810bf/typed_ast-1.4.3-cp37-cp37m-manylinux1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65", + "url": "https://files.pythonhosted.org/packages/6e/08/c04a49ee26a94c1ec211e7b1e5f2971d692e04818ea67ef70f1e879cf525/typed_ast-1.4.3.tar.gz" + }, + { + "algorithm": "sha256", + "hash": "01ae5f73431d21eead5015997ab41afa53aa1fbe252f9da060be5dad2c730ace", + "url": "https://files.pythonhosted.org/packages/7e/4b/d7377c5d25b5c3b2682dada2eee1086b23842f3eb76e41063436aa4e302f/typed_ast-1.4.3-cp36-cp36m-manylinux1_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "f8afcf15cc511ada719a88e013cec87c11aff7b91f019295eb4530f96fe5ef2f", + "url": "https://files.pythonhosted.org/packages/86/aa/29546548ed3affef704d9aabb95d7032bae8814bbf0e2323e48d353ed234/typed_ast-1.4.3-cp36-cp36m-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "760ad187b1041a154f0e4d0f6aae3e40fdb51d6de16e5c99aedadd9246450e9e", + "url": "https://files.pythonhosted.org/packages/b4/5f/867b97f5e564c47d1755024d02ead9ea7569067aaf004f9042df1401482e/typed_ast-1.4.3-cp37-cp37m-manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "067a74454df670dcaa4e59349a2e5c81e567d8d65458d480a5b3dfecec08c5ff", + "url": "https://files.pythonhosted.org/packages/b8/98/9f31fcc91c54b9ae80f5fa48352b6a22ed04b399037d87d0ecbca5b67d21/typed_ast-1.4.3-cp38-cp38-manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "95431a26309a21874005845c21118c83991c63ea800dd44843e42a916aec5899", + "url": "https://files.pythonhosted.org/packages/d0/cb/d70a8dd2dba6e7a2195719e1df559b6a7ec18983a3caf0ee5357d6d7a241/typed_ast-1.4.3-cp37-cp37m-manylinux2014_aarch64.whl" + }, + { + "algorithm": "sha256", + "hash": "b36b4f3920103a25e1d5d024d155c504080959582b928e91cb608a65c3a49e1a", + "url": "https://files.pythonhosted.org/packages/e3/67/f42a09ead3b174437d85157dcac92e22c204380968469de356eb64d8347e/typed_ast-1.4.3-cp38-cp38-macosx_10_9_x86_64.whl" + }, + { + "algorithm": "sha256", + "hash": "52b1eb8c83f178ab787f3a4283f68258525f8d70f778a2f6dd54d3b5e5fb4341", + "url": "https://files.pythonhosted.org/packages/e7/2e/c0310582bdf7aae906f866be273d1dbc90c5a8ff2e81e1b6c55af9831b1d/typed_ast-1.4.3-cp36-cp36m-manylinux1_i686.whl" + }, + { + "algorithm": "sha256", + "hash": "c190f0899e9f9f8b6b7863debfb739abcb21a5c054f911ca3596d12b8a4c4c7f", + "url": "https://files.pythonhosted.org/packages/f0/c7/4d9083f76c62fa9569a4efe7f89283ae56fd157f10c1961aeb06e8ab8064/typed_ast-1.4.3-cp36-cp36m-manylinux2014_aarch64.whl" + } + ], + "project_name": "typed-ast", + "requires_dists": [], + "requires_python": null, + "version": "1.4.3" + }, + { + "artifacts": [ + { + "algorithm": "sha256", + "hash": "b62ffa81fb85f4332a4f609cab4ac40709470da05643a082ec1eb88e6d9b97d7", + "url": "https://files.pythonhosted.org/packages/82/f7/e43cefbe88c5fd371f4cf0cf5eb3feccd07515af9fd6cf7dbf1d1793a797/wrapt-1.12.1.tar.gz" + } + ], + "project_name": "wrapt", + "requires_dists": [], + "requires_python": null, + "version": "1.12.1" + } + ], + "platform_tag": null + } + ], + "path_mappings": {}, + "pex_version": "2.1.108", + "pip_version": "20.3.4-patched", + "prefer_older_binary": false, + "requirements": [ + "astroid", + "pylint~=2.8.2", + "setuptools" + ], + "requires_python": [ + "<3.9,>=3.6" + ], + "resolver_version": "pip-2020-resolver", + "style": "universal", + "target_systems": [ + "linux", + "mac" + ], + "transitive": true, + "use_pep517": null +} diff --git a/pants.toml b/pants.toml index 2d73db77f0..c1a48911bf 100644 --- a/pants.toml +++ b/pants.toml @@ -16,6 +16,7 @@ backend_packages = [ "pants.backend.python.lint.bandit", "pants.backend.python.lint.black", "pants.backend.python.lint.flake8", + "pants.backend.python.lint.pylint", # shell "pants.backend.shell", @@ -102,6 +103,7 @@ interpreter_constraints = [ [python.resolves] st2 = "lockfiles/st2.lock" +pylint_plugins = "lockfiles/pylint_plugins.lock" # lockfiles/pylint.lock should have same contents pants-plugins = "lockfiles/pants-plugins.lock" [python.resolves_to_interpreter_constraints] @@ -159,6 +161,26 @@ extra_requirements = [ ] config = "lint-configs/python/.flake8" +[pylint] +lockfile = "lockfiles/pylint.lock" +version = "pylint~=2.8.2" +extra_requirements = [ + "setuptools", # includes pkg_resources +] +config = "lint-configs/python/.pylintrc" +source_plugins = [ + # the /pylint_plugins directory + "pylint_plugins", +] +args = [ + # match the current Makefile usage with -E (TODO: drop this) + "--errors-only", + # needed in st2* components, runners, packs + "--load-plugins=api_models", + # needed in st2* components, runners + "--load-plugins=db_models", +] + [pytest] lockfile = "lockfiles/pytest.lock" version = "pytest==7.0.1" # copied from https://www.pantsbuild.org/v2.14/docs/reference-pytest#version diff --git a/pylint_plugins/BUILD b/pylint_plugins/BUILD index 0eea8b1cf1..6654811cd7 100644 --- a/pylint_plugins/BUILD +++ b/pylint_plugins/BUILD @@ -1,5 +1,30 @@ +__defaults__( + all=dict( + resolve="pylint_plugins", + ) +) + python_sources() python_tests( name="tests", + dependencies=[ + "!//conftest.py:test_utils", + ], +) + +python_requirement( + name="pylint", + requirements=[ + # This must be the same as [pylint].version in pants.toml + "pylint~=2.8.2", + # other requirements in [pylint].extra_requirements in pants.toml + "setuptools", + ], +) + +python_requirement( + name="astroid", + # The version of astroid is constrained by the pylint version above + requirements=["astroid"], ) diff --git a/pylint_plugins/api_models_test.py b/pylint_plugins/api_models_test.py index 544fe84603..009fdd5414 100644 --- a/pylint_plugins/api_models_test.py +++ b/pylint_plugins/api_models_test.py @@ -22,7 +22,12 @@ # merely importing this registers it in astroid # so parse() will use our predicate and transform functions. -from . import api_models +try: + # TODO: remove this once we remove the Makefile + from . import api_models +except ImportError: + # pylint_plugins is on PYTHONPATH + import api_models def test_skiplist_class_gets_skipped(): diff --git a/st2actions/bin/BUILD b/st2actions/bin/BUILD index 0849f21f07..c81519023d 100644 --- a/st2actions/bin/BUILD +++ b/st2actions/bin/BUILD @@ -1,6 +1,8 @@ python_sources( sources=["st2*"], skip_flake8=True, + # skip until resolved: https://github.com/PyCQA/pylint/issues/2095 + skip_pylint=True, ) shell_sources( diff --git a/st2actions/tests/BUILD b/st2actions/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/st2actions/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/st2api/bin/BUILD b/st2api/bin/BUILD index 4b7a4f7f9e..c9e0ef8ab1 100644 --- a/st2api/bin/BUILD +++ b/st2api/bin/BUILD @@ -1,4 +1,6 @@ python_sources( sources=["st2*"], skip_flake8=True, + # skip until resolved: https://github.com/PyCQA/pylint/issues/2095 + skip_pylint=True, ) diff --git a/st2api/tests/BUILD b/st2api/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/st2api/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/st2auth/bin/BUILD b/st2auth/bin/BUILD index 4b7a4f7f9e..c9e0ef8ab1 100644 --- a/st2auth/bin/BUILD +++ b/st2auth/bin/BUILD @@ -1,4 +1,6 @@ python_sources( sources=["st2*"], skip_flake8=True, + # skip until resolved: https://github.com/PyCQA/pylint/issues/2095 + skip_pylint=True, ) diff --git a/st2auth/tests/BUILD b/st2auth/tests/BUILD index db46e8d6c9..abb3713743 100644 --- a/st2auth/tests/BUILD +++ b/st2auth/tests/BUILD @@ -1 +1,7 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) + python_sources() diff --git a/st2client/tests/BUILD b/st2client/tests/BUILD index db46e8d6c9..abb3713743 100644 --- a/st2client/tests/BUILD +++ b/st2client/tests/BUILD @@ -1 +1,7 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) + python_sources() diff --git a/st2common/benchmarks/micro/BUILD b/st2common/benchmarks/micro/BUILD index 0eea8b1cf1..828ec3ebba 100644 --- a/st2common/benchmarks/micro/BUILD +++ b/st2common/benchmarks/micro/BUILD @@ -1,5 +1,8 @@ -python_sources() +python_sources( + skip_pylint=True, +) python_tests( name="tests", + skip_pylint=True, ) diff --git a/st2common/bin/BUILD b/st2common/bin/BUILD index 84559dd837..05d1f908c1 100644 --- a/st2common/bin/BUILD +++ b/st2common/bin/BUILD @@ -1,6 +1,8 @@ python_sources( sources=["*.py", "st2*", "!st2ctl", "!st2-self-check", "!st2-run-pack-tests"], skip_flake8=True, + # skip until resolved: https://github.com/PyCQA/pylint/issues/2095 + skip_pylint=True, ) shell_sources( diff --git a/st2common/tests/BUILD b/st2common/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/st2common/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/st2reactor/bin/BUILD b/st2reactor/bin/BUILD index 4b7a4f7f9e..c9e0ef8ab1 100644 --- a/st2reactor/bin/BUILD +++ b/st2reactor/bin/BUILD @@ -1,4 +1,6 @@ python_sources( sources=["st2*"], skip_flake8=True, + # skip until resolved: https://github.com/PyCQA/pylint/issues/2095 + skip_pylint=True, ) diff --git a/st2reactor/tests/BUILD b/st2reactor/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/st2reactor/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/st2stream/bin/BUILD b/st2stream/bin/BUILD index 4b7a4f7f9e..c9e0ef8ab1 100644 --- a/st2stream/bin/BUILD +++ b/st2stream/bin/BUILD @@ -1,4 +1,6 @@ python_sources( sources=["st2*"], skip_flake8=True, + # skip until resolved: https://github.com/PyCQA/pylint/issues/2095 + skip_pylint=True, ) diff --git a/st2stream/tests/BUILD b/st2stream/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/st2stream/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +) diff --git a/st2tests/integration/BUILD b/st2tests/integration/BUILD index 119746b34b..3c3cd5dda1 100644 --- a/st2tests/integration/BUILD +++ b/st2tests/integration/BUILD @@ -1,3 +1,9 @@ +__defaults__( + all=dict( + skip_pylint=True, + ), +) + shell_sources( name="shell", skip_shellcheck=True, diff --git a/st2tests/st2tests/fixtures/packs/dummy_pack_9/actions/BUILD b/st2tests/st2tests/fixtures/packs/dummy_pack_9/actions/BUILD index db46e8d6c9..3a88e20ffd 100644 --- a/st2tests/st2tests/fixtures/packs/dummy_pack_9/actions/BUILD +++ b/st2tests/st2tests/fixtures/packs/dummy_pack_9/actions/BUILD @@ -1 +1,4 @@ -python_sources() +python_sources( + # intentionally invalid python + skip_pylint=True, +) diff --git a/st2tests/tests/BUILD b/st2tests/tests/BUILD new file mode 100644 index 0000000000..abea724e46 --- /dev/null +++ b/st2tests/tests/BUILD @@ -0,0 +1,5 @@ +__defaults__( + all=dict( + skip_pylint=True, + ) +)