Metadata-Version: 2.1
Name: flake8-boolean-trap
Version: 1.0.1
Summary: flake8 plugin which forbids boolean positional arguments
Home-page: https://pwoolvett.github.io/flake8_boolean_trap
License: Unlicense
Author: Pablo Woolvett
Author-email: github@devx.pw
Requires-Python: >=3.8,<4.0
Classifier: Environment :: Console
Classifier: Framework :: Flake8
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Dist: flake8
Project-URL: Repository, https://github.com/pwoolvett/flake8_boolean_trap
Description-Content-Type: text/markdown

# Flake8 Boolean Trap

A flake8 plugin to detect boolean traps.

docs available at [readthedocs](https://flake8-boolean-trap.readthedocs.io/en/latest/)

“The Boolean Trap” is a programming anti-pattern where a boolean argument switches behaviour, leading to confusion. 

To learn more about the impact it can have on your code and how to prevent it, you can refer to the following resources:
- [What is a boolean trap? (YouTube video)](https://www.youtube.com/watch?v=CnRkXO_a5mI)
- [Python Type Hints - How to Avoid “The Boolean Trap” (article)](https://adamj.eu/tech/2021/07/10/python-type-hints-how-to-avoid-the-boolean-trap/)


## Setup

### prerequisites

* python>=3.8


### install

```console
$ pip install flake8_boolean_trap
```

## Usage

Just run `flake8` as you normally would.

## Lint Codes

| Code.  | Description                                   |
| ------ | --------------------------------------------- |
| FBT001 | Boolean positional arg in function definition |
| FBT002 | Boolean default value in function definition  |
| FBT003 | Boolean positional value in function call     |

