Skip to main content

reactpy-flake8

A Flake8 plugin that enforces the "rules of hooks" for ReactPy.

The implementation is based on React's own ESLint plugin for hooks.

Install

pip install reactpy-flake8

Developer Installation

pip install -r requirements.txt
pip install -e .

Run the tests

nox -s test

Errors

Code Message
REACTPY100 Hook is defined as a closure
REACTPY101 Hook was used outside component or hook definition
REACTPY102 Hook was used inside a conditional or loop statement
REACTPY103 Hook was used after an early return
REACTPY200 A hook's dependency is not destructured - dependencies should be refered to directly, not via an attribute or key of an object
REACTPY201 Hook dependency args should be a literal list, tuple or None
REACTPY202 Hook dependency is not specified

Options

All options my be used as CLI flags where _ characters are replaced with -. For example, exhaustive_hook_deps would become --exhaustive-hook-deps.

Option Type Default Description
exhaustive_hook_deps Boolean False Enable REACTPY2** errors (recommended)
component_decorator_pattern Regex ^(component|[\w\.]+\.component)$ The pattern which should match the component decorators. Useful if you import the @component decorator under an alias.
hook_function_pattern Regex ^_*use_\w+$ The pattern which should match the name of hook functions. Best used if you have existing functions with use_* names that are not hooks.

Release files for reactpy-flake8 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for reactpy-flake8 0.7.0
File Interpreter ABI Platform
reactpy_flake8-0.7.0-py3-none-any.whl Python 3 none any Details

Release files / reactpy_flake8-0.7.0-py3-none-any.whl

Download URL reactpy_flake8-0.7.0-py3-none-any.whl
Size 9.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cddd7f768577f5c4d9758b930fc7ed06c2fb512a7b9c49c3613db9da8977121b
BLAKE2b-256 checksum
How to use checksums
09b8426598b4d7ed5b38aba93ef54d94816f5043647f94f1f340280b8b268c85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.3

Release history Release notifications | RSS feed

This release

0.7.0 This release

1 release file

0.6.5

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page