# flake8-executable
[![Pyversions](https://img.shields.io/pypi/pyversions/flake8-executable.svg?style=flat-square)](https://pypi.python.org/pypi/flake8-executable)
![PyPI](https://img.shields.io/pypi/v/flake8-executable.svg)
![PyPI - Downloads](https://img.shields.io/pypi/dm/flake8-executable)
[![Build Status](https://ci.appveyor.com/api/projects/status/h6mucl894w6dx7d0?svg=true)](https://ci.appveyor.com/project/xuhdev/flake8-executable)
Very often, developers mess up the executable permissions and shebangs of Python files. For example,
sometimes the executable permission was accidentally granted, sometimes it is forgotten.
This is a [Flake8][] plugin that ensures the executable permissions and shebangs of Python files are
correctly set. Specifically, it checks the following errors:
- EXE001: Shebang is present but the file is not executable.
- EXE002: The file is executable but no shebang is present.
- EXE003: Shebang is present but does not contain "python".
- EXE004: There is whitespace before shebang.
- EXE005: There are blank or comment lines before shebang.
## Installation
Run:
pip install flake8-executable
## Usage
Normally, after flake8-executable is installed, invoking flake8 will also run this plugin. For more
details, check out the [Flake8 plugin page][].
## Copyright and License
Copyright (c) 2019 Hong Xu <hong@topbug.net>
flake8-executable is free software: you can redistribute it and/or modify it under the terms of the
GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
flake8-executable is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with
flake8-executable. If not, see <https://www.gnu.org/licenses/>.
[Flake8]: https://flake8.pycqa.org/
[Flake8 plugin page]: https://flake8.pycqa.org/en/latest/user/using-plugins.html
Raw data
{
"_id": null,
"home_page": "https://github.com/xuhdev/flake8-executable",
"name": "flake8-executable",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "flake8 linter qa",
"author": "Hong Xu",
"author_email": "hong@topbug.net",
"download_url": "https://files.pythonhosted.org/packages/3b/41/f0687401d76d6031aa5fc447615e1a337308a9c5c586913f70c5a2abe832/flake8-executable-2.1.3.tar.gz",
"platform": null,
"description": "# flake8-executable\n\n[![Pyversions](https://img.shields.io/pypi/pyversions/flake8-executable.svg?style=flat-square)](https://pypi.python.org/pypi/flake8-executable)\n![PyPI](https://img.shields.io/pypi/v/flake8-executable.svg)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/flake8-executable)\n[![Build Status](https://ci.appveyor.com/api/projects/status/h6mucl894w6dx7d0?svg=true)](https://ci.appveyor.com/project/xuhdev/flake8-executable)\n\nVery often, developers mess up the executable permissions and shebangs of Python files. For example,\nsometimes the executable permission was accidentally granted, sometimes it is forgotten.\n\nThis is a [Flake8][] plugin that ensures the executable permissions and shebangs of Python files are\ncorrectly set. Specifically, it checks the following errors:\n\n- EXE001: Shebang is present but the file is not executable.\n- EXE002: The file is executable but no shebang is present.\n- EXE003: Shebang is present but does not contain \"python\".\n- EXE004: There is whitespace before shebang.\n- EXE005: There are blank or comment lines before shebang.\n\n## Installation\n\nRun:\n\n pip install flake8-executable\n\n## Usage\n\nNormally, after flake8-executable is installed, invoking flake8 will also run this plugin. For more\ndetails, check out the [Flake8 plugin page][].\n\n## Copyright and License\n\nCopyright (c) 2019 Hong Xu <hong@topbug.net>\n\nflake8-executable is free software: you can redistribute it and/or modify it under the terms of the\nGNU Lesser General Public License as published by the Free Software Foundation, either version 3 of\nthe License, or (at your option) any later version.\n\nflake8-executable is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\nwithout even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Lesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public License along with\nflake8-executable. If not, see <https://www.gnu.org/licenses/>.\n\n\n\n[Flake8]: https://flake8.pycqa.org/\n[Flake8 plugin page]: https://flake8.pycqa.org/en/latest/user/using-plugins.html\n",
"bugtrack_url": null,
"license": "LGPL v3+",
"summary": "A Flake8 plugin for checking executable permissions and shebangs.",
"version": "2.1.3",
"split_keywords": [
"flake8",
"linter",
"qa"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bcd7311104f82226a6b108f7f05c56cfb7fe773847a879f622d6450ab0a227b3",
"md5": "2c290b1ff5671132965e8f171bd39868",
"sha256": "f0a66c97c3b99ce63bc1f01ce602d6bd048e4fc5dc0d7a13be2bfa3deb023a34"
},
"downloads": -1,
"filename": "flake8_executable-2.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2c290b1ff5671132965e8f171bd39868",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 35302,
"upload_time": "2023-01-23T00:39:55",
"upload_time_iso_8601": "2023-01-23T00:39:55.485991Z",
"url": "https://files.pythonhosted.org/packages/bc/d7/311104f82226a6b108f7f05c56cfb7fe773847a879f622d6450ab0a227b3/flake8_executable-2.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3b41f0687401d76d6031aa5fc447615e1a337308a9c5c586913f70c5a2abe832",
"md5": "045f744bc561759622d8a8a030f5dc6b",
"sha256": "619fe023e00c3d8e5113521d7200e1ebb04587c12d157f9a2fb167feb8cae66b"
},
"downloads": -1,
"filename": "flake8-executable-2.1.3.tar.gz",
"has_sig": false,
"md5_digest": "045f744bc561759622d8a8a030f5dc6b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 23035,
"upload_time": "2023-01-23T00:39:57",
"upload_time_iso_8601": "2023-01-23T00:39:57.537098Z",
"url": "https://files.pythonhosted.org/packages/3b/41/f0687401d76d6031aa5fc447615e1a337308a9c5c586913f70c5a2abe832/flake8-executable-2.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-23 00:39:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "xuhdev",
"github_project": "flake8-executable",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"appveyor": true,
"tox": true,
"lcname": "flake8-executable"
}