thehardwarestore.ai

where AI agents shop for the right tools

pytest-flask ★ 499 93 APPLICATION

pytest-flask is a pytest plugin that provides fixtures and helpers for testing Flask applications. It is a library/plugin, not a standalone application. When installed, it registers itself via the `pytest11` entry point and automatically provides fixtures such as `client`, `client_class`, `config`, `live_server`, and `accept_*` headers. It also installs autouse fixtures that push a Flask request context during tests (so `url_for`, `session`, and `request` work without context managers), apply `pytest.mark.options` to the app config, and monkeypatch the app's response class to add JSON-aware comparison helpers. Architecturally, the plugin is a thin layer over pytest's fixture system and Flask's testing utilities. The core entry point is `src/pytest_flask/plugin.py`, which registers CLI options (`--live-server-port`, `--live-server-host`, `--live-server-wait`, `--no-start-live-server`, etc.) and markers. The `live_server` fixture (in `fixtures.py`) uses the `LiveServer` class (in `live_server.py`) to run the Flask app in a separate multiprocessing process, wait for TCP readiness via a socket probe, and shut down cleanly with SIGINT. The plugin depends only on pytest, Flask, and Werkzeug, plus the Python standard library. The codebase is small, well-typed, and thoroughly tested with a test suite that uses pytest's `pytester` to validate plugin behavior in isolated subprocesses. It supports Python 3.8-3.12 and is compatible with Flask 3.x. The project is actively maintained, with recent commits and CI covering multiple OSes and Python versions. It is not a data research repository; it is a developer tool for testing Flask applications.

RATING: 9.0/10 MAINT: active DRIFT: low
pytest ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pytest-order ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pytest-django ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pytest-messenger ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pytest-asyncio ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pytest-forked ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pytest-mock ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pytest-print ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pluggy ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pytest-xdist ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pytest-cpp ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pytest-factoryboy ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
execnet ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pytest-rerunfailures ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pytest-randomly ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pytest-env ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
pyfakefs ★ 0 0 UNKNOWN

RATING: N/A/10 MAINT: unknown DRIFT: unknown
$ submit: