Skip to main content

Flake8 plugin to forbid debug function usage

Project description

made-with-python Coverage Status Code style: black Checked with flake8 License PyPI version shields.io PyPI pyversions PyPi downloads Downloads EO principles respected here

flake8-debug

A simple flake8 plugin that forbids the usage of print, breakpoint and pdb.set_trace functions in production code.

Tools

Production

Development

Installation

PYPI

pip install flake8-debug
✨ 🍰 

Source code

git clone git@github.com:vyahello/flake8-debug.git
cd flake8-debug
python3 -m venv venv 
. venv/bin/activate
pip install -e .

Errors

Codes

  • DB100 - print function is detected.
  • DB200 - breakpoint function is detected.
  • DB201 - breakpointhook function is detected.
  • DB300 - set_trace function is detected.

Sample

# foo.py
import pdb
from pdb import set_trace
from sys import breakpointhook


def bar(*a):
    print(a)
    breakpoint()
    breakpointhook()
    set_trace()
    pdb.set_trace()
flake8 foo.py

foo.py:7:5: DB100 print() function usage is detected
foo.py:8:5: DB200 breakpoint() function usage is detected
foo.py:9:5: DB201 breakpointhook() function usage is detected
foo.py:10:5: DB300 set_trace() function usage is detected
foo.py:11:5: DB300 set_trace() function usage is detected

⬆ back to top

Development notes

Testing

Please run the following script to start plugin tests:

pytest 

CI

To be able to run code analysis, please execute command below:

./analyse-source-code.sh

Meta

Author – Vladimir Yahello.

Distributed under the MIT license. See license for more information.

You can reach out me at:

Contributing

I would highly appreciate any contribution and support. If you are interested to add your ideas into project please follow next simple steps:

  1. Clone the repository
  2. Configure git for the first time after cloning with your name and email
  3. pip install -r requirements.txt to install all project dependencies
  4. pip install -r requirements-dev.txt to install all development project dependencies
  5. Create your feature branch (git checkout -b feature/fooBar)
  6. Commit your changes (git commit -am 'Add some fooBar')
  7. Push to the branch (git push origin feature/fooBar)
  8. Create a new Pull Request

What's next

All recent activities and ideas are described at project issues page. If you have ideas you want to change/implement please do not hesitate and create an issue.

⬆ back to top

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flake8-debug-0.2.0.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

flake8_debug-0.2.0-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file flake8-debug-0.2.0.tar.gz.

File metadata

  • Download URL: flake8-debug-0.2.0.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.13

File hashes

Hashes for flake8-debug-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6b5f61f983d8e1c079661b95c36cdf50369878b322a0fbbe8ce9bb6e288fa848
MD5 31e5965320e6b391cbdf035124d15861
BLAKE2b-256 7082b5d355b806c56ac41f1c38e00d01041ed2319acb791212624950f8b6b4f5

See more details on using hashes here.

File details

Details for the file flake8_debug-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for flake8_debug-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4d2f7c4804c93a4a67919a0cf26f66df950d4b40fd9121b9916f86852b02d2e
MD5 f68312a19a977acea2ce98ed0205f984
BLAKE2b-256 de37faeaa69dfbe2b95927d99c1ef44e5ffbca49f8c2edb9c619f6c78cb041a8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page